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.
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.
Announcements
- This website is under construction - all content subject to change!
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.
- 2022-23 Projects and Teams - these are the project teams for 2022-2023.
- 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.
- Samples of Past 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
- 2022-23 Project Ideas from faculty If you are looking for project ideas/topics, this is a list of ideas proposed by faculty.
- 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.
- Trello Your place for task management. We will use this space for managing project tasks and details. Each team will have their own Workspace to manage their project. Project mentors will have access to the project workspace. Sign up right away for your Trello account and provide this in the Class Logistics survey (due first week).
- Github Your place for code management. We will use this to manage your deployments, store your code, and monitor your commit progress
- Trello and Github Quickstart tutorial
- 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:
– 1. What have you done since we last met ?
– 2. What will you do until we meet again ?
– 3. 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 – tooling walkthrough
- Project planning: Discovery and Research
- Project Planning: planning in Practice
- Developer tools
- Development and delivery
- Design and User Experience
- Communication skills
– a. Written reports (CS4243) is a WID course.
– b. Oral presentation skills – presenting to different audiences - Teams: Roles, Communication and Collaboration
- Career planning, career paths, Mock interviews
Schedule
Lecture notes, when made available, are linked from the schedule below.
Fall Semester CSCI 4243W
Week | Lecture Session | Lab(Wednesday) | Work Deadlines (Sunday) | |
---|---|---|---|---|
Week 1 Aug.29th |
Introductions, Project planning and Teams Course Logistics |
Introductions & Meet the Mentors Methodologies, Tooling walkthrough |
1.Complete the Logistics Survey - Sept.6 Noon 2. Form Team 3. Read Project Criteria 4. Create Trello Account |
|
Sept.5th | Meeting w/instructors: project ideas |
Project Planning: Discovery and Research Standup meeting with mentors |
1. Propose Project ideas 2. Submit Resume - by midnight, Sept.11 |
|
Sept.12th | Presentation Tips & Practice Meeting with instructors (project ideas) |
Project Planning: Planning in Practice Standup Meeting with mentors |
Draft project proposal (One page) -Sept.18th (Post on team Slack channel ) discuss proposal draft with mentors & instructors |
|
Sept.19th | Instructor meeting: Refined project ideas-components, HW equipment and SW needed |
Mock Interviews Standup meeting with mentors |
1.Project Proposal (blackboard) 2. Hardware equipment and Software/data fees requests to instructors - Due Sept.25th |
|
Sept.26th. | Team presentation practice Sprint Planning Meeting prep |
Presentation Practice SPM1 (Review Sprint plans) with mentors |
1. Gantt Chart - Submit on your slack channel 2. Technical design discussions 3. Group feedback (optional) - email instructors |
|
Oct.3rd | Presentation feedback | Project Development and delivery Standup Meeting with mentors |
1. Start draft (individual) Writing 1: Executive Summary(Elevator pitch)- Individual Submission 2. Updated (if applicable) Gantt Chart |
|
Oct.10th | Presentations | Presentation 1: Project elevator pitch Presentations-Rubric Standup meeting with mentors |
1. Teamwork Survey (Required) 2. Project Website (landing page) 3. Writing 1 Due Oct.16, Blackboard. Individual submission |
|
Oct. 17th | Feedback | Feedback | 1. Start draft of Writing 2: Technical summary (Individual submissions) 2. Design review with mentors |
|
Oct.24th | Fall Break | Presentation 2: Project Design (Tech) Presentation 2 Rubric Standup Meeting with mentors |
Writing 2 Due Oct.30 Blackboard Code Review with mentors |
|
Oct.31st | Sprint Planning Meeting prep | Project Design and User Experience SPM with mentors |
Discussion of User Interface | |
Nov.7th | Demo Review plans UI Design |
Presentation and PRDs Standup meeting with mentors |
Code Review 2 | |
Nov.14th | Status report- teamwork | Alumni talk: Lean Startups Standup meeting with mentors |
Writing 3 (Team) Due Nov.20, Blackboard includes User Interface Design Document 2. Group Feedback (opt) |
|
Nov.21st | Status meeting: prep for Alpha Prototype Demo |
Thanksgiving Break | ||
Nov.28th | Sprint Planning Meeting | Sprint review with mentors Demo Prep |
Code Review 3 | |
Dec. 5 | Status updates on Demo1 | Presentation 3: Demo 1: Alpha Prototype |
Writing 4 draft | |
Dec.12th | Team meetings if necessary | Writing 4: Final Design Document (team) (Due Dec.14th) | ||
Winter Break | end of CSCI 4243 |
Spring Semester CSCI 4244
Week of | Lecture Session | Lab(Wednesday) | Work Deadlines |
---|---|---|---|
Jan 17 | Standup meeting: project status review |
Project review & Updates Testing and Code Reviews |
winter updates |
Jan 24 | Review course requirements prepwork for Beta Demo |
Preparing “promotional” (commercial) presentations Project Status discussions (opt) |
1. Code Review 2. Groupwork Feedback (Opt) |
Jan. 31 | Sprint Planning Meeting 4 | Alumni Panel: The Startup World Suraj Shah, Ben Fernandez (Class of 2020), Devin Kopp (Class of 2019) Sprint Review |
Final Project Webpage Design |
Feb.7 | Standup Meeting: prep Demo |
Demo 2: Beta Prototype | Teamwork Survey (required) |
Feb.14 | Standup Meeting: Planning your presentations |
Course planning Money management in the real world |
1. Draft presentation videos Code reviews |
Feb.21 | Presentation practice | Presentation 4: Final “promotional” presentation (elevator pitch) 3 minute presentation, rubric similar earlier presentations |
|
Feb.28 | Sprint Planning Meeting 5 | Alumni Panel Sprint Review |
Code Review |
Mar.7 | Standup Meeting: Demo 3 |
Demo 3: Prelim Prototype | Group Feedback Survey (Reqd) |
Mar.14 | SPRING | BREAK | |
Mar.21 | Mock 100% Demo Discussions/planning | Alumni panel or Senior Focus Group | Code reviews Plan your mock 100% Demo |
Mar.28 | Sprint Planning Meeting 6 | Senior Focus Group or Alumni Panel | |
Apr. 4 | Standup meeting | Mock 100% Demo presentation and Final presentations practice | Group Feedback (Opt) |
Apr. 11 | Standup meeting | Alumni Panel: Life after college |
Final presentation slides Complete promotional video and upload to website |
Apr.18 | Sprint Planning Meeting 7 | Sprint review Final presentation practice (Opt) |
Code Review |
Apr. 25 | Final Demos | Final Presentations and 100% Demos | |
May 1 | Makeup | Makeup Demos | Upload videos of demos |
May 10 | Final Package Due | ||
May 17 | SEAS Senior Design Showcase Details forthcoming |
Commencement |