برنامهسازی وب
Web Programming
شماره درس: ۴۰۴۱۹ | تعداد واحد: ۳ |
مقطع: کارشناسی | نوع درس: نظری |
پیشنیاز: برنامهسازی پیشرفته | همنیاز: – |
اهداف درس
هدف از این درس، آشنایی دانشجویان با مفاهیم اولیه و اصول طراحی نرمافزارهای تحت وب است. در این درس، دانشجویان علاوه بر آشنایی اولیه با برنامهنویسی سمت کاربر و سمت کارگزار و نحوهی تعامل این دو، با یکی از چارچوبهای پرکاربرد برای پیادهسازی نرمافزارهای تحت وب آشنا میشوند
ریز مواد
- مقدمه (۱ جلسه)
- کلیات درس، تاریخچهی وب، پروتکل HTTP
- طراحی صفحات (۲ جلسه)
- ساختار HTML، عناصر و ویژگیها، پاراگرافبندی، فرمتبندی، لینکها، لیستها
- تصاویر، جدولها، فرمها، عناصر جدید در HTML5
- سبکبندی (۲ جلسه)
- تعریف CSS، فرمتبندی، انتخابکنندهها، وراثت و آبشار، اصول طراحی
- چیدمان صفحه، مدل جعبهای، نمایش شناور، موقعیتها، شبهکلاسها
- جاوا اسکریپت (۴ جلسه)
- ساختار کلی زبان، کاربردها، دستورات و توابع، متغیرها و انواع دادهای، ساختارهای کنترلی
- آرایهها، اشیاء، نحوهی تعریف اشیاء، سازندهها، نهانسازی دادهها
- مدل DOM، ویرایش عناصر و سبکها، رسیدگی به رویدادها، استثناها
- کتابخانهی jQuery، انتخابکنندهها، رویدادها، جلوهها و پویانمایی
- ذخیرهی دادهها (۲ جلسه)
- آشنایی با XML، کاربردها، DTD، تبدیل توسط XSLT، آشنایی با JSON
- پایگاه دادههای رابطهای، ایجاد پایگاه داده، زبان پرسوجوی SQL
- تعامل با سرور (۲ جلسه)
- رابط CGI، ارسال توسط GET و POST، پردازش فرمها، کوکیها
- استفاده از AJAX، ارسال درخواست، دریافت و تجزیهی پاسخ، کاربردها
- پایتون (۵ جلسه)
- ساختار زبان، عملگرها، انواع دادهای، لیستها، رشتهها، چندتاییها، فرهنگهای دادهای
- توابع، ماژولها، پکیجها، توابع بینام، آرگومانهای متغیر، دکوراتورها
- ردهها و اشیاء، سازندهها، وراثت، رسیدگی به استثناها
- پروندهها، پردازش متن، عبارات منظم، کاربردها
- خواندن صفحات وب، کارگزار وب پایتون، آشنایی با WSGI
- معماری وب (۲ جلسه)
- لایهبندی، معماری کاربر-کارگزار، معماری سهلایه، معماری MVC
- مدلهای داده، انواع رابطه، تطابق با پایگاه دادههای رابطهای
- چارچوب جنگو (۶ جلسه)
- مفاهیم اولیه، نصب و راهاندازی، مؤلفهها، معماری کلی
- ایجاد یک پروژه، تعریف پایگاه داده، راهاندازی مدیر، افزودن نما
- لایهی مدل، نگاشتگر شیء-رابطه، وراثت، اجرای پرسوجو
- لایهی نما، نگاشت نشانیها، اشیاء درخواست و پاسخ، نماهای عمومی
- لایهی قالب، زبان تعریف قالب، تگها و فیلترهای آماده
- پردازش فرمها، ابزارکهای توکار، اعتبارسنجی
- مباحث پیشرفته (۴ جلسه، در حد فرصت)
- میانافزارها، بهینهسازی، فشردهسازی، استفاده از کش
- احراز هویت، کنترل دسترسیها، مدیریت کاربرها و گروهها
- امنیت، محافظت در مقابل حملات امنیتی، رمزنگاری
- جلسات، ذخیرهی حالت جلسه، روشهای ترکیبی
- بینالمللیسازی، محلیسازی، ابزارهای ترجمه
ارزیابی
- تمرینهای عملی (۵ نمره)
- پروژه (۵ نمره)
- آزمون میانترم (۴ نمره)
- آزمون پایانی (۶ نمره)
مراجع
- S. M. Schafer. HTML, XHTML, and CSS Bible. 5th Edition, Wiley Publishing, 2010.
- J. Forcier, P. Bissex, and W. Chun. Python Web Development with Django. Pearson Addison-Wesley, 2009.
- W. J. Chun. Core Python Applications Programming. 3rd Edition, Pearson Addison-Wesley, 2012.
- M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, and R. Stafford. Patterns of Enterprise Application Architecture. Pearson Addison-Wesley, 2003.