برنامه‌سازی وب

مدرس: حمید ضرابی زاده گواهی: رسمی دوزبانه
ترم: تابستان ۱۴۰۳ پیش‌نیاز: برنامه‌سازی پیشرفته
زمان ارائه: یک‌شنبه ۱۷:۰۰ تا ۲۰:۰۰ محل برگزاری: کلاس مجازی

هدف کلی

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

سرفصل‌ها

  • طراحی صفحات (۲ جلسه)
    • ساختار HTML، عناصر و ویژگی‌ها، پاراگراف‌بندی، فرمت‌بندی، لینک‌ها، لیست‌ها
    • تصاویر، جدول‌ها، فرم‌ها، عناصر معنایی، عناصر چندرسانه‌ای، توصیه‌های طراحی
  • سبک‌بندی (۲ جلسه)
    • تعریف CSS، فرمت‌بندی، انتخاب‌کننده‌ها، وراثت و آبشار، افزودن فونت
    • چیدمان صفحه، مدل جعبه‌ای، نمایش شناور، شبه‌کلاس‌ها، طراحی واکنش‌گرا
  • جاوا اسکریپت (۲ جلسه)
    • کاربردها، مدل DOM، ویرایش عناصر، رسیدگی به رویدادها
    • کتابخانه‌ی jQuery، انتخاب‌کننده‌ها، رویدادها، جلوه‌ها و پویانمایی
  • تعامل با سرور (۲ جلسه)
    • کارگزار وب پایتون، ارسال توسط GET و POST، پردازش فرم‌ها، رابط WSGI
    • استفاده از AJAX، ارسال درخواست، دریافت و تجزیه‌ی پاسخ، کاربردها
  • پایتون (۲ جلسه)
    • ماژول‌ها و پکیج‌ها، دکوراتورها، توابع بی‌نام، آرگومان‌های متغیر
    • رده‌ها و اشیاء، وراثت، رسیدگی به استثناها، عبارات منظم
  • چارچوب جنگو (۶ جلسه)
    • مفاهیم اولیه، نصب و راه‌اندازی، مؤلفه‌ها، معماری کلی
    • ایجاد یک پروژه، تعریف مدل، راه‌اندازی مدیر، افزودن نما
    • لایه‌ی مدل، نگاشت‌گر شیء-رابطه، وراثت، اجرای پرس‌وجو
    • لایه‌ی نما، نگاشت نشانی‌ها، اشیاء درخواست و پاسخ، نماهای عمومی
    • لایه‌ی قالب‌، زبان تعریف قالب، تگ‌ها و فیلترهای آماده
    • پردازش فرم‌ها، ابزارک‌های توکار، اعتبارسنجی
  • مباحث پیشرفته (۲ جلسه)
    • احراز هویت، کنترل دسترسی‌ها، مدیریت کاربرها و گروه‌ها
    • جلسات، ذخیره‌ی حالت جلسه، روش‌های ترکیبی

ارزیابی

  • تمرین‌های عملی (۶ نمره)
  • پروژه‌ (۵ نمره)
  • آزمون پایانی (۱۰ نمره)

منابع

  1. J. Wolf. HTML and CSS: The Comprehensive Guide. Rheinwerk Computing, 2023.
  2. D. Flanagan. Javascript: The Definitive Guide. 7th Edition, O'Reilly Media, 2020.
  3. B. Shaw, S. Badhwar, and C. Guest. Web Development with Django. 2nd Edition, Packt Publishing, 2023.
  4. M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, and R. Stafford. Patterns of Enterprise Application Architecture. Pearson Addison-Wesley, 2003.