SCHEDULE


IMPORTANT NOTE:The COMP305 schedule might change during the quarter! Watch this space frequently for any updates during the quarter).
Week 1
Class Topic/Activity Reading/Videos Due
M1
- Overview of the Course
- Introduction to Software Development
SUGGESTIONS
- Create accounts in Jira, LeetCode and GitHub.
W1
- Software Process Models
[~9 pages]
- Chapter 2 (intro) & Section 2.1, pp. 44-54.
[12 mins]
- Plan-based and Agile Software Processes
DUE IN CLASS
- Discussion Question #1
F1
-Basic Processes in Software Dev.
Exercise #1 SOFTWARE REQUIREMENT ELICITATION→
[~7 pages]
- Section 2.2, pp. 54-61.
[10 mins]
- Fundamental activities of software engineering
Week 2
Class Topic/Activity Reading/Videos Due
M2
- Agile Software Development
- Continue working on Exercise #1
[~12 pages]
- Chapter 3 (intro) & Section 3.1-3.2, pp. 73-84.
[8 mins]
- User Stories
[10 mins]
- What is Agile Development (Part 1)
- What is Agile Development (Part 2): An Agile Project Case Study
DUE IN CLASS
- Discussion Question #2
- Forming of Final Project Groups: 5 Members/Group
W2
- Agile Project Management
- [some] Software Development Tools
[~5 pages]
- Section 3.3, pp. 84-88.
[15 mins]
- SCRUM Basics
SUGGESTIONS
- Wrap-up Exercise #1
F2
- Requirements Engineering: Functional and Non-Functional Requirements
[~7 pages]
- Chapter 4 (intro) & Section 4.1, pp. 105-111.
[9 mins]
- Requirements Engineering Processes
DUE IN KIT
- Exercise #1 [by 11:59 p.m.]
- Bi-Weekly Reflection #1 [by Sun @ 11:59 p.m.]
DUE IN CLASS
- Discussion Question #3
Week 3
Class Topic/Activity Reading/Videos Due
M3
- Requirements Engineering: Requirements Specification
Exercise #2 AN SRS DOCUMENT→
[~10 pages]
- Section 4.4, pp. 120-129.
[12 mins]
- Requirements engineering challenges
W3
- Agile: eXtreme Programming (XP)
- Continue working on Exercise #2
[~8 pages]
- Revisit Section 3.2, pp. 77-84.
[~1 pages]
- From Clean Craftmanship, pp. 13-14.
[15 mins]
- The Strengths and Weaknesses of eXtreme Programming
F3
- Agile: Test-Driven Development (TDD)
[~4 pages]
- Section 8.2, pp. 242-245. [~4 pages]
- From Clean Craftmanship, pp. 15-18.
[9 mins]
- Test-Driven Development (In Python)
DUE IN KIT
- Exercise #2 [by 11:59 p.m.]
Week 4
Class Topic/Activity Reading/Videos Due
M4
- Interaction Models: Use Case Model & Sequence Diagrams
- Version Control Practicum→
[~5 pages]
- Section 5.2, pp. 144-149.
[12 mins]
- Use cases diagram
- Sequence diagram
W4
- Entity-Relationship Diagram (ERD)
Exercise #3 TEST CASES→
[< 1 hr.]
- What is Entity Relationship Diagram?
F4
- Agile Project Planning: SCRUM, XP
- Continue working on Exercise #3
[< 1 hr.]
- Scrum tutorial
DUE IN KIT
- Bi-Weekly Reflection #2 [by Sun @ 11:59 p.m.]
Week 5
Class Topic/Activity Reading/Videos Due
M5
- [brief] Introduction to SQL
- Project Management Software Practicum→
- Continue working on Exercise #3
SUGGESTIONS
- LeetCode Practice Hub
- W3 School's SQL Tutorial
W5
- Introduction to Final Project
- FINAL PROJECT HUB→
- Continue working on Exercise #3
F5
- Databases with Java or Python
- Continue working on Exercise #3
OR
- Planning your FINAL PROJECT→
[< 2 hr.]
- Tutorials Point: PostgreSQL - JAVA Interface
- Tutorials Point: PostgreSQL - Python Interface
DUE IN KIT
- Exercise #3 [by 11:59 p.m.]
Week 6
Class Topic/Activity Reading/Videos Due
M6
- Final Project: Project Planning and Requirements Elicitation.
  • Finish defining your shared project idea.
  • Identify system users, stakeholders, and goals.
  • Perform mock requirement elicitation.
W6
- Final Project: Project Planning and Requirements Elicitation.
  • Start defining system functionalites: Use Cases Diagrams will be helpful
  • Develop some user stories.
  • Start writing functional and non-functional requirements (acceptance criteria) for the stories.
F6
- Final Project: Project Planning and Requirements Elicitation.
  • Prepapre git repository.
  • Finish your user stories and create Backlog.
DUE IN KIT
- Deliverables of First Week [by 11:59 p.m.]
- Bi-Weekly Reflection #3 [by Sun @ 11:59 p.m.]
Week 7
Class Topic/Activity Reading/Videos Due

DoGL


Monday of 7th Week: No Class. This day has been declared as the "Day of Gracious Living."

W7
- Database Design and Security
- Final Project: Design, Sprint Planning and Setup.
  • Plan Sprint #1 and create Product Backlog.
  • Define initial system architecture and tech stack.
  • Design database schema and/or basic UI wireframes.
[16 mins]
- SQL Database Design Tutorial
SUGGESTIONS
- Get familiar with Quick DBD, it can help with DB design.
F7
- Final Project: Design, Sprint Planning and Setup.
  • Sprint #1: Include the Project's Database Design.
  • Start Sprint #1 development.
Week 8
Class Topic/Activity Reading/Videos Due
M8
- Sprint #1: Retrospective Meeting (public)
  • Follow this tutorial to prepare a retrospective of Sprint #1.
  • 1 person per team | 5 minutes per team.
[9 mins]
- Agile Retrospectives
- Agile Review Meetings
DUE IN KIT
- Deliverables of Second Week [by 11:59 p.m.]
W8
- Invited Speaker: "The role of AI in Software Development."
  • Kamal Kamalaldin, Engineering Manager.
  • Preston Wang-Stosur-Bassett, CTO.
  • Ricardo Sisco, Associate Software Engineer.
F8
- Final Project: Developing Sprint #2 - Other Features
  • Sprint #2: Plan and execute search, data display, and CRUD features.
DUE IN KIT
- Bi-Weekly Reflection #4 [by Sun @ 11:59 p.m.]
Week 9
Class Topic/Activity Reading/Videos Due

Memorial Day


Monday of 9th Week (M9): No Class. Take this time to prepare for the last sprint of your final project.

W9
- Sprint #2: Write tests as you build (like unit tests, using a TDD approach).
  • Fix bugs and refactor code as needed.
  • Prepare for a final (substantial) demo in final sprint (10th week).
F9
- Sprint #2: Retrospective Meeting
  • Meet with your team to prepare a docuemnt with your retrospective.
  • Follow the instructions for "Deliverables".
DUE IN KIT
- Deliverables of Fourth Week (Sprint #2) [by 11:59 p.m.]
Week 10
Class Topic/Activity Reading/Videos Due
M10
- Final Project: Final Sprint and Project Presentation
  • Complete final features and fix bugs.
  • Conduct final round of testing (unit + user-based).
  • Polish UI/UX and deploy local or hosted versions.
  • Prepare demo presentation and get link to your final repository ready.
W10
Final Project Presentation
F10
Final Project Presentation
Finals Week
No Final Exam - Happy Summer!