-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathcourse_outline.txt
151 lines (124 loc) · 5.94 KB
/
course_outline.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
TODO:
- Should there be a lesson on setting up an IDE?
- Should there be a lesson on how to run a python script?
- From IDE
- From Terminal
- Should there be a lesson on Virtual Environments?
- Proposition: Introduce Virtual Environments Before or in the beggining of Level 5
- This is when it might become necessary
- Proposition: Intruduce in level 3
- Because understanding how to use venvs in python is essential
### Level 0: Introduction to Python
1. **Module 0.1: Getting Started with Python**
- Lesson 0.1.1: Logical Thinking
- Lesson 0.1.2: Variables and Data Types
- Lesson 0.1.3: Running Python from the IDE vs. Running Python through the Command Prompt (Optional)
- Lesson 0.1.4
2. **Module 0.2: Basic Python Syntax and Data Types**
- Lesson 0.2.1: Variables and Data Types
- Lesson 0.2.2: Operators in Python
- Lesson 0.2.3: Strings and String Manipulations
- Lesson 0.2.4: Lists and List Manipulations
- Lesson 0.2.5: Tuples and Tuple Operations
- Lesson 0.2.6: Dictionaries and Dictionary Methods
- Lesson 0.2.7: Sets and Set Operations
- Lesson 0.2.8: Comprehensive Data Manipulation with Standard Library Functions
### Level 1: Functions and Scripting
1. **Module 1.1: Creating and Calling Functions**
- Lesson 1.1.1: Introduction to Functions
- Lesson 1.1.2: Function Parameters and Return Values
- Lesson 1.1.3: Scope and Lifetime of Variables
- Lesson 1.1.4: Creating Functions
- Lesson 1.1.5: Calling Functions
2. **Module 1.2: Working with Modules and Standard Library**
- Lesson 1.2.1: Introduction to Modules
- Lesson 1.2.2: Creating and Importing Modules
- Lesson 1.2.3: Standard Library Modules and Functions
3. **Module 1.3: Advanced Functions**
- Lesson 1.3.1: Lambda Functions
- Lesson 1.3.2: Decorators
- Lesson 1.3.3: Recursion in Python
### Level 3: Scripting and Package Creation
1. **Module 3.1: Python Scripting**
- Lesson 3.1.1: Introduction to Scripting in Python
- Lesson 3.1.2: Command-Line Arguments and Input
- Lesson 3.1.3: Writing Robust and Reusable Scripts
2. **Module 3.2: Creating Python Packages**
- Lesson 3.2.1: Understanding Packages and Modules
- Lesson 3.2.2: Organizing Code into Packages
- Lesson 3.2.3: Distributing and Installing Packages
3. **Module 3.3: Special Methods and `if __name__ == "__main__"`**
- Lesson 3.3.1: Understanding `__init__` and Special Methods
- Lesson 3.3.2: Utilizing `if __name__ == "__main__"`
- Lesson 3.3.3: Best Practices for Scripting and Package Development
### Level 4: Object-Oriented Programming (OOP)
1. **Module 4.1: Introduction to OOP**
- Lesson 4.1.1: Understanding Objects and Classes
- Lesson 4.1.2: Constructors and Destructors
- Lesson 4.1.3: Inheritance and Polymorphism
2. **Module 4.2: Advanced OOP Concepts**
- Lesson 4.2.1: Encapsulation and Abstraction
- Lesson 4.2.2: Method Overloading and Overriding
- Lesson 4.2.3: Design Principles in OOP
3. **Module 4.3: Working with Files**
- Lesson 4.3.1: Reading and Writing Text Files
- Lesson 4.3.2: Working with JSON and CSV
- Lesson 4.3.3: Exception Handling in File Operations
### Level 5: Web Development with Python (Django)
1. **Module 5.1: Introduction to Web Development with Django**
- Lesson 5.1.1: Django Framework Overview
- Lesson 5.1.2: Setting Up a Django Project
- Lesson 5.1.3: Creating Django Views and Templates
2. **Module 5.2: Django Models and Admin Interface**
- Lesson 5.2.1: Django Models and Database
- Lesson 5.2.2: Django Admin Interface
- Lesson 5.2.3: Model Relationships in Django
3. **Module 5.3: Building a Django Web Application**
- Lesson 5.3.1: URL Patterns and Routing in Django
- Lesson 5.3.2: Django Forms and Form Handling
- Lesson 5.3.3: Authentication and Authorization in Django
### Level 6: Data Science and Machine Learning
1. **Module 6.1: Introduction to Data Science**
- Lesson 6.1.1: Basics of Data Science
- Lesson 6.1.2: NumPy and Pandas
- Lesson 6.1.3: Data Cleaning and Preprocessing
2. **Module 6.2: Data Visualization with Matplotlib and Seaborn**
- Lesson 6.2.1: Basic Plots with Matplotlib
- Lesson 6.2.2: Advanced Plots and Customization
- Lesson 6.2.3: Se
aborn for Statistical Visualization
3. **Module 6.3: Machine Learning Basics**
- Lesson 6.3.1: Introduction to Machine Learning
- Lesson 6.3.2: Scikit-Learn Library
- Lesson 6.3.3: Building and Evaluating Models
### Level 7: Full-Stack Web Development with React and Django-Ninja (Capstone Project)
1. **Module 7.1: Frontend Development with React**
- Lesson 7.1.1: Introduction to React
- Lesson 7.1.2: Components and Props
- Lesson 7.1.3: State and Lifecycle
2. **Module 7.2: Building a RESTful API with Django-Ninja**
- Lesson 7.2.1: Overview of Django-Ninja
- Lesson 7.2.2: Creating API Endpoints
- Lesson 7.2.3: Authentication and Authorization in Django-Ninja
3. **Module 7.3: Integrating React with Django-Ninja**
- Lesson 7.3.1: Connecting React with Django
- Lesson 7.3.2: Fetching Data from API
- Lesson 7.3.3: Handling Forms and User Interactions
4. **Module 7.4: Full-Stack Capstone Project**
- Lesson 7.4.1: Defining Project Scope and Requirements
- Lesson 7.4.2: Designing the User Interface and Experience
- Lesson 7.4.3: Planning Data Models and API Endpoints
- Lesson 7.4.4: Building the Backend with Django-Ninja
- Lesson 7.4.5: Developing the Frontend with React
- Lesson 7.4.6: Testing and Debugging
- Lesson 7.4.7: Deployment and Documentation
- Lesson 7.4.8: Continuous Integration and Deployment (CI/CD)
### Level 8: Advanced Topics (Optional)
1. **Module 8.1: Advanced Python Concepts**
- Lesson 8.1.1: Generators and Iterators
- Lesson 8.1.2: Context Managers
- Lesson 8.1.3: Metaclasses
2. **Module 8.2: Scalability and Performance Optimization**
- Lesson 8.2.1: Caching Strategies
- Lesson 8.2.2: Asynchronous Programming in Python
- Lesson 8.2.3: Profiling and Optimization Techniques