CS 2334 Programming Structures and Abstractions Class schedule

The following is a schedule of the lectures and presentations for CS 2334 Programming Structures and Abstractions for Spring 2013. This schedule will be updated throughout the semester. All readings are from Get book title (regular class book) or get title (ethics book) unless otherwise noted.

Date Topic Assigned Reading Assigned Due
Week 1
Jan 14 (Week 1:) Introduction, Objects      
Jan 16 Review of 1323 Chapter 8    
Jan 17 (lab) Lab 1: JDK, Compiling, Javadoc, Integrated Development Environments (Eclipse), Strings   Lab 1  
Jan 18 Visit from Academic Integrity Office, UML, Abstraction, Objects, Encapsulation     Lab 1
Week 2
Jan 21 (Week 2: )
MLK holiday - no class
Jan 23 UML, Abstraction, Objects, Encapsulation, Object-Oriented Design Chapter 10    
Jan 24 (lab) Lab 2: Unit Tests   Lab 2  
Jan 25 Object-Oriented Design     Lab 2
Week 3
Jan 28 (Week 3: ) OOP, Inheritance and Polymorphism Chapter 11    
Jan 30 Inheritance and Polymorphism      
Jan 31(lab) Project 1 design: Reading in from a File   Project 1: reading in from files  
Feb 1 Inheritance and Polymorphism, Exceptions Chapter 14    
Week 4
Feb 4 (Week 4: ) Exceptions      
Feb 6 File handling, Abstract Classes Chapter 15    
Feb 7 (lab) Lab 3: Abstract Classes   Lab 3 Project 1design
Feb 8 Abstract Classes     Lab 3
Week 5
Feb 11 (Week 5: ) Abstract Classes and Interfaces (Dr McGovern sick - this was a help session)      
Feb 13 Interfaces    
Feb 14 (lab) Lab 4: User input and Project Help     Project 1
Feb 15 Midterm Review 1     Lab 4
Week 6
Feb 18 (Week 6: ) Midterm 1      
Feb 20 Interfaces, Generics Chapter 21    
Feb 21 (lab) Lab: Project 2 Discussion and Exceptions   Project 2: user input, output, exceptions, hierarchies, interfaces  
Feb 22
Generics
     
Week 7
Feb 25 (Week 7: ) Lists and Java Collections Framework (JCF) Chapter 22    
Feb 27 Queues and Priority Queues and Stacks      
Feb 28 (lab) Lab 5: Lists and Queues     Project 2 design
Mar 1 Queues and Priority Queues and Stacks and Sets     Lab 5
Week 8
Mar 4 (Week 8: ) Sets and Maps Chapter 23    
Mar 6 Sets and Maps and Enum      
Mar 7 (lab) Lab 6: HashMaps and Enums, handing out Project 3: Java Collections Framework   Project 3: Java Collections Framework Project 2
Mar 8 Introduction to GUI Chapter 12   Lab 6
Week 9
Mar 11 (Week 9: ) GUI Basics      
Mar 13 GUI Basics and Simple Events Chapter 16 (for events)    
Mar 14 (lab) Lab 7: GUI Basics     Project 3 Design
Mar 15 Graphics Chapter 13   Lab 7
 
Mar 16-24
Spring Break!
Week 10
Mar 25 (Week 10: ) Graphics      
Mar 27 Graphics and Midterm review      
Mar 28 (lab) Lab 8: Graphics (drawing shapes)   Project 4: Basic GUI Project 3
Mar 29 Midterm 2      
Week 11
Apr 1 (Week 11: ) Event Driven Programming Chapter 16    
Apr 3 Event Driven Programming, Other GUI Components Chapter 17    
Apr 4 (lab) Lab 9: Event Driven Graphics    
Project 4 Design
Apr 5 Other GUI Components Chapter 17    
Week 12
Apr 8 (Week 12: ) Binary File I/O Chapter 19    
Apr 10 Binary File I/O    
Apr 11 (lab) Lab 10: Binary file I/O     Project 4
Apr 12 Recursion Chapter 20  
Week 13
Apr 15 (Week 13: ) Recursion    
Apr 17 Tying it all together   Project 5: Advanced GUI  
Apr 18 (lab) Lab 11: Recursion      
Apr 19 Tying it all together      
Week 14
Apr 22 (Week 14: ) Ethics: ethical theories Ethics book Chapter 1.4   Project 5 Design
Apr 24 Ethics: Privacy Ethics book Chapter 2    
Apr 25 (lab)

Lab 12: Ethics

  Ethics Lab 1  
Apr 26 Ethics: Privacy     Ethics Lab 1
Week 15
Apr 29 (Week 15: ) Ethics: Intellectual Property Ethics book Chapter 4   Project 5
May 1 Ethics: Intellectual Property      
May 2 (lab) Lab 13: Ethics   Ethics Lab 2  
May 3 Final Exam Review     Ethics Lab 2
 
May 6
Final exam 1:30-3:30