Full Stack Dev (Python)
Course Description
The course is divided into 16 weeks, with each week focusing on a specific topic related to full stack web development with Python. Lectures are scheduled for 2 hours on Mondays and Wednesdays, while lab classes are scheduled for 1 hour on Mondays and Wednesdays, 3 hours on Tuesdays and Thursdays, and 4 hours on Saturdays. Quizzes and projects are integrated throughout the course to assess students' understanding and progress.
Course Goals
By the end of the course, students will be able to:
- Understand full-stack web development concepts.
- Develop web apps with Flask, Django, and Python.
- Design responsive and interactive UIs with HTML, CSS, and JavaScript.
- Create RESTful APIs with Django Rest Framework.
- Deploy apps using popular platforms and build a final project to demonstrate skills.
Week
1
( 18 Hours )
Introduction to Web Development and HTML/CSS Basics
- Lecture (Monday): Introduction to Full Stack Web Development and Python
- Lecture (Wednesday): HTML and CSS Basics
- Lab (Monday & Wednesday): Setting up a development environment
- Lab (Tuesday & Thursday): HTML & CSS practice
- Lab (Saturday): Building a simple static webpage
- Quiz 1 (Saturday): HTML and CSS
Week
2
( 18 Hours )
JavaScript Fundamentals and DOM Manipulation
- Lecture (Monday): Introduction to JavaScript
- Lecture (Wednesday): JavaScript DOM manipulation
- Lab (Monday & Wednesday): JavaScript basics
- Lab (Tuesday & Thursday): DOM manipulation exercises
- Lab (Saturday): Implementing interactivity on a webpage
- Quiz 2 (Saturday): JavaScript
Week
3
( 18 Hours )
Introduction to Python and Command-line Applications
- Lecture (Monday): Introduction to Python
- Lecture (Wednesday): Python data structures and functions
- Lab (Monday & Wednesday): Python basics
- Lab (Tuesday & Thursday): Python exercises
- Lab (Saturday): Mini-project: Building a command-line tool using Python
- Quiz 3 (Saturday): Python basics
Week
4
( 18 Hours )
Flask Web Framework Basics and Simple Web Applications
- Lecture (Monday): Introduction to Flask
- Lecture (Wednesday): Flask routes and templates
- Lab (Monday & Wednesday): Flask setup and basic routing
- Lab (Tuesday & Thursday): Flask templates and rendering
- Lab (Saturday): Mini-project: Building a simple web application with Flask
- Quiz 4 (Saturday): Flask basics
Week
5
( 18 Hours )
Database Fundamentals, SQL, and Python Integration
- Lecture (Monday): Introduction to databases and SQL
- Lecture (Wednesday): Python and databases (SQLite)
- Lab (Monday & Wednesday): SQL basics
- Lab (Tuesday & Thursday): Python and SQLite exercises
- Lab (Saturday): Mini-project: Building a CRUD application using Flask and SQLite
- Quiz 5 (Saturday): Databases and SQL
Week
6
( 18 Hours )
Django Web Framework Basics and Simple Web Applications
- Lecture (Monday): Introduction to Django
- Lecture (Wednesday): Django models and views
- Lab (Monday & Wednesday): Django setup and basic routing
- Lab (Tuesday & Thursday): Django models and views exercises
- Lab (Saturday): Mini-project: Building a simple web application with Django
- Quiz 6 (Saturday): Django basics
Week
7
( 18 Hours )
Advanced Django: Templates, Forms, and User Authentication
- Lecture (Monday): Django templates and forms
- Lecture (Wednesday): Django authentication and authorization
- Lab (Monday & Wednesday): Django templates and forms exercises
- Lab (Tuesday & Thursday): Django authentication and authorization exercises
- Lab (Saturday): Mini-project: Building a user-authenticated web application with Django
- Quiz 7 (Saturday): Django templates, forms, and authentication
Week
8
( 18 Hours )
RESTful APIs and Django Rest Framework
- Lecture (Monday): Introduction to RESTful APIs
- Lecture (Wednesday): Building APIs with Django Rest Framework
- Lab (Monday & Wednesday): RESTful API concepts and basics
- Lab (Tuesday & Thursday): Django Rest Framework exercises
- Lab (Saturday): Mini-project: Building an API with Django Rest Framework
- Quiz 8 (Saturday): RESTful APIs and Django Rest Framework
Week
9
( 18 Hours )
Introduction to Front-end Frameworks
- Lecture (Monday): Introduction to Front-end Frameworks (React)
- Lecture (Wednesday): React components and state management
- Lab (Monday & Wednesday): React setup and basics
- Lab (Tuesday & Thursday): React components and state exercises
- Lab (Saturday): Mini-project: Building a simple React application
- Quiz 9 (Saturday): React basics
Week
10
( 18 Hours )
Full-Stack Web Development with Django and Front-end Frameworks
- Lecture (Monday): AJAX in Front-end Frameworks
- Lecture (Wednesday): Integrating Front-end Frameworks with Django
- Lab (Monday & Wednesday): AJAX with Front-end Framework exercises, Q&A session
- Lab (Tuesday & Thursday): Integrating Front-end Framework with Django exercises
- Lab (Saturday): Mini-project: Building a full-stack web application with Django and Front-end Framework, Q&A session
- Quiz 10 (Saturday): Front-end Framework and Django integration
Week
11
( 18 Hours )
Web Application Deployment and Platform Services
- Lecture (Monday): Introduction to Web Application Deployment
- Lecture (Wednesday): Deploying Flask and Django Applications
- Lab (Monday & Wednesday): Deployment options and considerations, Q&A session
- Lab (Tuesday & Thursday): Deploying a Flask application to Heroku
- Lab (Saturday): Deploying a Django application to Heroku, Q&A session
- Quiz 11 (Saturday): Web Application Deployment
Week
12
( 18 Hours )
Version Control with Git and Collaborative Coding
- Lecture (Monday): Introduction to Git and Version Control
- Lecture (Wednesday): Git workflows and collaboration
- Lab (Monday & Wednesday): Git basics and setup, Q&A session
- Lab (Tuesday & Thursday): Git workflows and collaboration exercises
- Lab (Saturday): Mini-project: Collaborative coding with Git, Q&A session
- Quiz 12 (Saturday): Git and Version Control
Week
13
( 18 Hours )
Web Application Security and Best Practices
- Lecture (Monday): Web Application Security Basics
- Lecture (Wednesday): Securing Flask and Django Applications
- Lab (Monday & Wednesday): Web application security concepts, Q&A session
- Lab (Tuesday & Thursday): Flask and Django security best practices exercises
- Lab (Saturday): Mini-project: Securing a web application, Q&A session
- Quiz 13 (Saturday): Web Application Security
Week
14
( 18 Hours )
Testing, Continuous Integration, and Quality Assurance
- Lecture (Monday): Introduction to Testing and Continuous Integration
- Lecture (Wednesday): Unit Testing in Flask and Django
- Lab (Monday & Wednesday): Testing concepts and strategies, Q&A session
- Lab (Tuesday & Thursday): Unit testing exercises with Flask and Django
- Lab (Saturday): Mini-project: Implementing unit tests for a web application, Q&A session
- Quiz 14 (Saturday): Testing and Continuous Integration
Week
15
( 18 Hours )
Web Performance Optimization and Best Practices
- Lecture (Monday): Web Performance Optimization
- Lecture (Wednesday): Performance Optimization in Flask and Django Applications
- Lab (Monday & Wednesday): Web performance optimization techniques, Q&A session
- Lab (Tuesday & Thursday): Flask and Django performance optimization exercises
- Lab (Saturday): Mini-project: Optimizing a web application, Q&A session
- Quiz 15 (Saturday): Web Performance Optimization
Week
16
( 18 Hours )
Career Preparation and Final Project - Personal Portfolio
- Lecture (Monday): Preparing for a career in web development
- Lecture (Wednesday): Building an effective personal portfolio
- Lab (Monday & Wednesday): Resume and cover letter guidance, Q&A session
- Lab (Tuesday & Thursday): Personal branding, LinkedIn, and networking strategies
- Final Project: Personal Portfolio