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.
Student Learning Outcomes
Upon satisfactory completion of this course, a student should be able to:
Describe and Define
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
Execute
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.
Course Schedule
Module 1
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
Module 2
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
Module 3
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
Module 4
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
Module 5 - Midterm Project
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
Module 6
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
Module 7
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
Module 8
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
Module 9
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
Module 10 - Capstone Project
Class #
Deliverables
46
Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements