Schedule - Advanced

Week Topic Software Carpenty Lectures
Assignment
Aug. 29 Programming Basics in Python (variables, if/then/else, loops, lists, etc.), Wing IDE Intro, Basics, Control Flow, Lists, Input/Output, Strings, Slicing
Sep. 5 Functions & Libraries     No Class on Monday - Labor Day Functions, 1st Class Functions, Libraries 1
Sep. 12 Version Control, Scientific Programming in Python Version ControlNumpy*, Matplotlib* 2.1
Sep. 19 Aliasing, Tuples, Sets, Dictionaries      Last day to drop without notation Aliasing, Tuples, Sets, Storage (or the nerdier version), Dictionaries 2.2
Sep. 26 The Shell and Servers  Shell Lectures 1-4 (M), 5-7(W), 8-9(F) 3
Oct. 3 Databases using SQL - Queries Databases (SQLite lectures) 1-4 (M), 5-6 (W), 7-8 (F)
Oct. 10 Databases using SQL - Interfacing w/Python, Creating and Modifying, Database structure Python + SQLite*, Creating Tables*, Modifying Tables* 4
Oct. 17 Debugging, Error Handling, Testing     Friday class on Thursday due to Fall Break DebuggerTesting (including Exception Handling) 5
Oct. 24 Object Oriented Programming     Friday is the last day to drop with a W Classes and Objects
Oct. 31 Program Design Program Design
Nov. 7 Regular Expressions Regular Expressions 6
Nov. 14 Project Project
Nov. 21 Project     No class Wednesday or Friday - Thanksgiving Project
Nov. 28 Project Project
Dec. 5 Project     Projects Due on Friday Project

*Not Software Carpentry material (but hopefully I'll get around to turning it into Software Carpentry material soon)

Other possible topics: Concurrency (multiprocessing), GUI programming (wxPython), Numpy, Scipy, Matplotlib, Biopython, R in Python, packaging (setuptools, py2exe)