• Some future dates are placeholder only and subject to change.
  • All dates are in the format of MM/DD where MM is the month and DD is the day.
  • Assignment descriptions are on CUNY Blackboard if not found in the lecture notes or on the class schedule page.
  • This list is periodically updated based on the progression of the class

Overview of Assignments by Type

Individual Assignments

  1. In-Class/Homework Exercise 1 (on Process Models): assigned on 01/31 and due on 02/07

  2. In-Class/Homework Exercise 2 (on Git): assigned on 02/02 and due on 02/09

  3. Quiz 1 (on Process Models): assigned on 02/07 and due on 02/14

  4. Experimenting with Git (on Git and Github): assigned on 02/07 and due on 02/14

  5. In-Class/Homework Exercise 3 (on Android): assigned on 02/09 and due on 02/16

  6. Building Your First Android App: assigned on 02/09 and due on 02/23

  7. Building Your Second Android App: assigned on 02/23 and due on 03/02

  8. In-Class Exercise 4 (on User Stories): assigned and due on 03/07

  9. In-Class Exercise 5 (on User Story Scenarios): assigned and due on 03/09

  10. In-Class Exericse 6 (on Velocity and UI Sketches) (Due: 11:59pm, Tuesday, March 14, 2023) : assigned and due on

  11. In-Class Exericse 7 (on QC/QA and TDD): assigned and due on 03/16

  12. In-Class Exericse 8 (on TDD) (Due: 11:59pm, Tuesday, March 21, 2023) : assigned and due on

  13. In-Class Exericse 9 (on Unit Testing and JUnit) (Due: 11:59pm, Thursday, March 23, 2023 by group) : assigned and due on

  14. In-Class Exericse 10 (on Android Instrumented Tests) (Due: 11:59pm, Tuesday, March 28, 2023 by group) : assigned and due on

  15. In-Class Exericse 11 (on Architectural Design) : assigned and due on 04/04

  16. In-Class Exericse 12 (on Objected-Oriented Design and UML) : assigned and due on 04/04

  17. In-Class Exericse 13 (on Observer Design Pattern): assigned and due on 04/25

  18. Extra Credit Exercise (Observer Design Pattern on Android) – talk to the instructor: assigned and due on 04/25

  19. In-Class Exericse 14 (on Class Design Principle): assigned on 04/20 and due on 04/27

  20. In-Class Exericse 15 (on Interface Separation Principle): assigned on 04/25 and due on 05/02

  21. In-Class Exericse 16 (on Strategy Design Principle): assigned on 04/27 and due on 05/04

  22. In-Class Exericse 17 (on Iterator Design Pattern): assigned on 05/02 and due on 05/09

  23. In-Class Exericse 18 (on Singleton Design Pattern): assigned on 05/04 and due on 05/11

  24. In-Class Exericse 19 (on Implementation): assigned on 05/09 and due on 05/16

  25. In-Class Exericse 20 (on Software Metrics): assigned on 05/09 and due on 05/18

Group Project

  1. Team Project. Phase 0. Teams and App Ideas: assigned on 02/02 and due by 02/09

  2. Team Project. Part 1. Project Proposal (on Blackboard): assigned on 02/09 and due by 02/23

  3. Team Project. Part 2. Requirement Analysis (on Blackboard): assigned on 02/28 and due by 03/16

  4. Team Project. Part 3. Storyboard and Velocity (on Blackboard): assigned on 03/09 and due by 03/30

  5. Team Project. Part 4. Design Iteration 1 – Applying TDD to develop app features : assigned on 03/30 and due by 04/20

  6. Team Project. Part 5. Design Iteration 2 – Applying TDD and Design Patterns to develop app features : assigned on 04/20 and due by 05/04

  7. Team Project. Part 6. Design Iteration 3 – Design Pattern and Lint and Project Closure: assigned on 05/04 and due by 05/16

