Schedule

We will cover these areas of the software development life-cycle:

  1. Requirements analysis and project planning
  2. Software architecture and system design
  3. Implementation tools and techniques
  4. Verification and validation
  5. Deployment and maintenance
Topics and their dependencies – full size

Topics and their dependencies – full size

The day-by-day schedule is shown below, including all deadlines. You can import it into Google calendar or other apps using the ‘ics’ link to the right.

ics
Meeting 1 at 11 am. Software Development Lifecycle (Waterfall)
Meeting 2 at 11 am. Mythical man-month, second-system syndrome, prototyping. Perceptrons.
Check-in 1 due at 23:59.
Meeting 3 at 11 am. Perceptron learning rule, Python doctest module.
Meeting 4 at 11 am. Demonstrate OpenAI universe, implement perceptron learning.
Meeting 5 at 11 am. Version control.
Milestone 1 due at 23:59. Check-in 2 due at 23:59.
Meeting 6 at 11 am. Git hashes and internal representation.
Meeting 7 at 11 am. Adapt perceptron to hill-climbing, apply to cart-pole.
Meeting 8 at 11 am. Deeper recap on perceptron model, what is gym doing?
Meeting 9 at 11 am.
Milestone 2 due at 23:59.
Meeting 10 at 11 am. Introducing lunar lander problem, matrix operations, and numpy.
Meeting 11 at 11 am. More tool and techniques for unit-testing in Python, including unittest and coverage modules.
Meeting 12 at 11 am. Property-based testing and fault injection.
Check-in 3 due at 23:59.
Meeting 13 at 11 am.
Meeting 14 at 11 am. Reinforcement learning overview.
Milestone 3 due at 23:59.
Meeting 15 at 11 am. Implementing and optimizing k-bandit agents.
Check-in 4 due at 23:59.
Meeting 16 at 11 am. Delta-rule approximation vs exact averages in k-bandit agents, and the recency effect.
Meeting 17 at 11 am. Value function calculation for grid world problems.
Meeting 18 at 11 am. Specified a new, finite grid world problem for M4.
Meeting 19 at 11 am. Assertive programming, design by contract, and Hoare logic.
Milestone 4 due at 23:59. Check-in 5 due at 23:59.
Meeting 20 at 11 am. Policy improvement for solving grid world of M4.
Meeting 21 at 11 am. Tiling a continuous space
Milestone 5 due at 23:59.
Meeting 22 at 11 am. Apply tiling to cartpole
Meeting 23 at 11 am. Training multi-layer perceptrons with scikit-neuralnetwork
Check-in 6 due at 23:59.
Meeting 24 at 11 am. Minesweeper
Meeting 25 at 11 am. More minesweeper coding, using constraints
Milestone 6 due at 23:59.
Meeting 26 at 11 am. Start on a constraint solver
Meeting 27 at 11 am. Solution to M6, plugging constraints into Minesweeper
Check-in 7 due at 23:59.
Meeting 28 at 11 am.
Milestone 7 due at 23:59. Final submission of all project materials.
Final exam due at 23:59.