CSCI 131 / Spring 2024

Techniques of Programming

Schedule

Lecture slides and videos can be accessed in Canvas.



Week 1
T   1/23  Overview, Java  [Sections 1, 2]               | Ch 1.1 | 
W   1/24  Lab 1: Hello Java and Linux       
R   1/25   Built-in Data Types [Sections 1, 2]            | Ch 1.2 |	

Week 2
T   1/30   Expressions [Sections 1, 2]                    | Ch 1.2 |   
W   1/31   Lab 2: Expressions    
R   2/1   Conditionals [Sections 1, 2]                   | Ch 1.3 | 

Week 3
T   2/6  Nested Conditionals [Sections 1, 2]                | Ch 1.3 |
W   2/7  Lab 3: Conditionals
R   2/8  Loop Introduction [Sections 1, 2]                  | Ch 1.3 |
 
Week 4
T   2/13   Nested and For Loops [Sections 1, 2]              | Ch 1.3 |
W   2/14   Lab 4: Loops                      
R   2/15   Loop Variations & Practice [Sections 1, 2]        |        |

Week 5
T   2/20   One-Dimensional Arrays [Sections 1, 2]            | Ch 1.4 |
W   2/21   Lab 5: Arrays                    
R   2/22   Multi-Dimensional Arrays [Sections 1, 2]          | Ch 1.4 |

Week 6 
T   2/27   Practice and Review [Sections 1, 2]
W   2/28   NO LAB; EXAM 1 (2-4pm, Stein 120)
R   2/29   Formatted Printing and Graphics [Sections 1, 2]  | Ch 1.5 |

Week 7 
T   3/5    (Spring break)
W   3/6    (Spring break)
R   3/7    (Spring break)

Week 8 
T   3/12   Streams and File I/O [Sections 1, 2]              | Ch 1.5 |
W   3/13   Lab 6: 2D-Arrays and Files        
R   3/14   Functions (Java Static Methods) [Sections 1, 2]   | Ch 2.1 |

Week 9
T   3/19   Return Values, Parameters, Scope [Sections 1, 2]  | Ch 2.1 |
W   3/20   Lab 7: Function Cornucopia          
R   3/21   Functions with Arrays [Sections 1, 2]

Week 10
T   3/26    Libraries and Clients [Sections 1, 2]             | Ch 2.2 |
W   3/27    Lab 8: Libraries and Clients      
R   3/28    No Class (Easter Break)


Week 11
T   4/2   Debugging & Program Design [Sections 1, 2]
W   4/3   NO LAB 
R   4/4   Practice [Sections 1, 2]   


Week 12
M   4/8   EXAM 2 (4-6pm, Smith Labs 154)                    |        |
T   4/9   Recursion [Sections 1, 2]             | Ch 2.3 |
W   4/10   Lab 9: Recursion                  
R   4/11   ADTs and Objects [Sections 1, 2]                  | Ch 3.1 |

Week 13

T   4/16   Classes & References [Sections 1, 2]              | Ch 3.1 |
W   4/17   Lab 10: Using Objects
R   4/18   OOP & Minesweeper [Sections 1, 2]                 | Ch 3.3 |

Week 14
T   4/23   Inheritance, GUIs & Events [Sections 1, 2]        | Ch 3.3 |
W   4/24   NO LAB (Review Q make-up); Academic Conference
R   4/25   Modern Java & Shell Scripting [Sections 1, 2]     |        |

Week 15
T   4/30   Practice [Sections 1, 2]
W   5/1    Lab 11: OO Programming           
R   5/2    EXAM 3 (2-4pm, Swords 359)                    |        |