CSSE 220: Schedule

The readings and homework are listed under the due date.

WeekDatesDays and TopicsReadingsHomework
0 Sep. 2 - Sep. 3 Day 1: Introduction to Course, Java and Development Environment None
1 Sep. 6 - Sep. 10 Day 2: Process of implementing classes 2.1 - 2.10, 3.1 - 3.8 PA 1
Day 3: Fundamental Data Types 4.1 - 4.6, 5.1 - 5.2 PA 2
Day 4: Conditional Statements, Loops 5.3 - 5.5, 6.1 - 6.6 PA 3
2 Sep. 13 - Sep. 17 Day 5: Data structures: arrays and ArrayLists 7.1 - 7.8 PA 4
Day 6: Designing classes 8.1 - 8.4, 8.8 Design Docs
Day 7: Polymorphism, interfaces, GUIs 9.1 - 9.3 Testcases
3 Sep. 20 - Sep. 24 Day 8: Inheritance, Interfaces and Polymorphism 10.1, 10.2, 10.4, 10.6 (pp 435, 436)
Day 9: Overriding and Overloading methods, Static variables 8.6-8.7, 10.3, 10.5 Game of Life
Day 10: Composing classes 10.6, 10.7, 8.9
4 Sep. 27 - Oct. 1 Day 11: Software design cycle, Review for exam 1 12.1 - 12.2 Facebook
Day 12: Exam 1
Day 13: File I/O, Exceptions 11.1 - 11.7
5 Oct. 4 - Oct. 8 Day 14: Recursion 13.1 - 13.2 Pig Latin
Day 15: Efficiency and Tail recursion 13.3 - 13.5 Recursion
Day 16: Linked Lists 15.1 - 15.2 More Recursion
6 Oct. 11 - Oct. 13 Day 17: Linked Lists, Iterators Linked Lists - Part 1
Day 18: Stacks and Queues 15.3 - 15.4
7 Oct. 18 - Oct. 22 Day 19: Software engineering tools, Introduction to team project 12.3 - 12.5 Linked Lists - Part 2
Abstract Data Types
Day 20: Introduction to analysis of algorithms, Sorting, Review for exam 2 First round of CRC cards and user stories
Day 21: Exam 2
8 Oct. 25 - Oct. 29 Day 22: Big-Oh Analysis, analysis of a sorting algorithm Second round of CRC cards and user stories. First round of UML class diagram
Day 23: Analysis of another sorting algorithm 14.1 - 14.3
Day 24: Merge sort and its analysis, Writing compact code 14.4 - 14.5 Third round of CRC cards and user stories. Second round of UML class diagram
9 Nov. 1 - Nov. 5 Day 25: Generics, Comparable Interface 17.1 - 17.5 Analysis Homework
Cycle 1 code
Day 26: Introduction to Multi-threading 20.1 - 20.2
Day 27: Multi-threading: Dealing with race conditions 20.3 - 20.6 Cycle 2 code
10 Nov. 8 - Nov. 12 Day 28: Function objects, Comparators Cycle 3 code
Day 29: Project demos, acceptance testing Software demonstration/Acceptance testing
Programming project 20.1
Day 30: Practice of Analysis of Algorithms, Review for final exam, Course evals Final deliverables