پایتون امروز پرکاربردترین زبان برنامهنویسی در علم داده و پژوهش است: از تحلیل دادههای بالینی و پرسشنامه تا اقتصاد، زیستشناسی، مهندسی و علوم اجتماعی. این دوره پایتون را از صفر و به زبان فارسی درس میدهد، با یک هدف روشن: اینکه در پایان بتوانید دادهی واقعی خودتان را با کد بخوانید، پالایش کنید، خلاصه کنید، نمودار بکشید و کل تحلیل را هر بار دوباره و بیخطا اجرا کنید.
دوره ۱۶ جلسه در چهار بخش دارد و هیچ پیشنیازی ندارد. اگر تا امروز با اکسل، SPSS یا R کار کردهاید، یا اصلاً هیچوقت کد ننوشتهاید، جای درستی آمدهاید.
در این دوره چه یاد میگیرید؟
- نصب پایتون و JupyterLab با راههایی که از ایران کار میکنند (python.org و pip، یا Miniforge)، و کار با نوتبوک، سلول کد و Markdown
- متغیر، انواع داده (int، float، str، bool)، تبدیل نوع و تابعهای آمادهی پایتون
- خواندن راهنما (help) و فهمیدن پیامهای خطا، بهجای ترسیدن از آنها
- کتابخانهها: math، random و statistics از کتابخانهی استاندارد، و نصب pandas و matplotlib با pip
- خواندن فایل CSV در دیتافریم با pandas، و انتخاب داده با iloc و loc، شرط، ماسک بولی و groupby
- رسم نمودار خطی، میلهای و پراکنش با matplotlib، و ذخیرهی نمودار برای مقاله و پایاننامه
- لیست، حلقهی for، شرطهای if، elif و else، و پردازش دهها فایل با یک حلقه
- نوشتن تابع با def، پارامتر، مقدار پیشفرض و return؛ دامنهی متغیر؛ خواندن traceback
- سبک خوب کدنویسی: نامگذاری، PEP 8، docstring و assert، تا کدتان شش ماه بعد هم خوانا باشد
- یک پروژهی پایانی کامل: مقایسهی ایران با همسایگانش از ۱۹۵۲ تا ۲۰۰۷
سرفصلها
بخش ۱: شروع با پایتون (۴ جلسه)
- جلسهی ۱. اجرای پایتون: نصب، JupyterLab و نوتبوکها. نصب پایتون و JupyterLab، ساختن پوشهی پروژه، دانلود دادهها، و آشنایی با محیط نوتبوک و Markdown.
- جلسهی ۲. متغیرها و انتساب. نامگذاری درست، print، ترتیب اجرای سلولها و خطای NameError.
- جلسهی ۳. انواع داده و تبدیل نوع. عدد صحیح و اعشاری، رشته و نوع منطقی، type و تبدیل نوع، و دلیل خطاهای رایج.
- جلسهی ۴. تابعهای آماده، راهنما و پیامهای خطا. آرگومان و مقدار بازگشتی، max، min و round، متدهای رشته، help و خواندن خطای نحوی و زمان اجرا.
بخش ۲: دادههای جدولی با pandas و نمودار با matplotlib (۵ جلسه)
- جلسهی ۵. کتابخانهها. کتابخانهی استاندارد و پکیجهای PyPI، شکلهای مختلف import و نصب با pip.
- جلسهی ۶. خواندن دادهی جدولی در دیتافریم. pd.read_csv، index_col، info، describe، ترانهاده و ذخیره با to_csv.
- جلسهی ۷. دیتافریمها (بخش ۱). انتخاب مقدار، سطر، ستون و برش با iloc و loc.
- جلسهی ۸. دیتافریمها (بخش ۲). مقایسه، فیلتر با شرط، ماسک بولی، مقدار گمشده (NaN) و گروهبندی با groupby.
- جلسهی ۹. نمودار. نمودار خطی، میلهای و پراکنش از دیتافریم، راهنما، سبکها، همبستگی و savefig.
بخش ۳: برنامهنویسی (۴ جلسه)
- جلسهی ۱۰. لیستها. ساختن و تغییر لیست، اندیس مثبت و منفی، برش، و فرق لیست و رشته.
- جلسهی ۱۱. حلقهی for. تکرار روی لیست و رشته، range، انباشتگر و ردیابی اجرای حلقه.
- جلسهی ۱۲. شرطها. if، elif و else، عملگرهای مقایسه و منطقی، و شرط درون حلقه.
- جلسهی ۱۳. حلقه روی مجموعهای از فایلها. پیدا کردن فایلها با glob، خواندن و پردازش گروهی، و ساختن جدول و نمودار از چند فایل.
بخش ۴: تابعنویسی، سبک کدنویسی و پروژهی پایانی (۳ جلسه)
- جلسهی ۱۴. نوشتن تابع. def، پارامتر و آرگومان، مقدار پیشفرض، return و None.
- جلسهی ۱۵. دامنهی متغیر و سبک برنامهنویسی. متغیر محلی و سراسری، خواندن traceback، PEP 8، docstring و assert.
- جلسهی ۱۶. پروژهی پایانی. دادهی ایران و همسایگانش (ترکیه، عراق، افغانستان، پاکستان، کویت، عربستان) را از چند فایل جمع میکنید، با میانهی آسیا مقایسه میکنید، نمودار میکشید و نتیجه را ذخیره میکنید؛ و میبینید بعد از این دوره سراغ چه بروید (NumPy، SciPy، seaborn، scikit-learn).
این دوره در بینکاو چطور برگزار میشود؟
- یک دستیار آموزشی هوش مصنوعی هر جلسه را گامبهگام درس میدهد، به پرسشهایتان جواب میدهد و پاسخ تمرینها را میسنجد.
- یادگیری تا تسلط: هر جلسه چند هدف یادگیری مشخص دارد. اگر هدفی هنوز جا نیفتاده باشد، دستیار تمرین و توضیح بیشتری میدهد و فقط وقتی جلو میرود که مطمئن شود آن را یاد گرفتهاید.
- بیش از ۳۰۰ گام آموزشی: توضیح، مثال کد با خروجی واقعی، پرسش کوتاه و تمرین کدنویسی، بهعلاوهی ۵۲ تکلیف.
- یادداشت کامل هر جلسه مثل یک فصل کتاب درسی، با واژهنامهی فارسی و انگلیسی اصطلاحات، برای مرور و مراجعهی بعدی.
- منبع اصلی در کنار درس: متن انگلیسی درس متناظر Software Carpentry برای هر جلسه در دسترس است.
- دقیق و آزموده: همهی کدها و خروجیها با Python 3.10، pandas 3 و matplotlib 3.10 اجرا و بررسی شدهاند.
کدها را روی کامپیوتر خودتان در JupyterLab اجرا میکنید و کد و خروجی را برای دستیار میفرستید؛ این همان کاری است که بعد از دوره هم با دادهی خودتان خواهید کرد.
دادههای دوره
مثالها روی دادهی gapminder بنا شدهاند: تولید ناخالص داخلی سرانهی کشورهای پنج قاره از ۱۹۵۲ تا ۲۰۰۷، از جمله ایران و همسایگانش. دادهها را از خود بینکاو دانلود میکنید، بیآنکه به سایتهای خارجی نیاز باشد. همین مهارتها برای دادهی پایاننامه، دادهی آزمایشگاه یا هر فایل CSV و اکسل دیگری کار میکنند.
این دوره برای چه کسانی است؟
- دانشجویان کارشناسی ارشد و دکتری که باید دادهی پایاننامه یا مقالهشان را تحلیل کنند
- پژوهشگران و اعضای هیئت علمی که میخواهند از کارهای تکراری در اکسل خلاص شوند
- کارشناسان داده، پزشکی، مهندسی، اقتصاد و علوم اجتماعی که تازه برنامهنویسی را شروع میکنند
- کسانی که R یا MATLAB بلدند و میخواهند پایتون را هم سریع و اصولی یاد بگیرند
پیشنیازها
هیچ تجربهی برنامهنویسی لازم نیست. یک کامپیوتر (ویندوز، مک یا لینوکس) کافی است که بتوانید پایتون و JupyterLab را روی آن نصب کنید؛ جلسهی اول قدمبهقدم نشان میدهد چطور.
پرسشهای رایج
آیا باید قبلاً برنامهنویسی کرده باشم؟
نه. دوره از نصب پایتون و اولین خط کد شروع میشود و هر مفهوم را پیش از استفاده توضیح میدهد.
نصب پایتون از ایران مشکل ندارد؟
جلسهی اول راههایی را آموزش میدهد که از ایران کار میکنند: نصب از python.org و pip، یا Miniforge. Anaconda هم اگر برایتان در دسترس بود قابل استفاده است.
کدها را کجا اجرا میکنم؟
روی کامپیوتر خودتان، در JupyterLab. اگر VS Code را ترجیح میدهید، با افزونهی Jupyter همان نوتبوکها را آنجا هم میتوانید اجرا کنید.
فرق این دوره با ویدیوهای آموزشی چیست؟
اینجا فقط تماشا نمیکنید: در هر گام پاسخ میدهید، کد مینویسید و بازخورد فوری میگیرید، و دستیار آموزشی تا وقتی هر هدف را یاد نگرفتهاید همراهتان میماند.
بعد از این دوره چه یاد بگیرم؟
جلسهی پایانی مسیر بعدی را نشان میدهد: NumPy برای محاسبات عددی، SciPy برای آمار و مدلسازی، seaborn برای نمودارهای آماری و scikit-learn برای یادگیری ماشین.
منبع و مجوز
این دوره برگردان و بازنویسیِ گسترشیافتهی دورهی Software Carpentry با عنوان «Plotting and Programming in Python» است (© The Carpentries، مجوز CC BY 4.0، https://swcarpentry.github.io/python-novice-gapminder/). تغییرات: ترجمه به فارسی، بازنویسی و افزودن توضیح، مثال، تمرین و یک پروژهی پایانی.