[F Jan 8] Introduction. Computer software from the software creator's perspective. Programming languages for this course.
[M Jan 11] Mathematical introduction. Expressions in a programming language. Integers and operations on integers.
[M Jan 11] Lab 1.
[W Jan 13] Giving things names. Step by step algorithms. Dealing with syntax errors.
[F Jan 15] Defining your own functions. Functions and context.
[M Jan 18] Holiday.
[W Jan 20] Comparisons and boolean values. Solving problems by cases.
[F Jan 22] Functions that yield boolean results. Performing hand simulations with functions.
[M Jan 25] Equations and Recursion.
[M Jan 25] Lab 2.
[W Jan 27] Quiz 1. Review.
[F Jan 29] Checking recursive definitions. Designing recursive function definitions.
[M Feb 1] Characters and Strings.
[M Feb 1] Lab 3.
[W Feb 3] Types.
[M Feb 8] Variables. Making decisions with statements. Functions and statements.
[M Feb 8] Lab 4.
[W Feb 10] Procedures. Sanity checking functions.
[F Feb 12] Loops and repetition. Loops for actions.
[M Feb 15] Loops that accumulate.
[M Feb 15] Lab 5.
[W Feb 17] Quiz 2. Review.
[F Feb 19] Loops that search. Using flags.
[M Feb 22] From hand simulation to loops.
[M Feb 22] Lab 6.
[W Feb 24] Infinite loops. Sanity checking loops. Debugging loops. The egoless programmer.
[F Feb 26] Loops inside loops.
[M Mar 1] Creating complete programs. Getting input from the user.
[M Mar 1] Lab 7.
[W Mar 3] Quiz 3.
[F Mar 5] Don't forget recursion. Function contracts. Top-down design
[M Mar 15] Introduction to Java. Variables. Statements.
[M Mar 15] Lab 8.
[W Mar 17] Objects and dot notation. Strings.
[F Mar 19] Functions in Java. Procedures in Java. Output in Java.
[M Mar 22] Java programs. Exceptions and error handling in Java
[M Mar 22] Lab 9.
[W Mar 24] Quiz 4.
[F Mar 26] Input in Java. Using files.
[M Mar 29] Arrays.
[M Mar 29] Lab 10.
[W Mar 31] Searching arrays.
[F Apr 2] Holiday.
[M Apr 5] Sorting arrays.
[M Apr 5] Lab 11.
[W Apr 7] Quiz 5.
[F Apr 9] Efficiency of algorithms.
[M Apr 12] Classes.
[M Apr 12] Lab 12.
[W Apr 14] Continuation of classes.
[F Apr 16] Elementary graphics.
[M Apr 19] Event-driven programming.
[M Apr 19] Lab 13.
[W Apr 21] Quiz 6.
[F Apr 23] Open.
[M Apr 26] Open.
[M Apr 26] Lab 14.