- Course Level: Code 401
- Certificate: Advanced Software Development In Python
- Code 102
- Code 201
- Code 301
Students with previous relevant or equivalent experience can test out of this requirement in their application.
Learn the language used at NASA, Instagram, Netflix, and other companies large and small – as you build professional-grade apps in Python.
Throughout this intensive course, you will study professional software development techniques and practices as you advance your skills in Python.
Students will learn to write clean, well-tested, advanced Python code using industry-standard software engineering patterns. They will study the foundational structures of programming, from object-oriented principles to advanced topics such as Django, Docker, and Data Science.
Upon satisfactory completion of this course, a student should be able to:
- Fundamentals of Python
- Object-Oriented Programming
- Structural Design Patterns
- Client / Server Architecture
- Test Driven Development
- Unit, Integration, and End-to-End Testing
- SQL Databases
- Restful API
- Authentication / Authorization
- Code Readability and Maintainability
- Version Control
- Debugging
- Utility First CSS
- Dependency Injection
- Continuous Integration and Deployment
- Serverless
- Jupyter Notebooks
- Write "pythonic" code.
- Domain modeling of real-world concepts using object-oriented programming.
- Configure and perfrom CRUD on PostgreSQL Databases.
- API building using contemporary frameworks and design patterns.
- Writing, publishing, and maintaining software documentation.
- Building User Interfaces using the Next.js and Tailwind CSS.
- Test driven development with integration and unit tests.
- Host Jupyter Notebooks on Kaggle.
Class # | Topic | Lab |
---|---|---|
01 | Intro to Python | Ensuring our computers and minds are prepared for Python |
02 | Modules and Testing | Test Driven Development |
03 | File IO & Exceptions | Interacting with file system and handling when things go wrong |
04 | Object Oriented Programming | Modeling problem domain with classes |
05 | Linked Lists, Big O, Resume Workshop | Linked List Implementation |
Class # | Topic | Lab |
---|---|---|
06 | Guided Project 1 | Assessing risk and prioritizing features |
07 | Guided Project 2 | Automating behavior verificiation |
08 | Guided Project 3 | Handling cheaters and losers |
09 | Guided Project 4 | Wrapping up with a Bot |
10 | Stacks, Queues, Personal Pitch Workshop | Stack, Queue Implementations |
Class # | Topic | Lab |
---|---|---|
11 | Intro to Data Science | Scientific computing with Numpy |
12 | Data Analysis | Data Frames with Pandas |
13 | Linear Regressions | Machine Learning with scikit-learn |
14 | Data Visualization | Visualizing statistical data with Seaborn |
15 | Trees, Job Search Workshop | Tree Implementation |
Class # | Topic | Lab |
---|---|---|
16 | Serverless Functions | Computing in the cloud |
17 | Web Scraping | Automating collecting data from web page |
18 | Cryptography | Cracking the Caesar cipher |
19 | Automation | Getting machine to handle the boring stuff |
20 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
Class # | Deliverables |
---|---|
16 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
17 | Phase 1 |
18 | MVP |
19 | Final Polish, Presentation Practice |
20 | Live Project Presentations |
Class # | Topic | Lab |
---|---|---|
26 | Intro to Django | Build better web apps more quickly with less code |
27 | Django Models | Object Relational Mapping |
28 | Django CRUD and Forms | Create, Read, Update, and Delete |
29 | DjangoX | Customizing Django to make it your own |
30 | Hash Tables, Behavioral Interviewing | Hash Tables Implementation |
Class # | Topic | Lab |
---|---|---|
31 | Django REST Framework & Docker | Leveling up Django for APIs & Containerization |
32 | Permissions & Postgresql | Controlling access to your API & enterprise Database |
33 | Authentication & Production Server | JSON Web Tokens & Moving beyond development server |
34 | Back End Deployment | Moving API to the cloud |
35 | Graphs, Technical Interviewing | Graph Implementation |
Class # | Topic | Lab |
---|---|---|
36 | DS&A Review | Data Structures & Algorithms Workshop |
37 | React + Next.JS | Intro to Next.js & Tailwind CSS |
38 | React - Forms and Conditional Rendering | Projecting application state |
39 | Resource Fetching & Authentication | Consuming Authenticated Resources |
40 | Personal Presentation | Final Exam Prep |
Class # | Topic | Lab |
---|---|---|
41 | Full Stack Deployment | Deploying Front End, Back End and Database |
42 | Pythonisms | Generators, Iterators and Magic Methods |
43 | Open Source | Research, contribute to OSS |
44 | Ethics | Final Exam |
45 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
Class # | Deliverables |
---|---|
46 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
47 | Phase 1 |
48 | MVP |
49 | Final Polish, Presentation Practice |
50 | Live Project Presentations |