Skip to content

Commit d773078

Browse files
committed
first commit!
0 parents  commit d773078

File tree

1,917 files changed

+490104
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,917 files changed

+490104
-0
lines changed

.editorconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
indent_style = space
7+
indent_size = 4
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
end_of_line = lf
11+
charset = utf-8
12+
13+
# Docstrings and comments use max_line_length = 79
14+
[*.py]
15+
max_line_length = 119
16+
17+
# Use 2 spaces for the HTML files
18+
[*.{html, js, css, scss, yml, jinja2, json}]
19+
indent_size = 2

.eslintignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/*.min.js
2+
**/vendor/**/*.js
3+
node_modules/**.js

.eslintrc

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"rules": {
3+
"camelcase": [0, {"properties": "always"}],
4+
"comma-spacing": [2, {"before": false, "after": true}],
5+
"dot-notation": [2, {"allowKeywords": true}],
6+
"curly": [2, "all"],
7+
"indent": [2, 4],
8+
"key-spacing": [2, {"beforeColon": false, "afterColon": true}],
9+
"new-cap": [0, {"newIsCap": true, "capIsNew": true}],
10+
"no-alert": [0],
11+
"no-eval": [2],
12+
"no-extend-native": [2, {"exceptions": ["Date", "String"]}],
13+
"no-multi-spaces": [2],
14+
"no-octal-escape": [2],
15+
"no-underscore-dangle": [2],
16+
"no-unused-vars": [2, {"vars": "local", "args": "none"}],
17+
"no-script-url": [2],
18+
"no-shadow": [2, {"hoist": "functions"}],
19+
"quotes": [0, "single"],
20+
"linebreak-style": [2, "unix"],
21+
"semi": [2, "always"],
22+
"space-before-blocks": [2, "always"],
23+
"space-before-function-paren": [2, {"anonymous": "never", "named": "never"}],
24+
"space-infix-ops": [2, {"int32Hint": false}],
25+
"strict": [1, "function"]
26+
},
27+
"env": {
28+
"browser": true
29+
},
30+
"globals": {
31+
"django": false
32+
}
33+
}

.gitattributes

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Normalize line endings to avoid spurious failures in the core test suite on Windows.
2+
*html text eol=lf
3+
*css text eol=lf
4+
*js text eol=lf

.gitignore

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
Source: https://github.com/github/gitignore/blob/master/Python.gitignore
2+
3+
# User generated
4+
ENV/
5+
.vscode
6+
.idea
7+
.DS_Store
8+
.history
9+
10+
11+
# Byte-compiled / optimized / DLL files
12+
__pycache__/
13+
*.py[cod]
14+
*$py.class
15+
.pytest_cache/
16+
17+
# C extensions
18+
*.so
19+
20+
# Distribution / packaging
21+
.Python
22+
build/
23+
develop-eggs/
24+
dist/
25+
downloads/
26+
eggs/
27+
.eggs/
28+
lib/
29+
lib64/
30+
parts/
31+
sdist/
32+
var/
33+
wheels/
34+
*.egg-info/
35+
.installed.cfg
36+
*.egg
37+
MANIFEST
38+
39+
# PyInstaller
40+
# Usually these files are written by a python script from a template
41+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
42+
*.manifest
43+
*.spec
44+
45+
# Installer logs
46+
pip-log.txt
47+
pip-delete-this-directory.txt
48+
49+
# Unit test / coverage reports
50+
htmlcov/
51+
.tox/
52+
.coverage
53+
.coverage.*
54+
.cache
55+
nosetests.xml
56+
coverage.xml
57+
*.cover
58+
.hypothesis/
59+
60+
# Translations
61+
*.mo
62+
*.pot
63+
64+
# Django stuff:
65+
*.log
66+
.static_storage/
67+
.media/
68+
local_settings.py
69+
70+
# Flask stuff:
71+
instance/
72+
.webassets-cache
73+
74+
# Scrapy stuff:
75+
.scrapy
76+
77+
# Sphinx documentation
78+
docs/_build/
79+
80+
# PyBuilder
81+
target/
82+
83+
# Jupyter Notebook
84+
.ipynb_checkpoints
85+
86+
# pyenv
87+
.python-version
88+
89+
# celery beat schedule file
90+
celerybeat-schedule
91+
92+
# SageMath parsed files
93+
*.sage.py
94+
95+
# Environments
96+
.env
97+
.venv
98+
env/
99+
venv/
100+
ENV/
101+
env.bak/
102+
venv.bak/
103+
104+
# Spyder project settings
105+
.spyderproject
106+
.spyproject
107+
108+
# Rope project settings
109+
.ropeproject
110+
111+
# mkdocs documentation
112+
/site
113+
114+
# mypy
115+
.mypy_cache/
116+
117+
# js
118+
node_modules/
119+
.next/
120+
121+
# poetry
122+
poetry.lock

.markdownlint.json

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"line-length": false,
3+
"no-trailing-punctuation": false,
4+
"no-inline-html": {
5+
"allowed_elements": [
6+
"a",
7+
"dl",
8+
"dt",
9+
"dd",
10+
"summary",
11+
"detail",
12+
"img"
13+
]
14+
}
15+
}

README.md

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# Code 401: Python Core Syllabus
2+
3+
## Course Information
4+
5+
- Course Level: Code 401
6+
- Certificate: Advanced Software Development In Python
7+
8+
## Course Prerequisites
9+
10+
- Code 102
11+
- Code 201
12+
- Code 301
13+
14+
> Students with previous relevant or equivalent experience can test out of this requirement in their application.
15+
16+
## Course Description
17+
18+
Learn the language used at NASA, Instagram, Netflix, and other companies large and small – as you build professional-grade apps in Python.
19+
20+
Throughout this intensive course, you will study professional software development techniques and practices as you advance your skills in Python.
21+
22+
## Required Materials
23+
24+
### Suggested Resources
25+
26+
- [Django for Beginners](https://djangoforbeginners.com/)
27+
- [A Common Sense Guide to Data Structures and Algorithms](https://pragprog.com/titles/jwdsal2/a-common-sense-guide-to-data-structures-and-algorithms-second-edition/)
28+
29+
## Program Learning Outcomes
30+
31+
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.
32+
33+
## Student Learning Outcomes
34+
35+
Upon satisfactory completion of this course, a student should be able to:
36+
37+
### Describe and Define
38+
39+
- Fundamentals of Python
40+
- Object-Oriented Programming
41+
- Structural Design Patterns
42+
- Client / Server Architecture
43+
- Test Driven Development
44+
- Unit, Integration, and End-to-End Testing
45+
- SQL Databases
46+
- Restful API
47+
- Authentication / Authorization
48+
- Code Readability and Maintainability
49+
- Version Control
50+
- Debugging
51+
- Utility First CSS
52+
- Dependency Injection
53+
- Continuous Integration and Deployment
54+
- Serverless
55+
- Jupyter Notebooks
56+
57+
### Execute
58+
59+
- Write "pythonic" code.
60+
- Domain modeling of real-world concepts using object-oriented programming.
61+
- Configure and perfrom CRUD on PostgreSQL Databases.
62+
- API building using contemporary frameworks and design patterns.
63+
- Writing, publishing, and maintaining software documentation.
64+
- Building User Interfaces using the Next.js and Tailwind CSS.
65+
- Test driven development with integration and unit tests.
66+
- Host Jupyter Notebooks on Kaggle.
67+
68+
## Course Schedule
69+
70+
### Module 1
71+
72+
| Class # | Topic | Lab |
73+
|-----------------|-----------|----------|
74+
| 01 | Intro to Python | Ensuring our computers and minds are prepared for Python |
75+
| 02 | Modules and Testing | Test Driven Development |
76+
| 03 | File IO & Exceptions | Interacting with file system and handling when things go wrong |
77+
| 04 | Object Oriented Programming | Modeling problem domain with classes |
78+
| 05 | Linked Lists, Big O, Resume Workshop | Linked List Implementation |
79+
80+
### Module 2
81+
82+
| Class # | Topic | Lab |
83+
|-----------------|-----------|----------|
84+
| 06 | Guided Project 1 | Assessing risk and prioritizing features |
85+
| 07 | Guided Project 2 | Automating behavior verificiation |
86+
| 08 | Guided Project 3 | Handling cheaters and losers |
87+
| 09 | Guided Project 4 | Wrapping up with a Bot |
88+
| 10 | Stacks, Queues, Personal Pitch Workshop | Stack, Queue Implementations |
89+
90+
### Module 3
91+
92+
| Class # | Topic | Lab |
93+
|-----------------|-----------|----------|
94+
| 11 | Intro to Data Science | Scientific computing with Numpy |
95+
| 12 | Data Analysis | Data Frames with Pandas |
96+
| 13 | Linear Regressions | Machine Learning with scikit-learn |
97+
| 14 | Data Visualization | Visualizing statistical data with Seaborn |
98+
| 15 | Trees, Job Search Workshop | Tree Implementation |
99+
100+
### Module 4
101+
102+
| Class # | Topic | Lab |
103+
|-----------------|-----------|----------|
104+
| 16 | Serverless Functions | Computing in the cloud |
105+
| 17 | Web Scraping | Automating collecting data from web page |
106+
| 18 | Cryptography | Cracking the Caesar cipher |
107+
| 19 | Automation | Getting machine to handle the boring stuff |
108+
| 20 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
109+
110+
### Module 5 - Midterm Project
111+
112+
| Class # | Deliverables |
113+
|-----------------|-----------|
114+
| 16 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements|
115+
| 17 | Phase 1 |
116+
| 18 | MVP |
117+
| 19 | Final Polish, Presentation Practice |
118+
| 20 | Live Project Presentations |
119+
120+
### Module 6
121+
122+
| Class # | Topic | Lab |
123+
|-----------------|-----------|----------|
124+
| 26 | Intro to Django | Build better web apps more quickly with less code |
125+
| 27 | Django Models | Object Relational Mapping |
126+
| 28 | Django CRUD and Forms | Create, Read, Update, and Delete |
127+
| 29 | DjangoX | Customizing Django to make it your own |
128+
| 30 | Hash Tables, Behavioral Interviewing | Hash Tables Implementation |
129+
130+
### Module 7
131+
132+
| Class # | Topic | Lab |
133+
|-----------------|-----------|----------|
134+
| 31 | Django REST Framework & Docker | Leveling up Django for APIs & Containerization |
135+
| 32 | Permissions & Postgresql | Controlling access to your API & enterprise Database |
136+
| 33 | Authentication & Production Server | JSON Web Tokens & Moving beyond development server |
137+
| 34 | Back End Deployment | Moving API to the cloud |
138+
| 35 | Graphs, Technical Interviewing | Graph Implementation |
139+
140+
### Module 8
141+
142+
| Class # | Topic | Lab |
143+
|-----------------|-----------|----------|
144+
| 36 | DS&A Review | Data Structures & Algorithms Workshop |
145+
| 37 | React + Next.JS | Intro to Next.js & Tailwind CSS |
146+
| 38 | React - Forms and Conditional Rendering | Projecting application state |
147+
| 39 | Resource Fetching & Authentication | Consuming Authenticated Resources |
148+
| 40 | Personal Presentation | Final Exam Prep |
149+
150+
### Module 9
151+
152+
| Class # | Topic | Lab |
153+
|-----------------|-----------|----------|
154+
| 41 | Full Stack Deployment | Deploying Front End, Back End and Database |
155+
| 42 | Pythonisms | Generators, Iterators and Magic Methods |
156+
| 43 | Open Source | Research, contribute to OSS |
157+
| 44 | Ethics | Final Exam |
158+
| 45 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
159+
160+
### Module 10 - Capstone Project
161+
162+
| Class # | Deliverables |
163+
|-----------------|-----------|
164+
| 46 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements|
165+
| 47 | Phase 1 |
166+
| 48 | MVP |
167+
| 49 | Final Polish, Presentation Practice |
168+
| 50 | Live Project Presentations |

0 commit comments

Comments
 (0)