You are not allowed to perform this action
برنامهسازی پایتون
| مدرس: دکتر حمید ضرابی زاده | گواهینامه: رسمی دوزبانه |
| ترم: زمستان ۱۴۰۴ | پیشنیاز: – |
| زمان ارائه: شنبه ۱۷:۰۰ تا ۲۰:۰۰ | محل برگزاری: کلاس مجازی |
هدف کلی
هدف از این درس، آشنایی دانشجویان با مبانی برنامهسازی کامپیوتر، ایجاد تفکر الگوریتمی در حل مسائل، کسب توانایی پیادهسازی الگوریتمهای متداول به وسیلهی کامپیوتر، و نیز آشنایی با اصول اولیهی نوشتن برنامههای ساختیافته و مهندسیساز است. در این درس از زبان برنامهسازی پایتون برای آموزش و ایجاد مهارتهای فوق استفاده خواهد شد.
سرفصلها
- مفاهیم اولیه (۱ جلسه)
- تعاریف اولیه: الگوریتم، برنامه، حل مسئله
- معرفی اجزای اصلی کامپیوتر
- آشنایی با زبان پایتون
- مراحل ساخت و اجرای یک برنامه
- مقدمات برنامهسازی (۱ جلسه)
- مقادیر، متغیرها و انواع دادهها
- عملگرها و تقدم عملیات
- تبدیل دادهها
- دستورات ورودی و خروجی
- آشنایی با کدنویسی خوانا
- ساختارهای انتخاب (۱ جلسه)
- عبارات منطقی
- عملگرهای مقایسهای
- دستور if-else
- انتخابهای چندگانه و تودرتو
- ساختارهای تکرار (۲ جلسه)
- حلقههای شرطی و شمارشی
- دستور while
- خاتمه حلقه با break و continue
- حلقهی معین for
- حلقههای تودرتو
- محاسبات اعشاری (۱ جلسه)
- سیستمهای عددی (دودویی و دهدهی)
- فرمتبندی اعداد اعشاری
- خطا در محاسبات اعشاری
- پیدا کردن ریشه به روش پالایش متوالی
- محاسبهی سریها
- توابع (۱ جلسه)
- جریان اجرا
- پارامترها و آرگومانها
- حوزهی تعریف متغیرها
- توابع خروجیدار
- نمونههایی از توابع عددی
- ماژولها (۱ جلسه)
- آشنایی با ماژولها
- نحوهی استفاده از ماژولها
- آشنایی با ماژولهای ریاضی و تصادفی
- نحوهی ایجاد یک ماژول
- رشتهها (۱ جلسه)
- عملگرهای رشتهای
- مقایسهی رشتهها
- پیمایش رشتهها
- توابع و متدهای رشتهای
- فرمتبندی رشتهها
- لیستها (۱ جلسه)
- آدرسدهی و برش لیستها
- تغییر لیستها
- توابع و متدهای لیستی
- لیستهای تودرتو
- پروندهها (۱ جلسه)
- باز کردن پروندههای متنی
- روشهای خواندن از پرونده
- نوشتن در پروندهها
- پروندههای دودویی
- خواندن صفحات وب
- واژهنامهها (۱ جلسه)
- نحوهی تعریف
- کاربردهای واژهنامه
- ذخیره و بازیابی سریع
- شمارش حروف و کلمات
- چندتاییها (۱ جلسه)
- توابع و متدها
- کاربردهای چندتایی
- مرتبسازی واژهنامه
- ایجاد فشرده لیستها
- الگوریتمهای بازگشتی (۱ جلسه)
- توابع بازگشتی
- جریان اجرای توابع بازگشتی
- حل مسئله به روش بازگشتی
- نمونه مسائل بازگشتی
- برنامهسازی شیءگرا (۲ جلسه)
- آشنایی با ردهها و اشیاء
- نحوهی تعریف یک رده
- متدها و ویژگیها
- سازندهها
- مثالهایی از ردهها
- وراثت
- بارگذاری عملگرها
- پردازش متن (۱ جلسه - اختیاری)
- آشنایی با ماژول re
- عبارات منظم
- تطبیق الگوها
- جستوجو و جایگزینی متون
- محاسبات علمی (۱ جلسه - اختیاری)
- آشنایی با کتابخانههای NumPy و SciPy
- آرایهها و ماتریسها
- یافتن ریشهی معادلات
- بهینهسازی
- رسم نمودار
ارزیابی
- تمرینهای برنامهسازی و پروژه: ۱۰ نمره
- آزمون پایانی: ۱۰ نمره
- چالشهای برنامهسازی: ۱ نمره اضافی
منابع
- C. R. Severance. Python for Everybody: Exploring Data in Python 3. CreateSpace Independent Publishing Platform, 2016.
- P. Wentworth, J. Elkner, A. B. Downey, C. Meyers. How to Think Like a Computer Scientist: Learning with Python. 3rd Edition, Open Book Project, 2011.