Overview and Key Concepts
Core course materials:
Python:
- Introduction: history; how Python works [Key Ideas][Depth][Lecture Powerpoint]
- Syntax and simple data storage [Key Ideas][Depth][Lecture Powerpoint]
- Containers [Key Ideas][Depth][Lecture Powerpoint]
- Control flow: loops, branching [Key Ideas][Depth][Lecture Powerpoint]
- Control flow: Functions [Key Ideas][Depth][Lecture Powerpoint]
- Control flow: Classes and Objects [Key Ideas][Depth][Lecture Powerpoint]
- Core libraries: file input / output [Key Ideas][Depth][Lecture Powerpoint]
- Core libraries: modules / standard library [Key Ideas][Depth][Lecture Powerpoint]
- Functional programming / exceptions [Key Ideas][Depth][Lecture Powerpoint]
- Coding for real / Wrap-up [Key Ideas][Depth][Lecture Powerpoint]
Extra:
In addition, we cover a number of ideas core to real world programming more generally.
- Open Source Code
- GitHub
- Integrated Development Environments
- Static vs dynamically typed languages
- Documentation
- Unit Testing
- Flow diagrams
- UML
- CSV; JSON; XML
- Functional programming
- Web and internet communication
- Graphical User Interfaces (GUIs) and usability testing
- Patterns
- The software process & community development
We also cover some key ideas in computational thinking.
- Algorithms
- Abstraction
- Loops
- Pass by reference
- Efficiency
- Information architecture / Web navigation
- Cohesion and coupling
Finally, there are a set of debugging practices.
- Missing files; files saved .txt
- File PATH
- Missing variables; misspelling
- Loop iterators / updating while looping
- Pass by reference
- Object equivalence