Code 401: Python Core Syllabus

Course Information

  • Course Level: Code 401
  • Certificate: Advanced Software Development In Python

Course Prerequisites

  • Code 102
  • Code 201
  • Code 301

Students with previous relevant or equivalent experience can test out of this requirement in their application.

Course Description

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.

Required Materials

Suggested Resources

Program Learning Outcomes

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
47 Phase 1
48 MVP
49 Final Polish, Presentation Practice
50 Live Project Presentations