Weekly Schedule
Lectures will be held on Wednesdays, while Mondays and Fridays will be reserved for stakeholder meetings and project work. Lectures are subject to change based on project needs and team progress.
Events on Thursday, December 11, 2025
No events for this day.
All Events
Monday, August 25, 2025
Lab – Short Intro to Course, Introduce Client/Stakeholder and Projects
We will thoroughly review the expectations and schedule of the course to ensure everyone has a clear understanding of what lies ahead. This includes discussing key deadlines, required deliverables, and the overall objectives we aim to achieve. More importantly, we will have the opportunity to meet our project stakeholders. During this meeting, stakeholders will present their pitches, providing us with valuable insights into their needs and expectations. This interaction will be crucial as it will set the foundation for our projects, allowing us to align our goals with stakeholder visions and ensuring that we are well-prepared to address their requirements throughout the course.
Wednesday, August 27, 2025
Lecture – Requirements Gathering and Management
Objective: To understand the importance of requirement gathering in project success by ensuring a clear understanding of stakeholder needs and defining project scope. This lecture will cover identifying potential risks, engaging stakeholders, improving project quality, managing costs, and facilitating change management.
Friday, August 29, 2025
Lab – Event Storming
A requirements gathering workshop to help quickly identify what happens in the domain of your project. Event Storming is a collaborative workshop technique for domain-driven design, where stakeholders and team members visually map out domain events on sticky notes to explore complex business processes and uncover insights, fostering shared understanding and rapid problem-solving.
Deliverable – Email to Client/Stakeholder with team introduction and project-related questions
Email to Client/Stakeholder with team introduction and project-related questions
Monday, September 1, 2025
Break! – Labor Day
No classes will be held!
Wednesday, September 3, 2025
Lecture – Crafting Effective Requirements Documentation
This lecture introduces the fundamentals of requirements engineering, focusing on gathering, defining, and documenting system requirements. Students will learn how to create effective requirements documents by exploring user stories, use cases, and features, emphasizing stakeholder collaboration. The session also highlights using tools like Docusaurus to streamline documentation, manage requirement changes, and ensure clear communication among project teams.
Thursday, September 4, 2025
Deliverable – Project Voting and Team Formation
Now that we've seen the individual project pitches, we'll make time to interview potential teammates and ask questions. Students will vote on the projects they want to work on.
Friday, September 5, 2025
Deliverable – Team Collaboration Plan
Each team must submit how they will communicate with each other. Discord, Slack, Email, WeChat, MSTeams, GroupMe, AIM, AOL, MySpace... Canvas... We need to know how you will be communicating and that you have an understanding that you must be able to communicate so that the project can move forward.
Monday, September 8, 2025
Sprint – Sprint 0
1 Week Practice Sprint
Deliverable – Requirements Specification
The Requirements Specification is a design document that outlines the functional and non-functional requirements for a project. It serves as a contract between the project team and stakeholders and will be used to measure the project's success or failure. The document should be entirely high-level and only demonstrate what the user needs. These requirements will also be added as Stories in your Jira backlog. The specification should include an overview of the system and its block diagram, a general overview of the document, a list of general requirements, a description of features and requirements, and use-case or user story descriptions with triggering events and interactions between the actor and the system. Normal and alternate flows should also be described, and external interfaces with the user and external hardware or software should be identified.
Wednesday, September 10, 2025
Lecture – Software Project Planning and Tools
We will learn about project planning, management, and the tools we will use to help manage complex software projects Jira.
Monday, September 15, 2025
Sprint – Sprint 1
First 2 week sprint
Lecture – Agile Estimation Activity
We will learn how to estimate the effort of tasks/stories by running a mock Story Point Poker exercise. This method is used heavily in industry to estimate how much effort an agile team must take to achieve their sprint goal. Section 003 will also have a guest visit form FAST Enterprises Recruiter.
Wednesday, September 17, 2025
Lecture – Product Backlog and Project Scope
We will spend more time populating the product backlog in Jira. We will also further evaluate scope and see how Gantt charts can help us to visualize time constraints in project development. Section 001 and 002 will have a visit from FAST Enterprises Recruiter.
Sunday, September 21, 2025
Assignment – Requirements Document Revisions
Any issues with the requirement specification must be revised and submitted for review. This is to ensure project success. Writing quality will also be addressed. Any grammatical error's or clerical errors will affect your grade permanently so be sure to visit the Temple Writing Center and PROOF READ.
Monday, September 22, 2025
Lab – Designing using UML Discussion and Software Design Activity
We will review the unified modeling language diagrams from software design class. We will also talk about the audience that would read design document 1 and it's purpose.
Wednesday, September 24, 2025
Lecture – Software Project Toolbox and Tech Stacks
This course is much different from previous classes that you've taken in the computer science major. Now you have to define how your software will be made. Making the decisions of a software engineer rather than a programmer.
Sunday, September 28, 2025
Assignment – Design Document Part 1 Architecture DRAFT
This assignment requires students to create a Design Document focused on software architecture, serving as an initial blueprint for their system. The document will outline how requirements are translated into a design, including detailed descriptions of different software components and their interfaces. It should feature class diagrams to illustrate the classes to be developed and their relationships, sequence diagrams to demonstrate message flows for each use case, and state diagrams for classes with states. Additionally, if the project involves a database, the document must include an entity-relation diagram and table design. Given that this is a dynamic project, students must be prepared to revise this document after each project milestone, ensuring that it accurately reflects their evolving understanding and design decisions.
Monday, September 29, 2025
Sprint – Sprint 2
2 week sprint
Lab – Class Hackathon/Jira and Github Practice
It's time to really get your feet wet in working with restful API's, and the software that we will be working with the rest of the semester. You will be asked to plan a miniature sprint to make a project that will help you keep up with all of the upcoming course dates that are listed in the syllabus, you will have a short presentation on the following Monday to demonstrate its functionality. You may choose any programming language, but you must use the courses.ianapplebaum.com/api.
Wednesday, October 1, 2025
Lecture – API Interface Design
We will cover the design patterns, employed by most applications, such as MVC we will also take a look at RESTful, architectures and example documentation on the web.
Sunday, October 5, 2025
Assignment – Design Document Part 2 API DRAFT
In this assignment, students are tasked with developing a Design Document focusing on the API aspect of their software implementation. This document will provide a comprehensive review of the software architecture for each module, as outlined in the Design Document (Architecture). It should detail each class, including descriptions of data fields, methods, their intended purposes, and specify pre-conditions, post-conditions, parameters, data types, return values, and output variables. The information should be organized in structured comments within the source files. A documentation generation tool will be used to create this document. Like the architecture document, this too is a working draft. Students are expected to continuously update and refine this document in line with project milestones, ensuring it remains an accurate and current reflection of the software implementation.
Monday, October 6, 2025
Lecture – Software Testing
We've already learned about Unit Testing in Software Design, but there is so much more out there. we will learn about software quality control feature testing. Continuous integration and deployment. We will also talk about how to write good manual acceptance test criteria.
Friday, October 10, 2025
Assignment – Proof of Unit Testing
Your team will prove that they can perform unit tests within the project on their machine. Everyone must demo. No exceptions.
Sunday, October 12, 2025
Assignment – Test Procedures Document
The Test Procedures document describes the approach and tests to be performed to verify the requirements specified in the Requirements Document. It includes procedures for unit tests, which involve testing individual methods with input parameter values and expected results, using mock objects to stub external classes. It also includes integration tests, which demonstrate each use-case based on the use-case descriptions and sequence diagrams, using mock objects for external input and verification. Finally, it includes acceptance tests, which demonstrate all functional and non-functional requirements through a combination of automated tests derived from use-cases and manual tests with recorded observations of the results.
Monday, October 13, 2025
Sprint – Sprint 3
Monday, October 20, 2025
Lab – Demoing for Customers: Agile Demonstrations
"Demoing for Customers: Agile Demonstrations" delves into effective software demonstration techniques. Key takeaways include understanding your audience's needs and expertise; emphasizing features over code; the art of storytelling in demos; strategic planning for clear communication with stakeholders; tailoring demos to showcase user experience and value; allowing developers to present their work, showcasing pride without arrogance; setting and managing audience expectations; and the importance of preparation, practice, and feedback.
Monday, October 27, 2025
Sprint – Sprint 4
Milestone – Milestone Demo 1
Every two weeks in the construction phase you will be asked to present your progress on the project. These demos should present use cases and user stories with a live demo. Each demo should be presented as if to a real customer. This means the demos should be non-technical. You will not be presenting code. The first three milestone demos should help you prepare for the final milestone demo where you will present the whole project.
Monday, November 10, 2025
Sprint – Sprint 5
Milestone – Milestone Demo 2
Every two weeks in the construction phase you will be asked to present your progress on the project. These demos should present use cases and user stories with a live demo. Each demo should be presented as if to a real customer. This means the demos should be non-technical. You will not be presenting code. The first three milestone demos should help you prepare for the final milestone demo where you will present the whole project.
Wednesday, November 19, 2025
Lab – Demos by Example
Now that we've conducted our first milestone demo and gained a firsthand experience of presenting in front of an audience, let's take the opportunity to observe how both students and professionals have demonstrated software from a user's perspective. This observation will assist us in improving our approach for the upcoming two demos, and most importantly, for the final demo.
Monday, November 24, 2025
Break! – Fall Break (no classes held)
Monday, November 24 - Sunday, November 30 is Fall Break!
Monday, December 1, 2025
Sprint – Final Sprint
Milestone – Milestone Demo 3
Every two weeks in the construction phase you will be asked to present your progress on the project. These demos should present use cases and user stories with a live demo. Each demo should be presented as if to a real customer. This means the demos should be non-technical. You will not be presenting code. The first three milestone demos should help you prepare for the final milestone demo where you will present the whole project.
Sunday, December 7, 2025
Assignment – Test Report Document
The Test Report documents the results of tests that have been run. It includes output from unit, integration, and automated acceptance tests, as well as a copy of the manual acceptance test procedures with notations indicating that the tests were performed and the observed results. It also includes a list of known problems, including a description of each failed test.
Assignment – Document Revisions Final Deadline
All document revisions must be submitted to Task/Instructors for final evaluation.
Monday, December 8, 2025
Milestone – Final Presentation & Demo
It's the big day! Faculty, Students, and specially appointed industry guests will get the chance to see your work all finalized.
Assignment – Final Software Release
All project documents must be finalized and submitted along with project source code and binaries.
Friday, December 19, 2025
N/A – Final Grade Submissions 🎓
Have a great summer! See you at graduation!
Click here for Mermaid Diagram markdown.
```mermaid
gantt
title Schedule Gantt Chart
dateFormat YYYY-MM-DD
excludes 2025-09-01 2025-11-24 2025-11-25 2025-11-26 2025-11-27 2025-11-28 2025-11-29 2025-11-30
Short Intro to Course, Introduce Client/Stakeholder and Projects: done, 2025-08-25, 1d
Requirements Gathering and Management: done, 2025-08-27, 1d
Event Storming: done, 2025-08-29, 1d
Labor Day: done, 2025-09-01, 1d
Crafting Effective Requirements Documentation: done, 2025-09-03, 1d
Sprint 0: , 2025-09-08, 1w
Software Project Planning and Tools: done, 2025-09-10, 1d
Sprint 1: , 2025-09-15, 2w
Agile Estimation Activity: done, 2025-09-15, 1d
Product Backlog and Project Scope: done, 2025-09-17, 1d
Designing using UML Discussion and Software Design Activity: done, 2025-09-22, 1d
Software Project Toolbox and Tech Stacks: done, 2025-09-24, 1d
Sprint 2: , 2025-09-29, 2w
Class Hackathon/Jira and Github Practice: done, 2025-09-29, 1d
API Interface Design: done, 2025-10-01, 1d
Software Testing: done, 2025-10-06, 1d
Sprint 3: , 2025-10-13, 2w
Demoing for Customers: Agile Demonstrations: done, 2025-10-20, 1d
Sprint 4: , 2025-10-27, 2w
Milestone Demo 1: crit, milestone, done, 2025-10-27, 1d
Sprint 5: , 2025-11-10, 2w
Milestone Demo 2: crit, milestone, done, 2025-11-10, 1d
Demos by Example: done, 2025-11-19, 1d
Fall Break (no classes held): done, 2025-11-24, 1d
Final Sprint: , 2025-12-01, 1w
Milestone Demo 3: crit, milestone, done, 2025-12-01, 1d
Final Presentation & Demo: crit, milestone, done, 2025-12-08, 1d
```
Milestone Demo dates will not change. You are expected to be aware of these dates. Please plan accordingly.