Web Programming
Instructor: Hamid Zarrabi-Zadeh | Certificate: Official (bilingual) |
Term: Summer 2025 | Prerequisite: Python Programming |
Schedule: Sunday 17:00-20:00 | Online Class: Online Class |
General Objective
The objective of this course is to familiarize students with the fundamental concepts and principles of web application design. In this course, students will learn about both client-side and server-side programming and their interaction, while also becoming acquainted with Django as one of the most prominent and widely-used Python-based frameworks for professional and efficient web application development.
Topics
- Frontend Design (6 sessions)
- HTML page design, elements and attributes, formatting, lists
- Forms, semantic elements, multimedia elements, design recommendations
- CSS styling, inheritance and cascade, selectors, custom font embedding
- Page layout, box model, floating display, pseudo-classes, responsive design
- JavaScript, ES6+ concepts, modules, classes, destructuring
- DOM model, element manipulation, event handling, async functions, applications
- Server Interaction (2 sessions)
- Python web server, CGI interface, form processing, WSGI interface
- Using AJAX, server communication, working with APIs, JSON data exchange
- Django Framework (10 sessions)
- Basic concepts, installation and setup, components, overall architecture
- Creating a project, defining models, setting up admin, adding views
- Template layer, template language, base template, built-in filters
- Model layer, object-relational mapping, model relationships, inheritance
- Data querying, query types, data management
- View layer, URL mapping, request/response objects, generic views
- Form processing, built-in widgets, validation
- Authentication, access control, user and group management
- Decorators, definition methods, variable arguments, Django applications
- Deployment phase, using Docker, web server configuration, packaging, optimization
Assessment
- Practical exercises (6 points)
- Project (5 points)
- Final exam (10 points)
References
- 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, and C. Guest. 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.