برنامه‌سازی کامپیوتر

Computer Programming

مقطع: کارشناسی گرایش: –
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

هدف از این درس، آشنایی دانشجویان رشته‌های فنی و مهندسی با مبانی برنامه‌سازی کامپیوتر، ایجاد تفکر الگوریتمی در حل مسائل، کسب توانایی پیاده‌سازی الگوریتم‌های متداول به وسیله‌ی کامپیوتر، آشنایی با اصول اولیه‌ی نوشتن برنامه‌های ساخت‌یافته و مهندسی‌ساز و نیز کسب توانایی استفاده از بسته‌ها و کتابخانه‌های موجود برای انجام محاسبات علمی و عددی و حل مسائل پایه‌ی مهندسی است. در این درس از زبان برنامه‌سازی پایتون برای آموزش و ایجاد مهارت‌های فوق استفاده خواهد شد.

سرفصل‌ها

  1. مفاهیم اولیه، مراحل ساخت و اجرای یک برنامه
  2. مقدمات برنامه‌سازی، متغیرها، انواع داده‌ها، دستورات ورودی و خروجی
  3. ساختارهای انتخاب و تکرار، انتخاب‌های چندگانه، حلقه‌های تودرتو
  4. برنامه‌سازی ساخت‌یافته، توابع و ماژول‌ها، نحوه‌ی ساخت ماژول
  5. رشته‌ها و پرونده‌ها، عملگرهای رشته‌ای، خواندن و نوشتن پرونده
  6. داده‌ساختارها، لیست‌ها، چندتایی‌ها، مجموعه‌ها و واژه‌نامه‌ها
  7. طراحی الگوریتم‌ها، روش‌های جستجو و مرتب‌سازی، الگوریتم‌های بازگشتی
  8. برنامه‌سازی شیءگرا، متدها و ویژگی‌ها، سازنده‌ها، وراثت
  9. پردازش متن، عبارات منظم، آشنایی با ماژول re
  10. آزمون واحد، بررسی خودکار درستی برنامه توسط unittest
  11. طراحی واسط کاربر تحت وب، آشنایی با چارچوب Flask
  12. محاسبات علمی و عددی، آشنایی با کتابخانه‌های NumPy و SciPy
  13. رسم نمودار و مصورسازی، آشنایی با کتابخانه‌ی matplotlib
  14. کاربرد در حل مسائل پایه‌ی مهندسی، آشنایی با بسته‌های مرتبط (متناسب با رشته دانشجو)

انتظار می‌رود در ارائه‌ی بخش آخر درس، متناسب با رشته‌ی تحصیلی دانشجویان مثال‌های مرتبط انتخاب و همراه با بسته‌ها و کتابخانه‌های مناسب به دانشجو معرفی شود.

ارزیابی پیشنهادی

  1. تمرین‌های برنامه‌سازی و پروژه: ۳۰ درصد نمره
  2. آزمون‌های میان‌ترم و پایان‌ترم: ۷۰ درصد نمره

منابع پیشنهادی

  1. A. B. Downey. Think Python: How to Think Like a Computer Scientist. 3rd Edition, O'Reilly Media, 2024.
  2. E. Matthes. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. 3rd Edition, 2023.
  3. C. R. Severance. Python for Everybody: Exploring Data in Python 3. CreateSpace Independent Publishing, 2016.