Reading

  1. Chapters 1, 2, and 3: assigned on 01/26

  2. Sections 4.1 - 4.4 and Chapter 5: assigned on 01/31

  3. Chapter 2 and Sections 11.1 and 11.5: assigned on 02/02

  4. Android Developer Resources: assigned on 02/09

  5. Android tutorial by Lars Vogel: assigned on 02/09

  6. Chapter 6: assigned on 02/28

  7. Chapter 7 in the SAAS Book: assigned on 03/07

  8. Chapter 10: assigned on 03/09

  9. Chapter 4 of The Art of Software Testing, 3rd Edition: assigned on 03/14

  10. JUnit 5 tutorial - Learn how to write unit tests by vogella : assigned on 03/16

  11. Test apps on Android by Android: assigned on 03/16

  12. all chapters and sections discussed: assigned on 03/23

  13. Sections 7.1 and 7.2: assigned on 03/30

  14. Sections 7.3 and 7.4 and Appendix C (of the textook): assigned on 04/04

  15. Chapter 1 in “Introduction to Software Design with Java” by Robillard: assigned on 04/04

  16. Chapters 8, 9: assigned on 04/18

  17. Module 6 of Martin P. Robillard: assigned on 04/18

  18. Example Code for Module 6 of Martin P Robillard (convert it to Android app?): assigned on 04/18

  19. Chapter 7.3.4: assigned on 04/20

  20. Module 1 of Martin P. Robillard: assigned on 04/20

  21. Module 2 of Martin P. Robillard: assigned on 04/20

  22. Chapters 8, 9: assigned on 04/27

  23. Module 2 of Martin P. Robillard (Strategy and Iterator Patterns): assigned on 04/27

  24. Module 3 of Martin P. Robillard (Singleton Pattern): assigned on 04/27

  25. Code Examples by Martin P. Robillard (Chapter 3): assigned on 04/27

  26. Iterator Pattern from Wikipedia: assigned on 04/27

  27. Chapters 9 and 10: assigned on 05/04

  28. Chapters 8, 9: assigned on 05/09

  29. Module 6 of Martin P. Robillard: assigned on 05/09

  30. All reading assignments: assigned on 05/11

  31. Chapters 9 and 10: assigned on 05/16

Overview of Assignments by Due Date

Due by 02/07

  1. Individual Assignment: assigned on 02/07

Due by 02/09

  1. Individual Assignment: assigned on 02/09

  2. Group project: assigned on 02/02

Due by 02/14

  1. Individual Assignment: assigned on 02/14

  2. Individual Assignment: assigned on 02/14

Due by 02/16

  1. Individual Assignment: assigned on 02/16

Due by 02/23

  1. Individual Assignment: assigned on 02/23

  2. Group project: assigned on 02/09

Due by 03/02

  1. Individual Assignment: assigned on 03/02

Due by 03/07

  1. Individual Assignment: assigned on 03/07

  2. Individual Assignment: assigned on 03/07

Due by 03/09

  1. Individual Assignment: assigned on 03/09

Due by 03/16

  1. Individual Assignment: assigned on 03/16

  2. Individual Assignment: assigned on 03/16

  3. Individual Assignment: assigned on 03/16

  4. Group project: assigned on 02/28

Due by 03/30

  1. Group project: assigned on 03/09

Due by 04/04

  1. Individual Assignment: assigned on 04/04

  2. Individual Assignment: assigned on 04/04

Due by 04/20

  1. Group project: assigned on 03/30

Due by 04/25

  1. Individual Assignment: assigned on 04/25

  2. Individual Assignment: assigned on 04/25

Due by 04/27

  1. Individual Assignment: assigned on 04/27

Due by 05/02

  1. Individual Assignment: assigned on 05/02

Due by 05/04

  1. Individual Assignment: assigned on 05/04

  2. Group project: assigned on 04/20

Due by 05/09

  1. Individual Assignment: assigned on 05/09

Due by 05/11

  1. Individual Assignment: assigned on 05/11

Due by 05/16

  1. Individual Assignment: assigned on 05/16

  2. Group project: assigned on 05/04

Due by 05/18

  1. Individual Assignment: assigned on 05/18