مقدمه ای بر دوره آموزش برنامه نویس پایتون (Python)
🔸🔸به دنیای پایتون خوش آمدید.🔸🔸
Python قطعاً محبوبترین زبانهای برنامهنویسی میان برنامهنویسان می باشد. ویژگی اصلی این زبان این است که ضمن سادگی (زبانی ایدهآل برای افرادی که تازه میخواهند گام در راه برنامه نویسی بگذارند)، دارای انعطاف و قدرت بسیار زیادی بوده و تقریباً در تمامی رشته های کاربردی است. پایتون این ویژگی خود را مدیون جامعهی باز برنامهنویسانی است که هر روزه با به اشتراک گذاشتن کدهای خود و خطاگیری از کدهای دیگران به بهبود و پیشرفت این زبان کمک شایانی میکنند. این زبان یک زبان متن باز است و استفاده از آن برای همگان رایگان است.
🔘 این دوره حاصل سال ها تجربه مدیران آکادمی یادگیری ماشین ایران در حوزه تدریس در دانشگاه معتبر داخلی و فعالیت در بازار کار بوده و با هدف کاربردی بودن در سناریوهای دنیای واقعی مطرح خواهد شد. این کارگاه، کاملا پروژه محور بوده و از مباحث تئوری کسل کننده خبری نیست. در پایان هر فصل با انجام بخشی هایی از پروژه واقعی، آموخته های خود را در دنیای واقعی محک خواهید زد.
🔘 زمان برگزاری کارگاه: ۱۰و ۱۲و۱۵ و ۱۷و ۱۹و ۲۲(در ۶ جلسه ۴ ساعته)
🔘 محل برگزاری: پردیس شمالی دانشگاه تهران
🔸🔸🔸 این دوره، مقدمه ای برای دوره های بعدی با موضوعات Machine learning ، Data Science و Deep Learning خواهد بود.
🔻🔻 دانش آموختگان پیشین آکادمی، از تخفیف ویژه ای جهت ثبت نام در این کارگاه برخوردار خواهند بود. 🔻🔻
🔸 بخشی از توضیحات مهندس قراچورلو در کارگاه پیشین (Machine learning with Python) برگزار شده توسط آکادمی یادگیری ماشین ایران را در ادامه آورده شده است:
سر فصل بخش مقدماتی کارگاه آموزش برنامه نویسی پایتون (Python)
دانشجویان در این دوره ابتدا با مفاهیم مقدماتی برنامهنویسی آشنا میشوند. این مفاهیم با تمرکز بر ایجاد نحوهی تفکر برنامهنویسی ارایه شده و مختص زبان پایتون نیستند. در ادامه ابتدا انواع دادههای مقدماتی در پایتون معرفی شده و خواص هر یک بیان میگردد. در این قسمت با توجه به اهمیت دادههای رشتهای یا string، بیشتر بر کار با این نوع داده تاکید میشود. پس از آن، ساختارهای تجمیعی و خواص آنها ارایه میگردد. این ساختارها در واقع به عنوان نگهدارندههایی عمل میکنند که میتوانند دادههایی از جنسهای مختلف را در خود نگهداری کنند.
در ادامه، با معرفی عبارات منطقی و محاسبات آنها بحث در مورد انواع عبارتهای کنترلی مانند عبارات شرطی و حلقهها آغاز شده و با در نهایت با معرفی برخی دستورات مفید و تسهیلکننده مانند zip و enumerate به پایان میرسد. بخش بعدی، سنگ آغازین یکی از مهمترین مفاهیم برنامهنویسی به نام برنامهنویسی تابعی است. دانشجویان در واقع پس از گذراندن این قسمت تبدیل به برنامهنویسان آماتور شده و میتوانند برنامههایی منعطف و مطابق با استانداردها تولید نمایند. این بخش در واقع بیش از آنکه متمرکز بر زبان برنامهنویسی پایتون باشد، حول موضوعیت توابع، که مفهومی کلی در حوزهی برنامهنویسی فارغ از زبان مورد استفاده است، میگردد.
در بخش پایانی دوره آموزش برنامه نویسی پایتون (Python)، به معرفی و استفاده از ماژولها در پایتون میپردازیم. به زبان ساده ماژولها مجموعهای از توابع و کلاسها و متغیرهایی است که میتوانند توسط برنامهنویس مورد استفاده واقع شوند. در نتیجه برنامهنویس میتواند برای انجام دادن یک کار مشخص، بدون آنکه نیاز باشد کد الگوریتم مربوطه را خود بنویسد، از توابع آماده در ماژولهای مشخص جهت انجام کار مربوطه استفاده نماید. در انتها، جهت تثبیت نحوهی استفاده از ماژولها و همچنین معرفی چند ماژول مفید، چهار ماژول از ماژولهای درونی پایتون معرفی میگردند. فهرست مطالب ارایه شده در بخش ابتدایی به شرح زیر می باشد:
- 🔸مقدمهای بر برنامهنویسی
- برنامهنویسی چیست؟
- انواع زبانهای برنامهنویسی به لحاظ اجرا
- انواع زبانهای برنامهنویسی به لحاظ سطح
- معرفی انواع پارادایمهای برنامهنویسی
- 🔸مقدمهای بر پایتون
- تاریخچه
- ویژگیهای پایتون
- نکات جذاب در مورد پایتون
- نحوهی نصب پایتون به صورت کامل (همراه با شرکت کنندگان در کارگاه)
- IDE چیست؟ (معرفی انواع IDEهای مناسب برای Python و نحوهی نصب آنها)
- 🔸معرفی انواع دادههای پایه
- معرفی دستور print
- مروری بر دادههای پایه و معرفی مقدار Boolean
- اعداد در پایتون (int و float)
- اعمال حسابی در پایتون
- رشتهها (string) و خواص آنها و تبدیلات میان اعداد و رشتهها
- معرفی دستور input و نکات تکمیلی در مورد دستور print
- 🔸ساختارهای تجمیعی
- معرفی ساختار List و خواص آن
- تبدیلات میان List و String به همراه معرفی مفهوم mutability
- معرفی ساختار Tuple
- دستورات max، min و sum
- معرفی ساختار Dict و خواص آن
- معرفی ساختار set و frozenset و اعمال مجموعهها در Python
- 🔸عبارات کنترلی
- معرفی مفهوم عبارات منطقی و اپراتورهای منطقی
- عبارات شرطی در پایتون با ساختار if، elif و else
- عبارات شرطی تودرتو
- معرفی مفهوم حلقه و انواع آن (حلقههای تودرتو نیز در این بخش ارایه خواهد شد)
- حلقهی for و حلقهی while
- مفهوم comprehension
- معرفی دستورات break و continue
- معرفی دستورات zip و enumerate
- 🔸توابع
- اصل DRY و مفهوم تابع
- انواع تابع بر اساس ورودی و خروجی
- نحوهی ساخت توابع و استفاده از آنها
- دستورات map و filter
- معرفی منطق بازگشتی به همراه تشریح کامل توابع بازگشتی
- دستورات *args و **kwargs
- کار با فایلها در پایتون
- 🔸ماژولها
- معرفی مفاهیم module، package و framework
- نحوهی نصبو استفاده از ماژولها در Python
- معرفی ماژولهای مرتبط و کابردی با هر حوزهی کاری (متناسب با حوزه کاری شرکت کنندگان)
- کار با ماژولهای math، random، time و datetime
سر فصل ادامه دوره آموزش برنامه نویسی پایتون (Python)
در این بخش، فرض بر آن است که دانشجویان با مفاهیم مقدماتی برنامهنویسی و همچنین دستورات ابتدایی پایتون آشنایی دارند. از آنجا که این دوره با معرفی مباحث پیشرفته در برنامهنویسی تابعی شروع میشود، انتظار میرود دانشجویان آشنایی مقدماتی با این مبحث را داشته و از موضوعات مطرح شده در سرفصل دوره مقدماتی پایتون اطلاع کامل داشته باشند. مباحث قسمت اول مربوط به نوع خاصی از توابع است که میتوانند رفتار توابع دیگر را تغییر دهند. به این نوع توابع دکوراتور میگویند. جهت تسهیل یادگیری مفهوم دکوراتور، ابتدا چند موضوع که همگی به مفهوم دکوراتور ختم میشوند مطرح شده و سپس مفهوم و نحوهی استفاده از دکوراتورها ارایه میگردد.
در قسمت دوم یکی از مهمترین پارادایمهای برنامهنویسی به نام برنامهنویسی شیگرا مطرح شده و مفاهیم و عبارتشناسی مرتبط با آن ارایه میگردد. این نوع پارادایم در بسیاری از پروژهها به خصوص پروژههایی که شامل برنامهنویسی رابط کاربری، شبکه و پایگاه داده هستند، مورد استفاده واقع میشوند. این نوع پارادایم نسبت به پارادایم برنامهنویسی تابعی پیچیدگی بیشتری داشته اما از سویی قدرت و انعطاف بیشتری را در اختیار برنامهنویسی قرار میدهد تا بتواند کد خود را به گونهی طرحریزی کند که با کمترین خطای ممکن و به صورت بهینه اجرا شود.
قسمت سوم به بحث محیط مجازی اختصاص یافته است. محیط مجازی ابزاری است که توسط بسیاری از برنامهنویسان حرفهای جهت منظم ساختن پیشنیازهای هر پروژه و همچنین مستقل ساختن محیط اجرای پروژههایی که بر روی یک کامپیوتر ایجاد میشوند، از یکدیگر استفاده میشود. قسمت چهارم نیز به معرفی یکی از پرکاربردترین ماژولهای پایتون یعنی ماژول os اختصاص یافته است. این ماژول به برنامهنویس قدرت دستکاری دایرکتوری از طریق کد برنامه را میدهد.
قسمت آخر دوره آموزش برنامه نویسی پایتون (Python)، به یکی از پرکاربردترین و البته سختترین ماژولهای مورد استفاده در پایتون اختصاص یافته است. دلیل گنجانده شدن این ماژول در دوره پیشرفته پایتون آن است که این ماژول در حوزههای گوناگون کاربردهای متنوعی دارد. مسیر کنونی برنامهنویسان پایتون در کشور ما به دو شاخهی عمدهی برنامهنویسی وب و برنامهنویسی علوم داده و یادگیری ماشین تقسیم میشود. هر دوی این دستهها میتوانند از ماژول RegEx و ابزارهایی که به دست میدهد منتفع گردند. فهرست مطالب ارایه شده در بخش پیشرفته به شرح زیر می باشد:
- 🔸مباحث پیشرفته در برنامهنویسی تابعی
- اپراتورهای سهگانه
- معرفی ژنراتورها و مزایای استفاده از آنها
- متغیرهای جهانی
- دکوراتورها
- تابع به عنوان متغیر
- Def در def
- توابع با خروجی تابع
- مفهوم دکوراتور
- دکوراتور با آرگومان ورودی
- 🔸برنامهنویسی شیگرا (OOP)
- معرفی مفهوم شیگرایی
- مقدمات و تعاریف شیگرایی
- متدها و متدهای جادویی
- خصایص پنهان
- متدهای سطح کلاس، متدهای ایستا و متدهای سطح شی
- 🔸محیط مجازی
- مفهوم محیط مجازی و مزایای استفاده از آن
- نحوهی نصب محیط مجازی
- استفاده از محیط مجازی جهت ایجاد پروژه
- 🔸ماژول OS
- معرفی ماژول OS
- توابع و کلاسهای ماژول OS
دانشجویان در این دوره (آموزش برنامه نویسی پایتون) با مسایل چالش برانگیز بسیاری مواجه خواهند شد. در هر جلسه و پس از معرفی و تدریس هر موضوع، چند تمرین کلاسی جهت تثبیت موضوع ارایه میشود که حل آنها در همان جلسه الزامی است. در پایان هر جلسه نیز مسایلی جهت تمرین دانشجویان در فاصلهی زمانی بین جلسات ارایه میشود.