برنامهسازی پایتون
Python Programming
شماره درس: ۲۰۱۰ | تعداد واحد: ۳ |
نوع درس: نظری | پیشنیاز: – |
اهداف درس
هدف از این درس، آشنایی دانشجویان با مبانی برنامهسازی کامپیوتر، ایجاد تفکر الگوریتمی در حل مسائل، کسب توانایی پیادهسازی الگوریتمهای متداول به وسیلهی کامپیوتر، و نیز آشنایی با اصول اولیهی نوشتن برنامههای ساختیافته و مهندسیساز است. در این درس از زبان برنامهسازی پایتون برای آموزش و ایجاد مهارتهای فوق استفاده خواهد شد.
ریز مواد
- مفاهیم اولیه (۱ جلسه)
- تعاریف اولیه: الگوریتم، برنامه، حل مسئله
- معرفی اجزای اصلی کامپیوتر
- آشنایی با زبان پایتون
- مراحل ساخت و اجرای یک برنامه
- مقدمات برنامهسازی (۱ جلسه)
- مقادیر، متغیرها و انواع دادهها
- عملگرها و تقدم عملیات
- تبدیل دادهها
- دستورات ورودی و خروجی
- آشنایی با کدنویسی خوانا
- ساختار انتخاب (۱ جلسه)
- عبارات منطقی
- عملگرهای مقایسهای
- دستور if-else
- انتخابهای چندگانه و تودرتو
- ساختارهای تکرار (۱ جلسه)
- حلقههای شرطی و شمارشی
- دستورات while و for
- خاتمه حلقه با break و continue
- حلقههای تودرتو
- ماژولها (۱ جلسه)
- ماژولها و نحوهی استفاده از آنها
- آشنایی با گرافیک لاکپشتی
- دستورات اولیه برای رسم اشکال
- نحوهی ایجاد یک ماژول
- توابع (۱ جلسه)
- جریان اجرا
- پارامترها و آرگومانها
- حوزهی تعریف متغیرها
- توابع خروجیدار
- نمونههایی از توابع عددی
- رشتهها (۱ جلسه)
- عملگرهای رشتهای
- مقایسهی رشتهها
- پیمایش رشتهها
- توابع و متدهای رشتهای
- فرمتبندی رشتهها
- پروندهها (۱ جلسه)
- باز کردن پروندههای متنی
- روشهای خواندن از پرونده
- نوشتن در پروندهها
- پروندههای دودویی
- خواندن صفحات وب
- لیستها (۱ جلسه)
- آدرسدهی و برش لیستها
- تغییر لیستها
- توابع و متدهای لیستی
- لیستهای تودرتو
- واژهنامهها (۱ جلسه)
- نحوهی تعریف
- کاربردهای واژهنامه
- شمارش حروف و کلمات
- نمایش ماتریسهای تنک
- بهخاطرسپاری
- چندتاییها (۱ جلسه)
- توابع و متدها
- کاربردهای چندتاییها
- نمایش واژهنامه
- سایر کاربردها
- پردازش متن (۱ جلسه)
- آشنایی با ماژول re
- عبارات منظم
- تطبیق الگوها
- جستوجو و جایگزینی متون
- الگوریتمهای بازگشتی (۱ جلسه)
- توابع بازگشتی
- جریان اجرای توابع بازگشتی
- حل مسئله به روش بازگشتی
- نمونه مسائل بازگشتی
- جستوجو و مرتبسازی (۱ جلسه)
- جستوجوی خطی
- جستوجوی دودویی
- مرتبسازی انتخابی
- مرتبسازی ادغامی
- برنامهسازی شیءگرا (۱ جلسه)
- آشنایی با ردهها و اشیاء
- متدها و ویژگیها
- سازندهها
- مثالهایی از ردهها
- وراثت
- بارگذاری عملگرها
- برنامهسازی وب (۱ جلسه)
- ساختار برنامههای تحت وب
- آشنایی با چارچوب Flask
- راهاندازی وب سرور
- پردازش ورودی کاربر
- محاسبات علمی (۱ جلسه)
- آشنایی با کتابخانههای NumPy و SciPy
- آرایهها و عملگرهای آرایهای
- یافتن ریشهی معادلات
- بهینهسازی
- درونیابی
- ماتریسها و توابع جبر خطی
- رسم نمودار (۱ جلسه)
- آشنایی با کتابخانهی Matplotlib
- رسم نمودار
- رسم هیستوگرام
- نمودارهای چندگانه
ارزیابی
- تمرینهای برنامهسازی و پروژه: ۱۰ نمره
- آزمون پایانی: ۱۰ نمره
- مسابقات برنامهسازی: ۱ نمره اضافی
مراجع
- 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.
- J. Campbell, P. Gries, J. Montojo, G. Wilson. Practical Programming: An Introduction to Computer Science Using Python. The Pragmatic Bookshelf, 2009.
- J. M. Zelle. Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates, 2004.