Level: Intermediate
Prerequisites:
- Programming Fundamentals (C, C++ or any programming language).
- Basic Knowledge about Databases.
Would be helpful:
- Familiarity with Web & Web Technologies like HTML, CSS, Javascript.
- Familiarity with Linux, CLI(Command Line Interface) & tools.
This is a 60 hours course, 2.5 hours per each class, 3 classes a week and 24 classes in total, and would be a 8 weeks long course. This course mainly focuses on Python (20 hrs), Django Framework (30 hrs) and the rest of the 10 hours are to be spent on the Web Development basics, Databases & Version Control System which are platform agnostic and are preliminaries to be covered in Web Development in any platform.
The 2.5 hours of class would contain theoretical discussions, practical lessons, implementation, exercises and discussions about assignments. Students are given assignments after each class and we'll use GitHub for submitting the assignments as well. Students will just be maintaining their own history of assignments and exercises they do in their own github account. This is why we'll begin with the first class on Git & Github basics followed by others.
- Git & Github
- Variables, Data Types & Operators
- String, Formatting & Operations
- Lists & Dictionaries
- Conditions
- Loops
- Functions & Lamdas
- Modules & Packages
- Classes & Objects
- DBMS, Database and SQL
- Web, Client, Server and HTTP
- Javascript basics and the Frontend
- WSGI, pip & virtualenv
- Django - Hello World
- Templates & Views
- Database, ORM & Models
- HTML Forms & Form Processing
- Validation
- Authentication
- Django Admin
- Full backend development
- REST API Development
- Best Practices
- Application Deployment to Heroku