لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پایتون 3: پایتون پروژه محور، الگوریتم ها، ساختارهای داده [ویدئو]
Python 3: Project-based Python, Algorithms, Data Structures [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره یکی از جامع ترین و مبتدی ترین دوره های آموزش کدنویسی با پایتون - یکی از برترین زبان های برنامه نویسی در جهان - و استفاده از آن برای ساخت الگوریتم ها و ساختارهای داده با پروژه ها از ابتدا است.
ما با استفاده از تجسم برنامهها در حین اجرا، الگوریتمها در حین اجرا و ساختارهای داده در حین ساخت، شما را گام به گام در دنیای جذاب برنامهنویسی پایتون راهنمایی میکنیم. هیچ چیز به تخیل سپرده نمی شود. شما همه آن را می بینید و سپس همه را می سازید.
از آنجایی که این دوره برای طیف گسترده ای از دانش آموزان ارائه می شود، دوره به دو بخش تقسیم می شود: بخش 1 با تمرکز بر زبان برنامه نویسی پایتون و بخش 2 با تمرکز بر الگوریتم ها، ساختارهای داده، تجزیه و تحلیل عملکرد و پروژه های در مقیاس بزرگتر.
بخش 1: پایتون و اصول برنامه نویسی
• متن - رشته ها
• اعداد - ints و شناور
•کنترل جریان اجرا - انشعاب با if/elif/else
• انواع داده های مرکب - لیست ها، لغت نامه ها، تاپل ها و مجموعه ها
• تکرارها و تکرار با ژنراتورها، حلقههای for و while، و موارد دیگر!
• توابع، زمینه اجرا و فریم ها، و ساخت توابع سفارشی
• درک لیست
• عبارات لامبدا
• ژنراتورها و ایجاد ژنراتورهای خود با بازده
• اشیاء و کلاس های ساختمان، متدها و متدهای خاص
• خواندن و نوشتن روی فایل ها با استفاده از مدیران زمینه
• تجسم با هر موضوع و بیشتر!
بخش 2: الگوریتم ها، ساختارهای داده، و تجزیه و تحلیل عملکرد
• الگوریتمهای مرتبسازی (پایه) - مرتبسازی حبابی، مرتبسازی انتخابی و مرتبسازی درج
• الگوریتم های مرتب سازی (پیشرفته) - ادغام مرتب سازی و مرتب سازی سریع
• نماد O بزرگ، تجزیه و تحلیل پیچیدگی، تقسیم و تسخیر، و تجسم ریاضی
• بازگشت در عمق با مثال
• الگوریتم های جستجو - جستجوی دوبخشی و هش کردن
• ساختارهای داده با لیست های مرتبط، پشته ها، صف ها، درختان، و درخت های جستجوی باینری
• عملیات با ساختارهای داده - درج، جستجو، به روز رسانی، و حذف
• پروژه های متعدد با افزایش سطوح پیچیدگی برای پیوند مفاهیم با هم
• تجسم تمام الگوریتم ها، ساختار داده ها، عملیات، و بیشتر!
همه کدها و فایل های پشتیبانی این دوره در دسترس هستند - https://github.com/PacktPublishing/Python-3-Project-based-Python-Algorithms-Data-Structures Python 3 را از ابتدا و عمیق یاد بگیرید.
آشنایی با اصول زبان های برنامه نویسی
یاد بگیرید که الگوریتم ها، ساختارهای داده، اجرای برنامه ها و جریان های اطلاعات را تجسم کنید
آموزش استفاده از پایتون برای ساخت پروژه ها این دوره برای مبتدیانی طراحی شده است که قبلا هرگز برنامه نویسی نکرده اند. تغییر برنامه نویسان به پایتون؛ برنامه نویسان متوسط و پیشرفته که به دنبال درک الگوریتم ها و ساختارهای داده هستند. نامزدهای مصاحبه شغلی که به دنبال درک موضوع پشت سؤالات مصاحبه فنی هستند و هر کسی که مشتاق یادگیری نحوه تجسم برنامه ها و جریان اطلاعات است. یادگیری کدنویسی با پایتون در حین ساخت پروژه ها و اجرای الگوریتم ها و ساختارهای داده * درک اصول زبان های برنامه نویسی
سرفصل ها و درس ها
معرفی
Introduction
معرفی
Introduction
نمای کلی ساختار و محتوای دوره
Course structure and content overview
راه اندازی محیط توسعه
Development environment setup
مقدمه و نمای کلی بخش
Section intro and overview
پایتون را دانلود و نصب کنید
Download and install Python
راه اندازی Atom به عنوان ویرایشگر متن (تنظیمات مورد استفاده در این دوره)
Setup Atom as text editor (setup used in this course)
متدهای رشته، توابع و دستورات وارد کردن
String methods, functions and import statements
قالب بندی چاپ و کاراکترهای خاص
Print formatting and special characters
اعداد، ریاضی، نوع ریخته گری و ورودی
Numbers, math, type casting and input
مقدمه ای بر انشعاب (if، elif، else) و شرطی ها
Introduction to branching (if, elif, else) and conditionals
Building if, elif, else به صورت تدریجی مسدود می شود
Building if, elif, else blocks incrementally
لیست ها، دستورات، مجموعه ها و تاپل ها - مقدمه ای بر انواع داده های ترکیبی در پایتون
Lists, dicts, sets and tuples - Intro to compound data types in Python
دیکشنری ها، مجموعه ها و تاپل ها
Dictionaries, sets and tuples
تکرار کننده ها، برای حلقه ها، مولدها، درک لیست
Iterators, for loops, generators, list comprehension
در حالی که حلقه، شمارش، zip
While loops, enumerate, zip
توابع - یک نگاه مقدماتی
Functions - an introductory look
توابع - پیاده سازی گام به گام
Functions - implementation step by step
توابع - زمینه اجرا، فریم ها، آرگومان های قابل تغییر در مقابل غیرقابل تغییر در عمق
Functions - execution context, frames, mutable vs. immutable arguments in-depth
کلاس ها و اشیاء - یک نگاه مقدماتی
Classes and objects - an introductory look
ساخت کلاس دانشجویی سفارشی و معرفی روش های خاص
Building a custom Student class and intro to special methods
چند متد را به کلاس اضافه کنید
Add some methods to the class
روش های خاص و اینکه چه هستند
Special methods and what they are
خواندن و نوشتن روی فایل ها
Reading from and writing to files
قابلیت خواندن را اضافه کنید و از روش های خاص و ثابت استفاده کنید
Add read functionality and utilize special and static methods
وراثت، زیر کلاس ها و کلاس نمونه کامل
Inheritance, subclasses and complete example class
عبارات لامبدا و عملکرد نقشه
Lambda expressions and map function
ژنراتورها - زیر کاپوت
Generators - under the hood
ژنراتورهای خود را با استفاده از بازده بسازید
Build your own generators using yield
الگوریتم ها - مرتب سازی، عملکرد، پیچیدگی و نماد O بزرگ
Algorithms - Sort, performance, complexity and big O notation
مقدمه بخش 4 و مروری بر مطالب مطرح شده در آن
Introduction to section 4 and overview of the material covered in it
نمایش مرتب سازی حباب و تجزیه و تحلیل پیچیدگی
Bubble sort demonstration and complexity analysis
اجرای مرتب سازی حبابی
Bubble sort implementation
نمایش مرتب سازی انتخاب و تجزیه و تحلیل پیچیدگی
Selection sort demonstration and complexity analysis
اجرای مرتب سازی انتخاب
Selection sort implementation
نمایش مرتب سازی درج و انتقال تکلیف
Insertion sort demonstration and assignment handoff
درج مرتب سازی اجرای برنامه ای مرحله به مرحله
Insertion sort programmatic execution step by step
معیارهای عملکرد - شیرجه عمیق با نمای برنامه ای
Performance measures - deep dive with a programmatic view
پیش نیازهای عملکرد و الگوریتم O(nlog(n)).
O(nlog(n)) performance and algorithm prerequisites
log(n) را تجزیه و تحلیل کنید، ریاضیات پشت آن و نحوه ارتباط آن با الگوریتم ها را تجسم کنید
Analyze log(n), visualize the math behind it and how it relates to algorithms
تجسم مرتب سازی و تجزیه و تحلیل پیچیدگی را ادغام کنید
Merge sort visualization and complexity analysis
اجرای تابع ادغام - قسمت 1
Implement merge function - part 1
پیاده سازی تابع ادغام - قسمت 2
Implement merge function - part 2
اجرای تابع ادغام - قسمت 3
Implement merge function - part 3
نگاهی به تابع تقسیم بازگشتی
A look at the recursive divide function
نگاهی عمیق به زمینه اجرای تابع تقسیم بازگشتی
In-depth look at execution context of recursive divide function
الگوریتم مرتب سازی ادغام را کامل کنید و زمینه اجرای به روز شده را تحلیل کنید
Complete merge sort algorithm and analyze updated execution context
نسخه ی نمایشی مرتب سازی سریع
Quicksort demo
اجرای مرتب سازی سریع
Quicksort implementation
بخش نهایی هدف و انگیزه پروژه
Section final project objective and motivation
مشخصات پروژه و معرفی زمان اجرا
Project specs and runtime execution intro
فاز 1 پروژه: ایجاد مولد لیست تصادفی بینالمللی
Project phase 1: Build random int list generator
فاز 2 پروژه: از کاربر برای اندازه و محدوده اطلاعات دریافت کنید
Project phase 2: Get input from user for size and range
فاز 3 پروژه: اضافه کردن توابع، محاسبه و تجزیه و تحلیل زمان اجرا
Project phase 3: Add functions, calculate and analyze runtime
فاز 4 پروژه: افزونه ها را استخراج کنید، کد عملکرد و پاکسازی ایجاد کنید
Project phase 4: Extract redundancies, create function and cleanup code
فاز 5 پروژه: قابلیت اجرای چندگانه را اضافه کنید و آزمایش های اضافی را انجام دهید
Project phase 5: Add multiple run functionality and perform additional testing
الگوریتم ها - جستجو و ساختارهای داده انتزاعی
Algorithms - Search and abstract data structures
مقدمه بخش 5
Introduction to section 5
مقدمه ای برای جستجو - جستجوی خطی، دوتایی/دودویی
Intro to search - Linear, Bisection/Binary search
جستجوی دو بخش - پیاده سازی بازگشتی
Bisection search - recursive implementation
انتقال پروژه: گردآوری آن
Project handoff: Bringing it together
نتیجه گیری پروژه
Project conclusion walkthrough
Hashmaps و پیچیدگی جستجو O(1).
Hashmaps and O(1) search complexity
هش پروژه 1: تعریف و تنظیم طرح کلاس با __init__ و __str__
Hash project 1: Define and set up class blueprint with __init__ and __str__
پروژه هش 2: قابلیت درج و هش را برای ساختار داده تنظیم کنید
Hash project 2: Set up insert and hashing functionality for data structure
پروژه هش 3: قابلیت به روز رسانی را اضافه کنید
Hash project 3: Add update functionality
پروژه هش 4: ساخت روش جستجو
Hash project 4: Build search method
پروژه: از ساختار هش در یک تمرین عملی - نقل قول یاب استفاده کنید
Project: Use hash structure in a practical exercise - Quote finder
پروژه: نقل قول یاب کامل با استفاده از جدول هش
Project: Complete quote finder using hash table
مقدمه ای بر ساختارهای داده خطی - لیست های پیوندی
Intro to linear data structures - Linked Lists
یک لیست پیوندی سفارشی بسازید
Build a custom linked list
به صورت بازگشتی یک لیست پیوندی را معکوس کنید
Recursively reverse a linked list
پشته ها و صف ها و عملیات آنها را تجسم کنید
Visualize Stacks and Queues, and their operations
مقدمه ای بر درختان و درختان جستجوی دودویی
Introduction to Trees and Binary Search Trees
پیمایش به ترتیب درخت جستجوی باینری
In-order traversal of a Binary Search Tree
یک درخت جستجوی باینری از ابتدا بسازید - درج کنید
Build a Binary Search Tree from scratch - Insert
BST از ابتدا - پیمایش به ترتیب
BST from scratch - In-order traversal
BST از ابتدا - جستجو
BST from scratch - Search
BST از ابتدا - نسخه ی نمایشی را حذف کنید
BST from scratch - Delete demo
BST - حذف گره های برگ
BST - Deleting leaf nodes
BST - حذف گره ها با 1 گره فرزند
BST - Deleting nodes with 1 child node
BST - حذف گره ها با 2 فرزند
BST - Deleting nodes with 2 children
پروژه: Job Scheduler با استفاده از درختان جستجوی باینری - مقدمه
Project: Job Scheduler using Binary Search Trees - Introduction
پروژه: جریان اجرای Job Scheduler
Project: Job Scheduler execution flow
پروژه: نکات و نکات اجرایی Job Scheduler
Project: Job Scheduler implementation tips and notes
با تشکر از شما برای گذراندن دوره و مراحل بعدی
Thank you for taking the course and next steps
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
نمایش نظرات