########################## Intro to Python: Fall 2017 ########################## .. :ref:`syllabus` :ref:`first_quarter` :ref:`second_quarter` .. toctree:: :maxdepth: 1 syllabus .. _first_quarter: Intro To Python: Fall 2017 =========================== Orientation: Sept 27 .................... :ref:`orientation` Week 1: Oct 3 ............. :ref:`session_1_01` Week 2: October 10 .................. :ref:`session_1_02` :ref:`notes_session02` Week 3: October 17 .................. :ref:`session_1_03` :ref:`notes_session03` Week 4: October 24 .................. :ref:`session_1_04` :ref:`notes_session04` Week 5: October 31 .................. :ref:`session_1_05` :ref:`notes_session05` Week 6: November 7 .................. :ref:`session_1_06` :ref:`notes_session06` Week 7: November 14 ................... :ref:`session_1_07` :ref:`notes_session07` **November 21: Thanksgiving week -- no class** Week 8: November 28 ................... :ref:`session_1_08` :ref:`notes_session08` Week 9: December 5 .................. :ref:`session_1_09` :ref:`notes_session09` Week 10: December 12 .................... :ref:`session_1_10` :ref:`notes_session10` .. _second_quarter: ############################ Advanced Python: Winter 2017 ############################ Overview ======== In the second quarter, we will dig a bit more into the more advanced features of Python, and then get into a bit of the ecosystem -- working with databases, debugging and logging, etc. Fluent Python ............. `Fluent Python `_, by Luciano Ramalho, is an excellent book about the more advanced features of Python. We highly recommend you get it, and we will be referencing it throughout the class. Individual Project ------------------ In addition to weekly exercises, you will also complete an individual project of your choosing. More detail here: :ref:`individual_project` Week 1: Jan 9 -- Iterators and Generators, Packaging .................................................... :ref:`session_2_01` .. :ref:`iterators_generators` .. :ref:`packaging` .. Homework: make an proper package of mailroom: .. :ref:`exercise_mailroom_package` Week 2: Jan 16 .............. :ref:`session_2_02` :ref:`notes_session12` .. * Code Reviews .. * Closures and Currying .. :ref:`decorators` Week 3: Jan 23 .............. :ref:`session_2_03` :ref:`notes_session13` .. :ref:`context_managers` .. * Itertools .. * Functools Week 4: Jan 30 -- Advanced Testing .................................. :ref:`session_2_04` :ref:`notes_session14` .. * ``unittest`` .. * Linting .. * Coverage .. * Fixtures .. * Mocking .. * Hypothesis Testing Week 5: Feb 6 -- Debugging and Logging ...................................... .. Chris out of town :ref:`session_2_05` :ref:`notes_session15` .. * Logging module .. * Syslog .. * Debugging techniques .. * pdb/ipdb Week 6: Feb 13 -- Metaprogramming ................................. :ref:`session_2_06` :ref:`notes_session16` .. * Metprogramming tools .. * Class Decorators .. * Metaclasses Week 7: Feb 20 -- Relational Databases ...................................... .. maria out of town :ref:`session_2_07` :ref:`notes_session17` .. * SQL .. * ORMs .. * Normalization .. * Schema .. * Sqlite .. * Postgresql Week 8: Feb 27 -- Object/Document, Key/Value and Graph Databases ................................................................ :ref:`session_2_08` :ref:`notes_session18` .. * Persistence and Serialization: pickle, json, csv, ... .. * Schema vs “Schemaless” .. * No-Sql .. * Mongo .. * Redis .. * Neo4j Week 9: Mar 6 -- Concurrency & Async Programming ................................................ :ref:`session_2_09` :ref:`notes_session19` .. * Concurrency .. * Threading and Multiprocessing .. * Message Queues .. * Coroutines .. * Async .. * Celery Week 10: Mar 13 -- Profiling & Performance .......................................... .. Chris out of town. :ref:`session_2_10` :ref:`notes_session20` .. * Timing .. * Profiling .. * PyPy .. * Cython Lightning Talks =============== :ref:`lightning_talks` Supplemental Materials ====================== :ref:`installing_python` :ref:`setting_up_dev_environment` References: =========== :ref:`references` Indices and tables ================== .. * :ref:`genindex` * :ref:`search`