###########
Topic Notes
###########
These are assorted notes about particular python topics used in the Python certificate program.
Arranged in order of the lessons:
See the Canvas or EdX instance for your class for the full lesson descriptions.
Py210: Introduction to Python
=============================
Lesson 1: Introductions and Setting up your Environment
-------------------------------------------------------
.. toctree::
:maxdepth: 1
Class_introduction
EnvironmentOverview
IPythonIntroduction
Py2vsPy3
Git
GitWorkflow
Submitting_to_github
Lesson 2: Basic Python and Functions
------------------------------------
.. toctree::
:maxdepth: 1
BasicPython
Functions
Recursion
Lesson 3: Booleans, Sequences, Iteration, and Strings
------------------------------------------------------
.. toctree::
:maxdepth: 1
Booleans
Sequences
Iteration
Strings
Lesson 4: Dictionaries, Sets, and Files
---------------------------------------
.. toctree::
:maxdepth: 1
DictsAndSets
Files
DictionaryAsSwitch
Lesson 5: Exceptions, Modules, and Comprehensions
-------------------------------------------------
.. toctree::
:maxdepth: 1
NamingThings
Modules
Documentation
Exceptions
Comprehensions
CollectionsModule
Lesson 6: Unit Testing and Advanced Argument Passing
----------------------------------------------------
.. toctree::
:maxdepth: 1
Testing
AdvancedArgumentPassing
MoreOnMutability
Lesson 7: Intro to Object Oriented Programing
---------------------------------------------
.. toctree::
:maxdepth: 1
ObjectOrientationOverview
PythonClasses
SubclassingAndInheritance
Lesson 8: Properties and Magic Methods
--------------------------------------
.. toctree::
:maxdepth: 1
Properties
StaticAndClassMethods
SpecialMethodsAndProtocols
Lesson 9: Multiple Inheritance
------------------------------
.. toctree::
:maxdepth: 1
MultipleInheritance
Lesson 10: Introduction to Functional Programming
-------------------------------------------------
.. toctree::
:maxdepth: 1
OO_vs_functional
Lambda
MapFilterReduce
IPythonParallel
Py220: Advanced Python
======================
Lesson 1: Functional Programming 2
----------------------------------
.. toctree::
:maxdepth: 1
Lambda
IteratorsAndGenerators
Lesson 2: Functional Programming 3
----------------------------------
.. toctree::
:maxdepth: 1
Closures
Lesson 3: Advanced Language Constructs
--------------------------------------
.. toctree::
:maxdepth: 1
Decorators
ContextManagers
Recursion
Lesson 4: MetaProgramming
-------------------------
.. toctree::
:maxdepth: 1
MetaProgramming
Lesson 5: Logging and Debugging
-------------------------------
.. toctree::
:maxdepth: 1
Logging
Debugging
Lesson 6: Advanced Testing
--------------------------
.. toctree::
:maxdepth: 1
Testing_advanced
Lesson 7: Relational Databases
------------------------------
`Andy Miles' slides `_
`Example code on gitHub `_
Lesson 8: Non-Relational Databases
----------------------------------
.. toctree::
:maxdepth: 1
NoSQL
GraphDatabases
Lesson 9: Concurrency & Async Programming
-----------------------------------------
.. toctree::
:maxdepth: 1
Concurrency
ThreadingMultiprocessing
Coroutines
Async
Lesson 10: Profiling and Performance
------------------------------------
.. toctree::
:maxdepth: 1
Profiling
Assorted Additional Topics
==========================
.. toctree::
:maxdepth: 1
Pep8
CodeReviews
Packaging
PersistanceAndSerialization
Unicode