دوره جامع برنامهنویسی پایتون از مبانی تا کاربرد
۱. معرفی دوره
مشخصات دوره
- مدت دوره: هر ترم ۱۲ جلسه آموزشی
- سطح دوره: مقدماتی تا کاربردی و پیشرفته و پروژهمحور
- نحوه برگزاری: حضوری
- شیوه آموزش: آموزش مفهومی، تمرینمحور و پروژهمحور
- آموزش الگوریتم و حل مسئله: دارد
- آموزش فلوچارت: دارد
- کدنویسی عملی: دارد
- کارگاه عملی: دارد
- پیشنیاز برنامهنویسی: ندارد
- زبان برنامهنویسی: Python
- محیط توسعه پیشنهادی: Visual Studio Code
- گواهی پایان دوره: مطابق ضوابط مجموعه برگزارکننده
مسیر آموزشی دوره:
مبانی کامپیوتر -> تفکر منطقی و حل مسئله -> الگوریتمنویسی -> فلوچارت -> برنامهنویسی Python -> تمرین عملی -> پروژه نهایی
۲. این دوره برای چه افرادی مناسب است؟
این دوره برای افرادی طراحی شده است که قصد دارند برنامهنویسی را بهصورت اصولی، ساختاریافته و از پایه آغاز کنند و در آینده از زبان Python در مسیرهای تخصصی مختلف استفاده نمایند.
مخاطبان اصلی دوره عبارتاند از:
- دانشآموزان و دانشجویان علاقهمند به برنامهنویسی
- افرادی که تاکنون سابقهای در زمینه برنامهنویسی نداشتهاند
- دانشجویان رشتههای فنی و مهندسی
- دانشجویان مهندسی پزشکی، مهندسی برق و مهندسی کامپیوتر
- پژوهشگران و دانشجویانی که قصد استفاده از Python در پروژههای علمی و دانشگاهی را دارند
- علاقهمندان به هوش مصنوعی، یادگیری ماشین و علوم داده
- علاقهمندان به تحلیل داده و پردازش اطلاعات
- افرادی که قصد ورود به حوزه پردازش تصویر را دارند
- افرادی که به اتوماسیون و توسعه ابزارهای نرمافزاری علاقهمند هستند
- افرادی که پیشتر با Python آشنا شدهاند اما در زمینه حل مسئله و توسعه مستقل برنامه ضعف دارند
۳. پیشنیازهای دوره
شرکت در این دوره نیازمند هیچگونه دانش قبلی در زمینه برنامهنویسی نیست. آموزش از مفاهیم پایه کامپیوتر آغاز میشود و فراگیران بهصورت تدریجی با منطق برنامهنویسی و ساختارهای اصلی Python آشنا خواهند شد.
پیشنیازهای عمومی پیشنهادی:
- آشنایی اولیه با محیط کامپیوتر
- توانایی کار با فایل و پوشه
- آشنایی عمومی با سیستمعامل Windows
- توانایی نصب و اجرای نرمافزارها
- علاقهمندی به حل مسئله و یادگیری مهارتهای فنی
- همراه داشتن لپتاپ جهت انجام تمرینهای عملی
نصب Python، Visual Studio Code و تنظیم محیط برنامهنویسی نیز در طول دوره آموزش داده خواهد شد.
۴. سرفصلهای دوره
جلسه اول | مبانی کامپیوتر و آشنایی با ساختار سیستمهای رایانهای
در نخستین جلسه، فراگیران با مفاهیم پایه رایانه و ساختار کلی سیستمهای کامپیوتری آشنا میشوند تا درک مناسبی از محیطی که برنامهها در آن اجرا میشوند به دست آورند.
مباحث آموزشی:
- تعریف کامپیوتر و نحوه عملکرد کلی آن
- مفهوم داده و اطلاعات، ساختار ورودی، پردازش و خروجی
- تعریف و تفاوت سختافزار و نرمافزار
- آشنایی با CPU، RAM، HDD و SSD
- دستگاههای ورودی و خروجی
- سیستمعامل و نقش آن در مدیریت منابع
- مفهوم برنامه کامپیوتری، فایل و پوشه، پسوند فایلها
- برنامهنویسی و زبان برنامهنویسی چیست؟
- آشنایی مقدماتی با Compiler و Interpreter
- معرفی زبان Python و کاربردهای آن در علوم، مهندسی، پزشکی، هوش مصنوعی، تحلیل داده و اتوماسیون
خروجی آموزشی: توضیح ارتباط میان سختافزار، سیستمعامل، نرمافزار، برنامه و زبان برنامهنویسی.
جلسه دوم | حل مسئله، الگوریتمنویسی و طراحی فلوچارت
بخش اول: حل مسئله
- تعریف و تحلیل مسئله پیش از کدنویسی
- مشخص کردن ورودیها، پردازشها و خروجی مورد انتظار
- تفکیک یک مسئله پیچیده به مسائل کوچکتر
- طراحی مسیر منطقی حل مسئله
بخش دوم: الگوریتمنویسی
- تعریف الگوریتم و اهمیت طراحی آن پیش از برنامهنویسی
- ویژگیهای یک الگوریتم صحیح، نقطه شروع و پایان
- الگوریتمهای ترتیبی، شرطی و تکراری
- آشنایی با شبهکد (Pseudocode)
تمرینهای الگوریتمی: محاسبه مجموع دو عدد، میانگین، مساحت و محیط، تشخیص زوج/فرد، تعیین عدد بزرگتر، بررسی قبولی/مردودی، طراحی الگوریتم ماشینحساب ساده.
بخش سوم: فلوچارت
- تعریف Flowchart و کاربرد آن در تحلیل برنامه
- نمادهای شروع/پایان، پردازش، ورودی/خروجی، تصمیمگیری
- طراحی شرط، حلقه و تکرار در فلوچارت
خروجی آموزشی: تحلیل یک مسئله ساده، طراحی الگوریتم و تبدیل آن به فلوچارت.
جلسه سوم | ورود به برنامهنویسی با Python
- معرفی تخصصیتر Python و حوزههای کاربرد آن
- نصب Python و Visual Studio Code، آشنایی با محیط VS Code و نصب افزونه Python
- ایجاد پوشه پروژه و فایل با پسوند ".py"
- نوشتن اولین برنامه، دستور "print"، اجرا و ذخیره برنامه
- مفهوم Syntax و Comment
- آشنایی اولیه با خطاها و نحوه خواندن Error Message
تمرین عملی: نمایش متن در خروجی، نمایش اطلاعات کاربر، انجام محاسبات ساده، ترکیب متن و مقدار، ایجاد چند برنامه ساده و مستقل.
جلسه چهارم | متغیرها، انواع داده و ورودی کاربر
- تعریف متغیر، نحوه ایجاد و مقداردهی، قواعد نامگذاری
- انواع داده: Integer، Float، String، Boolean
- تابع "type" و تبدیل انواع داده (int، float، str)
- دستور "input"، دریافت و ذخیره اطلاعات کاربر، تبدیل ورودی به عدد
تمرینهای عملی: دریافت نام و نام خانوادگی، دریافت سن و محاسبه سن سال آینده، دریافت دو عدد و محاسبه مجموع، محاسبه مساحت و محیط، محاسبه میانگین چند مقدار.
جلسه پنجم | عملگرها و محاسبات
- عملگرهای ریاضی: جمع، تفریق، ضرب، تقسیم، توان، باقیمانده و تقسیم صحیح
- ترتیب انجام محاسبات
- عملگرهای مقایسهای و منطقی ("and"، "or"، "not")
تمرینهای عملی: طراحی ماشینحساب ساده، تبدیل واحدها، محاسبه میانگین، مقایسه چند مقدار، محاسبات عددی ترکیبی.
جلسه ششم | ساختارهای شرطی و تصمیمگیری
- مفهوم تصمیمگیری، دستورات "if"، "else"، "elif"
- شرطهای چندگانه و تو در تو
- استفاده از عملگرهای منطقی در شرطها و مفهوم Indentation
تمرینهای عملی: تشخیص زوج/فرد، مثبت/منفی/صفر، تعیین بزرگترین مقدار، وضعیت قبولی/مردودی، طبقهبندی نمرات، بررسی محدوده سنی، طراحی سیستم ورود ساده.
جلسه هفتم | حلقهها و ساختارهای تکرار
- مفهوم حلقه و کاربرد ساختارهای تکرار
- حلقه "for" و تابع "range"، حلقه "while"
- مفهوم شمارنده و شرط پایان حلقه
- دستورات "break" و "continue"، حلقههای تو در تو
تمرینهای عملی: نمایش بازهای از اعداد، اعداد زوج و فرد، محاسبه مجموع اعداد، طراحی جدول ضرب، محاسبه فاکتوریل، یافتن بزرگترین مقدار، طراحی منوی ساده تکرارشونده.
جلسه هشتم | کار با رشتهها و دادههای متنی
- مفهوم String، Indexing و Slicing
- تابع "len"، ترکیب و جستوجو در رشته
- جایگزینی مقادیر متنی، حذف فاصلههای اضافی، تبدیل حروف کوچک/بزرگ
- متدهای کاربردی رشتهها و آشنایی با f-string
تمرینهای عملی: پردازش نام و نام خانوادگی، شمارش کاراکترها، جستوجوی کلمه در متن، اصلاح و تغییر متن، طراحی خروجیهای منظم و خوانا.
جلسه نهم | لیستها و مدیریت مجموعه دادهها
- تعریف List، ایجاد، دسترسی و تغییر عناصر
- افزودن و حذف داده، مرتبسازی و جستوجو
- پیمایش لیست با حلقه، لیستهای تو در تو
تمرینهای عملی: ثبت نمرات دانشجویان، محاسبه میانگین، یافتن بالاترین/پایینترین مقدار، جستوجوی داده، طراحی لیست خرید و فهرست اسامی.
جلسه دهم | Tuple، Set و Dictionary
Tuple: تعریف، تفاوت با List، موارد کاربرد.
Set: تعریف، حذف دادههای تکراری، بررسی عضویت، عملیات مقدماتی روی مجموعهها.
Dictionary: مفهوم Key و Value، ایجاد، دریافت، افزودن، ویرایش، حذف و پیمایش اطلاعات.
تمرین عملی: طراحی برنامهای برای ثبت و مدیریت اطلاعات افراد شامل نام، سن، شماره تماس و سایر اطلاعات موردنیاز.
جلسه یازدهم | توابع و ساختاردهی برنامه
- مفهوم Function و ضرورت استفاده از توابع
- تعریف تابع با "def"، فراخوانی تابع، Parameter و Argument
- استفاده از "return"، تفاوت "print" و "return"، متغیرهای محلی
- استفاده مجدد از کد و تقسیم برنامه به بخشهای مستقل
تمرینهای عملی: تابع جمع دو عدد، محاسبه معدل، تشخیص زوج/فرد، محاسبه مساحت، ماشینحساب تابعمحور، بازنویسی برنامههای قبلی با Function.
جلسه دوازدهم | مدیریت خطا، کار با فایل و پروژه نهایی
مدیریت خطا:
- Syntax Error، Runtime Error و Logical Error
- مفهوم Debugging، استفاده از "try" و "except"
- مدیریت ورودیهای نامعتبر
کار با فایل: تعریف، ایجاد، باز کردن، خواندن، نوشتن و افزودن اطلاعات، ذخیرهسازی دادههای برنامه.
پروژه نهایی: در بخش پایانی دوره، شرکتکنندگان یک پروژه کاربردی را از مرحله تحلیل مسئله تا اجرای نهایی پیادهسازی خواهند کرد.
نمونه پروژهها:
- سیستم مدیریت اطلاعات دانشجویان
- سیستم مدیریت نمرات
- دفترچه تلفن
- ماشینحساب پیشرفته
- سیستم ثبت کاربران
- برنامه مدیریت فعالیتها
فرآیند اجرای پروژه:
تعریف مسئله → تحلیل مسئله → طراحی الگوریتم → طراحی فلوچارت → کدنویسی → تست → رفع خطا → اجرای نهایی
۵. شیوه برگزاری و روش آموزش
شیوه آموزش در این دوره بر اساس تلفیق مباحث نظری و تمرینهای عملی طراحی شده است. در هر جلسه، ابتدا مفاهیم بهصورت ساختاریافته و همراه با مثال توضیح داده میشوند. سپس مدرس نمونههای عملی را پیادهسازی کرده و در ادامه فراگیران تمرینهای مرتبط را بهصورت مستقل یا هدایتشده انجام خواهند داد.
در بخش قابل توجهی از دوره، مسائل بهصورت سناریو و تمرین ارائه میشوند تا فراگیر پیش از مشاهده پاسخ، مسئله را تحلیل کرده و راهحل مناسب را طراحی نماید. این شیوه سبب میشود فرآیند یادگیری از «حفظ دستورات» فراتر رفته و به «توانایی تحلیل، حل مسئله و توسعه برنامه» منجر شود.
۶. پس از پایان دوره چه مهارتهایی خواهم داشت؟
پس از پایان موفقیتآمیز دوره، فراگیر قادر خواهد بود:
- مفاهیم پایه سختافزار، نرمافزار و سیستمعامل را توضیح دهد
- ساختار کلی اجرای یک برنامه در کامپیوتر را درک کند
- مسائل ساده را تحلیل و به اجزای کوچکتر تقسیم کند
- برای مسائل برنامهنویسی الگوریتم طراحی کرده و آن را به فلوچارت تبدیل نماید
- Python و محیط توسعه را نصب و راهاندازی کند
- از متغیرها، انواع داده، شرطها و حلقهها بهدرستی استفاده کند
- دادههای متنی را پردازش و از List، Tuple، Set و Dictionary استفاده نماید
- توابع اختصاصی ایجاد کند و خطاهای متداول برنامه را شناسایی و اصلاح کند
- اطلاعات را در فایل ذخیره و بازیابی نماید
- یک برنامه کوچک را از مرحله تحلیل تا اجرای نهایی توسعه دهد
مهمترین دستاورد دوره: ایجاد توانایی تفکر برنامهنویسی و حل مسئله.
فراگیر در پایان دوره باید بتواند در مواجهه با یک مسئله، مسیر زیر را بهصورت مستقل طی کند:
درک مسئله → تحلیل مسئله → طراحی الگوریتم → ترسیم فلوچارت → پیادهسازی با Python → تست و رفع خطا → اجرای نهایی
مسیر ادامه یادگیری
پس از پایان این دوره، فراگیر میتواند وارد مسیرهای تخصصیتر شود:
Python مقدماتی → Python پیشرفته → برنامهنویسی شیءگرا → کار با کتابخانهها → توسعه پروژههای کاربردی
و در ادامه، بر اساس علاقه و هدف حرفهای خود، یکی از حوزههای زیر را دنبال کند:
- هوش مصنوعی
- یادگیری ماشین
- تحلیل داده و علوم داده
- پردازش تصویر
- برنامهنویسی مهندسی
- اتوماسیون
- توسعه نرمافزار و توسعه وب
این دوره بهعنوان یک مسیر پایه و ساختاریافته، زیرساخت لازم برای ورود به سطوح پیشرفتهتر برنامهنویسی با Python را فراهم میکند.