You are not allowed to perform this action
برنامهسازی وب
Web Programming
مقطع: کارشناسی | گرایش: نرمافزار |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: برنامهسازی پیشرفته | همنیاز: – |
هدف کلی
هدف از این درس، آشنایی دانشجویان با مفاهیم اولیه و اصول طراحی نرمافزارهای تحت وب است. در این درس، دانشجویان علاوه بر آشنایی اولیه با برنامهنویسی سمت کاربر و سمت کارگزار و نحوهی تعامل این دو، با یکی از چارچوبهای پرکاربرد برای پیادهسازی نرمافزارهای تحت وب آشنا میشوند.
سرفصلها
- مقدمه (۱ جلسه)
- کلیات درس، تاریخچهی برنامهنویسی وب، پروتکلها و استانداردهای مهم، پروتکل HTTP
- طراحی صفحات (۲ جلسه)
- ساختار HTML، عناصر و ویژگیها، پاراگرافبندی، فرمتبندی، لینکها، لیستها
- تصاویر، جدولها، فرمها، عناصر جدید در HTML5
- سبکبندی (۲ جلسه)
- تعریف CSS، فرمتبندی، انتخابکنندهها، وراثت و آبشار، اصول طراحی
- چیدمان صفحه، مدل جعبهای، نمایش شناور، موقعیتها، شبهکلاسها
- جاوا اسکریپت (۴ جلسه)
- ساختار کلی زبان، کاربردها، دستورات و توابع، متغیرها و انواع دادهای، ساختارهای کنترلی
- آرایهها، اشیاء، نحوهی تعریف اشیاء، سازندهها، نهانسازی دادهها
- مدل DOM، ویرایش عناصر و سبکها، رسیدگی به رویدادها، استثناها
- کتابخانهی jQuery، انتخابکنندهها، رویدادها، جلوهها و پویانمایی
- ذخیرهی دادهها (۲ جلسه)
- آشنایی با XML، کاربردها، DTD، تبدیل توسط XSLT، آشنایی با JSON
- پایگاه دادههای رابطهای، ایجاد پایگاه داده، زبان پرسوجوی SQL
- تعامل با سرور (۲ جلسه)
- رابط CGI، ارسال توسط GET و POST، پردازش فرمها، کوکیها
- استفاده از AJAX، ارسال درخواست، دریافت و تجزیهی پاسخ، کاربردها
- رویکردها و الگوهای توسعه نرمافزارهای مبتنی بر وب (۴ جلسه)
- الگوی MVC
- رویکرد سرویسگرا
- معماری لایهای
- الگوی Inversion of Control و Dependency Injection
- آشنایی با ORM (Object Relational Mapping)
- پایتون (۴ جلسه)
- ساختار زبان، عملگرها، انواع دادهای، لیستها، رشتهها، چندتاییها، فرهنگهای دادهای
- توابع، ماژولها، پکیجها، توابع بینام، آرگومانهای متغیر، دکوراتورها
- ردهها و اشیاء، سازندهها، وراثت، رسیدگی به استثناها
- پروندهها، پردازش متن، عبارات منظم، کاربردها
- خواندن صفحات وب، کارگزار وب پایتون، آشنایی با WSGI
- چارچوب جنگو (۵ جلسه)
- مفاهیم اولیه، نصب و راهاندازی، مؤلفهها، معماری کلی
- ایجاد یک پروژه، تعریف پایگاه داده، راهاندازی مدیر، افزودن نما
- لایهی مدل، نگاشتگر شیء-رابطه، وراثت، اجرای پرسوجو
- لایهی نما، نگاشت نشانیها، اشیاء درخواست و پاسخ، نماهای عمومی
- لایهی قالب، زبان تعریف قالب، تگها و فیلترهای آماده
- پردازش فرمها، ابزارکهای توکار، اعتبارسنجی
- مباحث پیشرفته (۴ جلسه، در حد فرصت)
- میانافزارها، بهینهسازی، فشردهسازی، استفاده از کش
- احراز هویت، کنترل دسترسیها، مدیریت کاربرها و گروهها
- امنیت، محافظت در مقابل حملات امنیتی، رمزنگاری
- جلسات، ذخیرهی حالت جلسه، روشهای ترکیبی
- بینالمللیسازی، محلیسازی، ابزارهای ترجمه
ارزیابی پیشنهادی
- تمرینهای عملی (۵ نمره)
- پروژه (۵ نمره)
- آزمون میانترم (۴ نمره)
- آزمون پایانی (۶ نمره)
منابع پیشنهادی
- J. Wolf. HTML and CSS: The Comprehensive Guide. Rheinwerk Computing, 2023.
- D. Flanagan. Javascript: The Definitive Guide. 7th Edition, O'Reilly Media, 2020.
- B. Shaw, S. Badhwar, C. Guest, and B. Chandra. Web Development with Django. 2nd Edition, Packt Publishing, 2023.
- M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, and R. Stafford. Patterns of Enterprise Application Architecture. Pearson Addison-Wesley, 2003.