Course Description
This is a two semester Computer Science capstone course culminating in a significant software project.
Bulletin Description: Planning, design, and construction of the capstone project; economic analysis of the project; application of software engineering principles, including software requirements, specification, requirements engineering, reuse, documentation, verification/validation, testing, configuration management. Includes a significant engagement in writing as a form of critical inquiry and scholarly expression to satisfy the WID requirement.
Fall Semester CSCI 4243W
Week (Sunday) |
Lecture Session (Tuesday) |
Lab (Wednesday) |
Work Deadlines (Sunday 11:59pm, unless otherwise noted) |
---|---|---|---|
Aug. 25 | - Course Logistics | [Lab Slides] - Deloitte Visit - Lab Overview - Project Management Intro - Team Formation |
1. Look at sample ideas 2. Join slack & upload your photo ASAP 3. Complete Student Info form ASAP 4. Form teams & complete team submission before Tuesday’s class (Sept. 3) |
Sept. 1 | - Presentation Skills - Review project ideas |
[Lab Slides] - ML Research - Github Projects Setup - Tech Lab Overview |
1. Refine Project ideas (edit team submission) 2. Submit Resume (blackboard, Sept. 8) 3. Schedule weekly instructor meeting (Sept. 8) |
Sept. 8 | Team meetings with instructors (team meetings replace lectures from this week onwards) |
[Lab Slides] - 5 year MS - Project Management: Discovery & Research - Tech labs |
1. Draft project proposal, 3 slides (Blackboard, Sept. 15) 2. Schedule weekly mentor meeting before Wednesday’s class (Sept. 18) |
Sept. 15 | Team meetings with instructors - Refined project ideas - HW equipment and SW needed |
[Lab Slides] - Mentor intros - Project Management: Planning in Practice - Jobs/Interview Prep - First team meeting w/ mentors |
1. Updated Project Proposal Slides (Blackboard, Sept. 22) 2. HW equipment and SW requests to instructors (Sept. 22) Mock Interview Signup, optional (first-come, first-served) |
Sept. 22 | Team meetings with instructors - Progress Check |
[Lab Slides] - Mock Interviews - Standup meeting w/ mentors |
1. Start working on Writing 1: Executive Summary (Blackboard, Oct. 6) 2. Prepare for sprint planning |
Sept. 29 | Team meetings with instructors - Sprint Planning Meeting prep |
[Lab Slides] - Git, CI/CD - Team Charters - Sprint planning with mentors |
1. Writing 1: Executive Summary (Blackboard, Oct. 6) 2. Teamwork Survey (Oct. 6) 3. Team Charter (Github, Oct. 6) |
Oct. 6 Fall Break: 10-11th |
Team meetings with instructors - Progress Check |
[Lab Slides] - Writing Feedback - Project Design & UX - Standup meeting with mentors |
1. Presentation 1 (Oct. 16) |
Oct. 13 | Team meetings with instructors - Progress Check |
- Presentation 1: Project elevator pitch Presentations-Rubric - Standup meeting with mentors |
1. Project Website (landing page, Oct. 20) |
Oct. 20 | Team meetings with instructors - Progress Check |
[NO LAB] - project focus time - Standup Meeting with mentors |
1. Writing 2 (Blackboard, Oct. 27) 2. Team progress review (Oct. 30) 3. Code Review with mentors |
Oct. 27 | Team meetings with instructors - Sprint Planning Meeting prep |
[REMOTE LAB] [Lab Slides] - Oct. team progress review - Sprint planning with mentors |
1. Teamwork Survey (Nov. 3) 2. Demo 0: individual progress checkin (week of Nov. 3) 3. Presentation 2 (Nov. 6) |
Nov. 3 | Demo 0: individual meetings w/ instructors | - Presentation 2: Project Design (Tech) Presentation 2 Rubric - Standup meeting with mentors |
1. Code review with mentors |
Nov. 10 | Team meetings with instructors - Progress Check |
[Lab Slides] - System Design - Standup meeting with mentors |
|
Nov. 17 | Team meetings with instructors - Prep for Alpha Demo |
[REMOTE LAB] [Lab Slides] - Mentor Presentation: Design Docs - Mentor Presentation: Solutions Architect - Standup meeting with mentors |
1. Writing 3 (Team) (Nov. 24) includes User Interface Design Document 2. Code review with mentors |
Nov. 24 | No class | Thanksgiving Break | |
Dec. 1 | Team meetings with instructors - Prep for Alpha Demo |
- Presentation 3 - Standup meeting with mentors (last one of the semester!) |
|
Dec. 8 | Demo 1: Alpha Project Review | Team meetings if necessary | 1. Writing 4: Final Design Document (team) (Dec. 15) 2. End of Nov/Dec sprint (Dec. 12) 3. Teamwork Survey (Dec. 15) |
Spring Semester CSCI 4244
Week (Monday) |
Lecture Session (Tuesday) |
Lab (Wednesday) |
Work Deadlines | |
---|---|---|---|---|
Jan. 13 | Individual Fall Feedback | Spring Project Planning | ||
Jan. 20 | Status Update | Testing and Code Reviews | ||
Jan. 27 | Status Update | Lab Office Hours | Sprint with Peer Code Review by 2/2 | |
Feb. 3 | Demo 2 (individual) | TBD | Groupwork Feedback (Opt) | |
Feb. 10 | Sprint 3 Plan | Demo 2 Feedback (zoom) | ||
Feb. 17 | Status Update | Presentation 4: Skill Refinement | ||
Feb. 24 | Status Update | Lab Office Hours | Sprint with Mentor Code Review by 3/2 | |
Mar. 3 | Demo 3 (team) | TBD | Group Feedback Survey (Reqd) 3/9 | |
Mar. 10 | SPRING | BREAK | ||
Mar. 17 | Final Sprint Plan | Senior Focus Group | ||
Mar. 24 | Status Update | Lab Office Hours | Sprint with Peer Code Review by 3/30 | |
Mar. 31 | Demo 4 (individual) | Money management in the real world | Group Feedback (Opt) | |
Apr. 7 | Demo 4 Feedback Alumni Slide Review |
Practice Presentation | SEAS R&D and Senior Design showcase | |
Apr. 14 | Final Demo (team) | Feedback for Practice Presentation (zoom) | April 19 Poster PDF Submission Due for | |
Apr. 21 | Optional instructor meeting | Final Presentation | SEAS R&D and Senior Design showcase Friday April 25 (Showcase Day) |
|
Apr. 28 | Classes End | Makeup Demos (No Lab) | ||
May 5 | Final Package Due Sunday May 11, 11:59PM | |||
May 12 | Commencement Week | Graduation, hooray!! |
Learning Outcomes
- Learn industry best practices, tools, and key elements in the software development process through a year-long computer science project: research and discovery, planning and design, development and launch.
- Apply concepts from software engineering to the project: requirements, specifications, reuse, documentation, verification and validation, testing, configuration management.
- Learn to communicate (written and oral) your work to stakeholders of the project: the case for launching the project, status reports, design, implementation plan, and demos.
- Demonstrate an understanding of the concepts that you’ve learned in your Computer Science curriculum, and how knowledge and skill in Computer Science courses played a role in the project.
- Explore local and global impact of computing, as well as social impact issues.
- Demonstrate a working project.
Getting Started: Class Resources
You should have received an email with a survey about project topics and teams. If you have not then contact the instructors immediately.
- Course Syllabus for the complete syllabus, requirements including grading policies, submission policies, and explanations.
- Project Criteria Read this document very carefully as you develop and propose your project ideas. Your project must meet the criteria specified in the Criteria document. Please read that carefully and make sure you can describe how your project proposal meets the requirements. You should also include what each team member will be responsible for.
- Project Examples from 2022-2023
- Older Projects - examples of past senior design projects (some from waay back!). Browse through them to get an idea of the types of projects students have completed in the past (but these are all single person projects, so expect a larger scope for your projects since you are doing team projects).
- Promotional Video of Class2021 Projects
- Project Ideas from faculty If you are looking for project ideas/topics, this is a list of ideas previously proposed by faculty. Or these AI generated ideas might not all be nonsense.
- Blackboard Your place for major announcements. We will use this space for announcements that would change the outcomes, syllabus, or deadlines of the course, and to post your grades. Individual writing assignments will need to be submitted on blackboard.
- Slack - (Join here) Your place for adhoc and daily communication. We will use this space for communication between team members, teams, mentors and instructors. We will use the same public channel (the general channel) for any classwide communication/discussion but you will have a team channel to use for your team and mentor communications.
- Github Your place for code management & task management. We will use this to manage your deployments, store your code, monitor your commit progress, and manage project tasks and details. Project mentors will have access to your repo.
- Git Instructions & Video Demo (provided by Ethan Baron, Cat Meadows).
- Visual Studio Code Instructions & Video Demo (provided by Ethan Baron, Cat Meadows)
- Project Mentors (Technical Mentors): Each team will have a technical mentor assigned to them, and is required to meet regularly with their mentor. We recommend a weekly meeting but bi-weekly meetings, and sprint planning meetings, are required. The mentors are a valuable resource and they will help teams develop, evaluate, design, implement and test the projects. Mentor feedback will be an important part of your assessment.
- Project Webpage You must have a webpage for your project. We are using Github Pages - see the syllabus page for details on webpage and final package contents.
Meeting Types
The class will have several types of meetings: lectures (in-person and online), standup meetings, sprint planning meeting, panel discussions, project presentations, mock interviews, tutorials, guest lectures (in-person and online), and demos.
- Lecture/Presentation/Demo/Interviews will be held primarily during the regularly scheduled Wednesday (lab) classes.
- What is a standup meeting? A Standup Meeting (Agile methodology) is a weekly high level project status meeting between the team and the project instructor/mentor. Each team will meet with their technical mentor and/or course instructor for their standup meeting; the meeting will be scheduled either during the class times or at a time arranged between the mentors and the team. During this meeting, we ask our team members, in order to most efficiently make progress on the project:
- What have you done since we last met?
- What will you do until we meet again?
- Anything blocking your progress?
- What is a Sprint Planning Meeting (SPM)? A Sprint Planning Meeting (Agile methodology) is a monthly meeting in which the team sets the goals and tasks they choose to commit to for the next month. The group determines which Backlog items will be handled in the next sprint.
Topics
Some of the topics covered in the course include:
- SW Development Methdologies and Processes
- Project planning: Discovery and Research
- Project Planning: planning in Practice
- Developer tools
- Development and delivery
- Design and User Experience
- Communication skills
- Written reports (CS4243) is a WID course.
- Oral presentation skills – presenting to different audiences
- Teams: Roles, Communication and Collaboration
- Career planning, career paths, Mock interviews