Pre-work (From home)
- Basic introduction to HTML and CSS.
- Basic git
- Basic linux.
- Writing and reading regular expressions.
- Working with SQL - intermediate level.
Sprint 0 (Days 1-5)
- Advanced software development with Python
- Automated testing and Test Driven Development (TDD)
- Introduction to web technologies: HTTP, consuming REST APIs, simple HTTP servers with bottle.py and heroku.
- Working with datasets, using ipython notebook and pandas for data visualization.
- Non relational databases with MongoDB.
- Linux: Running your own Raspberry PI and VPS.
- Practical git and github in a team - from branching and forking to pull request and merging.
- Self Learning: html, css, bootstrap css.
Sprint 1 (Days 6-10)
- Brewing web applications: drawing wireframes/mockups, working with trello.
- Using Django (batteries included) to build webapps:
- MVC architecture
- Relational DBs and ORM
- Templates and Class Based Views
- Users, authentication and security
- Automated deployment with fabric/ansible.
- Mini project: web based wedding/event planner.
Sprint 2 (Days 11-15)
- Testing with Jasmine.
- Deep understanding of browser technologies and developer tools.
- jQuery: DOM and browser interaction, XHR (AJAX) and client-server communication.
- Consuming JS APIs: Google maps JS API as an example.
- Tooling: node, gulp, babel, less (and maybe jspm).
- Mini project: build a simple but cool game with advanced JS web APIs and libraries.
Sprint 3 (Days 16-20)
- Final project: full stack Django + Angular 2 webapp.
- Contributing to open source projects.