Weekly Schedule
Week 1
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Course Overview | Think Python: Chapter 1 | Lab 1: git, github.com, and Python |
| - Introduction | - What is a program? | |
| - Why Python? | - Input, process (sequence, looping, repetition), output | |
| - Natural language & formal language | - complier, interpreter | |
| git and github.com | - Debugging | |
| Python components: | Automate with Python: Chapter 1: Python Basics | |
| - keywords | ||
| - symbols | ||
| - modules | ||
| - objects | ||
| Python Shell | ||
| - builtin modules | ||
| - builtin functions: help(), dir(), type() | ||
| - keyword: import |
Week 2
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Python Basics: | Think Python: Chapter 2 | Lab 2: Understanding Python Code |
| - Objects | - Variable, expressions and statements | |
| - Methods and properties | - Script mode and interactive mode | |
| - Operators | - Python math operators and order of operations | |
| - expressions | - String operation '+' and '*' | |
| - statements | Automate with Python: Chapter 2: Flow Control |
Week 3
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Reusing Python Code: | Think Python: Chapter 3 Functions | Lab 3: Reusing Python Code |
| Functions | - Function calls | |
| - keyword: def | - Adding new functions | |
| - function parameters | - Definitions and uses | |
| - return value | - Flow of execution | |
| - keyword: None | - Parameters and arguments | |
| - Variables and parameters | ||
| - Fruitful functions and void functions | ||
| Automate with Python: Chapter 3 & 4: Functions, Lists |
Week 4
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Basic Data Structures and String Manipulation: | Think Python: Chapter 5 Conditionals and recursion | Lab 4: Basic Data Structure & String Manipulation |
| - Integers | - Boolean expression | |
| - Strings | - Logical operators | |
| - Tuples | - Conditional execution | |
| - Lists | - Alternative execution | |
| - Dictionaries | - Chained conditionals | |
| - Sets | - Nested conditionals | |
| - Recursion | ||
| - Infinite recursion | ||
| - Keyboard Input | ||
| Automate with Python: Chapter 5 & 6: Dictionaries and structuring data, Manipulating Strings |
Week 5
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Files, Exceptions: | Think Python: Chapter 14 - Files | Lab 5: Files & Error Handling |
| - File Handling | - Reading and writing | |
| - Error Handling | - Format operator | |
| - Builtin error types | - Filenames and paths | |
| - Catching exception | ||
| - Databases | ||
| - Picking | ||
| - Pipes | ||
| - Writing modules | ||
| Automate with Python: Chapter 9 & 10: Reading and Writing Files, Organizing Files |
Week 6
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Review and Catch-up |
Week 7
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Mid-Term Test | Assignment 1 | |
| - Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5 |
Study Week
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
Week 8
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Classes: | Think Python: Chapter 15 - Classes and objects | Lab 6: Writing Python Classes |
| - Components of a class | - Programmer-defined types | |
| - Classes and objects | - Attributes | |
| - Instances and return values | ||
| - Objects are mutable | ||
| - Copying | ||
| Automate with Python: Chapter 16 - Classes and functions | ||
| - Pure functions | ||
| - Modifiers | ||
| - Prototyping versus planning |
Week 9
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Classes: | Think Python: Chapter 17 - Classes and methods | Lab 7: Classes, Objects & scope |
| - Designing classes | - The __init__ method | |
| - Understanding scope | - The __str__ method | |
| - The __repr__ method | ||
| - Operator overloading | ||
| - Type-based dispatch | ||
| - Polymorphism |
Week 10
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Configuration management: | Lab 8: Configuration management | |
| - Ansible |
Week 11
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Complete Assignment 2 | Assignment 2 |
Week 12
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Final Assessment Review |
Week 13
| Topics | Reading/Reference | Tasks/Labs |
|---|---|---|
| Final Assessment |