• 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 Software Processes and Process Models): assigned on 01/31 and due on 02/04

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

  3. Lab/Homework Exercise 3 Experimenting with Git (on Git and GitHub): assigned on 02/06 and due on 02/13

  4. In-Class Exercise 4 (on User Stories): assigned on 02/11 and due on 02/18

  5. In-Class Exercise 5 (on User Story Scenarios): assigned on 02/13 and due on 02/18

  6. In-Class Exericse 6 (on Velocity and UI Sketches) : assigned and due on 02/27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  24. 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 Application Ideas: assigned on 02/04 and due by 02/11

  2. Team Project. Phase 1. Proposal Presentation and Project Setup (Presentation on Thursday, February 20): assigned on 02/11 and due by 02/25

  3. Team Project. Phase 2. Requirement Engineering - Use Cases (on Blackboard): assigned on 02/20 and due by 03/06

  4. Team Project. Phase 3. Requirement Engineering - User Interface (Lo-Fi Prototype): assigned on 03/13 and due by 03/30

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

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

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

Reading

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

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

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

  4. Chapter 6: assigned on 02/11

  5. Sections 7.1 and 7.2 in the SaaS book: assigned on 02/11

  6. User story and scenario examples linked in the resouces page: assigned on 02/11

  7. Chapter 7 in the SAAS Book: assigned on 02/20

  8. From Storyboarding to Drawing Wireframes (Google UX Design Certificate): assigned on 02/20

  9. How to Design Low-Fidelity Prototypes (Google UX Design Certificate): assigned on 02/20

  10. Android Developer Resources: assigned on 02/27

  11. Android tutorial by Lars Vogel: assigned on 02/27

  12. Chapter 10: assigned on 03/13

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

  14. all chapters and sections discussed: assigned on 03/20

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

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

  17. Sections 7.1 and 7.2: assigned on 04/03

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

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

  20. Chapters 8, 9: assigned on 04/10

  21. Module 6 of Martin P. Robillard: assigned on 04/10

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

  23. Chapter 7.3.4: assigned on 04/22

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

  25. Module 2 of Martin P. Robillard: assigned on 04/22

  26. Chapters 8, 9: assigned on 04/29

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

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

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

  30. Iterator Pattern from Wikipedia: assigned on 04/29

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

  32. Chapters 8, 9: assigned on 05/08

  33. Module 6 of Martin P. Robillard: assigned on 05/08

  34. All reading assignments: assigned on 05/13

  35. Chapters 9 and 10: assigned on 05/15

Overview of Assignments by Due Date

Due by 02/04

  1. Individual Assignment: assigned on 02/04

Due by 02/11

  1. Individual Assignment: assigned on 02/11

  2. Group project: assigned on 02/04

Due by 02/13

  1. Individual Assignment: assigned on 02/13

Due by 02/16

  1. Individual Assignment: assigned on 02/16

Due by 02/18

  1. Individual Assignment: assigned on 02/18

  2. Individual Assignment: assigned on 02/18

Due by 02/23

  1. Individual Assignment: assigned on 02/23

Due by 02/25

  1. Group project: assigned on 02/11

Due by 02/27

  1. Individual Assignment: assigned on 02/27

Due by 03/02

  1. Individual Assignment: assigned on 03/02

Due by 03/06

  1. Group project: assigned on 02/20

Due by 03/16

  1. Individual Assignment: assigned on 03/16

Due by 03/30

  1. Group project: assigned on 03/13

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 04/03

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/22

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/06

Due by 05/18

  1. Individual Assignment: assigned on 05/18