CS 4243W

Senior Design

Class Information


Latest Announcements

Important notes from Piazza will also be placed here

08/25 Example
Example Announcement

This is where important news might appear!


Information

These sections contain information about how the class is run

Instructors

  • Pablo Frank Bolton (pfrank at gwu)
  • Elyse Nicolas (enicolas at gwu)
  • Chris Toombs (cctoombs at gwu)

Time/Place

  • Lecture (sections 30 and 31): Wednesday 6:10PM - 8:40PM Online on BBUltra
  • Mentor Meetings:
    • Tuesday (Sec 10) 2:00PM – 3:15PM Online on BBUltra
    • Tuesday (Sec 11) 3:30PM – 4:45PM Online on BBUltra

Contact for Class stuff: Use Piazza first (see Tools and Links), otherwise, reach out on office hours if possible. If you must, you can also email me.

Office Hours

  • Pablo Frank Bolton : By appointment, contact me by Piazza. Office hours will be held on BBUltra (Piazza/Slack/BBUltra)
  • Elyse Nicolas: By appointment, contact me by email. Office hours will be held on BBUltra
  • Chris Toombs: By appointment, contact me by email. Office hours will be held on BBUltra" in the "Office Hours" section by my name.

Official catalog description

  • Planning, design, and construction of the senior design project . Economic analysis of the project. Application of software engineering principles, including software requirements, specification, requirements engineering, reuse, documentation, verification/validation, testing, configuration management. Report writing and presentations.

Informal description

  • You will learn a great deal, pick up important job/interview skills, and develop pride in completing a challenging project.

Specific learning outcomes

  • Learn key elements in the development of a significant year-long computer science project: planning, specification, design, economic analysis, and implementation.
  • Understand and apply concepts from software engineering to the project: requirements, specification, requirements engineering, reuse, documentation, verification and validation, testing, configuration management
  • Learn to write about and make presentations about important aspects of the project: the case for launching the project, status reports, design, and implementation plan.
  • Demonstrate a working project.
  • Demonstrate an understanding of how knowledge and skill in computer science courses played a role in the project.
  • Demonstrate an understanding of how continuing education can contribute to career development.

Prerequisites

See the undergraduate curriculum

Responsibilities - Students must

  • Attend all classes synchronously. If you cannot, we will have an asynchronous option but you should let us know beforehand and justify your absence (we will try to be flexible given the pandemic).
  • Interact, ask questions, and generally participate in class discussions. Participation is a graded part of the course.
  • Attend all Mentor meetings, and do work assigned therein. If you cannot, we will have an asynchronous option but you should let us know beforehand and justify your absence (we will try to be flexible given the pandemic).
  • Complete the work for your module or role in each team. While your teammates might pull for you on a slow week, you are expected to pull your weight over the duration of the project. On the other hand, you should strive to make sure your teammates get a chance to put their own vision and work. The key word is balance.

Course Philosophies

Throughout the class, students should focus on adhering to the following general tenets:

  • Don't fear to push: You have accumulated a great deal of knowledge and skills. Put them to the test and use this course as an opportunity to find an application for them. In doing so, you will most likely refine and expand on what you've learned and acquire valuable skills for your next steps.
  • Be organized: We will help you stay on track and balance your work, but you must do your part to keep the balance and pacing in order to do your bit. This includes giving us feedback (including criticism) as soon as you need it so we can help you and your team (including getting stuck, team dynamics, making a pivot, etc).
  • Embrace the breadth: You will most likely work on subjects that you are interested in, but you will also be asked to delve into modules that might seem boring or uninteresting but that are crucial for finishing your full project. This is common in industry and academia; you are in a good spot to learn to deal with those situations. In addition, you will be asked to develop your presentation and reasoning skills during individual and team presentations and demos.

Course Materials

  • Webpage for the course (here) Class Info
  • Blackboard and Blackboard Collaborate Ultra (BBUltra)
  • Trello: for keeping track of your progress and plans
  • Piazza
  • For a detailed view of the Lectures and Activities, go to Schedule

Use of Electronic Course Materials and Class Recordings

Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions should not be shared or used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions.
Please contact Disability Support Services if you have questions or need assistance in accessing electronic course materials.

Grading

Fall
  • 15% Writing assignments
  • 20% Presentations
  • 20% HCI assignment
  • 20% Design assignments
  • 20% Demo Grades (timely and continued progress towards project)
  • 5% Participation(attendance, participation, contributions, ...)
Spring
  • 20% HCI Presentation
  • 10% Presentation IV
  • 10% Final Video (Screencast)
  • 20% Demo Grades (timely and continued progress towards project)
  • 20% Final Demo
  • 15% Final Package (Report, Homeworks, Website)
  • 5% Participation (attendance, participation, contributions, ...)

Grading with Teams

Except for a few individual homework submissions, most of the work is in teams. Every one of the team grades will have an individual component (50%) and a team component (50%).

Late or Missed Submissions

We will try to be as lenient as possible. That said, the schedule has already been relaxed to account for the current difficulties. Team assignments (most of them) suffer heavily if there are missed modules or incomplete work, which is why we will also keep track team health. If your team suffers from continued coordination or balance issues, we might have to make changes (to grades, or in extreme cases, team composition).
Late policy: Late assignments will lose 20% per 24-hour period (not pro-rated). Submission of all writing assignments must follow the submission rules indicated in the logistics page. All reports, presentations and such will be submitted via your Google Drive (your project shared folder) project website, and eventually uploaded to your project website. You must submit both a document and a PDF (which we will use for grading). Presentations and demos cannot be submitted late for credit as they are required in-class. The submission time will be determined by the upload time of the pdf on Google Drive. Please remember that many deadlines for this class are known far in advance, so plan ahead and work early to anticipate any issues.

Participation instead of Attendance

In lieu of attendance, we will be keeping track of in-class and in-meeting (synchronous) participation or your participation using asynchronous methods (Piazza, Office-Hours). Answering or asking questions in class, mentor meetings, or in Piazza will help you get full participation points.

Synchronous vs Asynchronous Materials

During COVID-19, some students might not, on occasion, be able to attend synchronously because of their timezone or their available technology.

If you will not be able to attend (any) lectures and/or meetings, you need to register as a fully-asynchronous student with the instructor (send me a detailed explanation using a private message on Piazza). If you miss few synchronous lectures (one or two) then you don't need to do this. You are required to email your instructors before the session you will miss or immediately after the session time.

We will offer asynchronous options that need to be completed in a timely manner. For fully-asynchronous students, or students that miss synchronous submission events, we will have a different ways of counting participation:

  • You will be asked to participate in asynchronous team discussions using Piazza.
  • If asked to, you will be required to attend office hours.
  • You might be asked to submit video recordings where you explain a concept, explain your code, or present a diagram.

Academic Honesty

Senior Design requires creativity, innovation, and fairness. In order to achieve this, you will receive plenty of help from your classmates, your SD mentors, and Faculty mentors. You will be responsible to do your part and to contribute with original work. We will keep close attention to the balance of work in teams and we will use demo interviews to make sure you've completed your own work. While the use of third party work is allowed, it is by no means supposed to be the whole of your work and it should always be used with permission and/or avoid infringing upon any licensing restrictions.

Please refer to the academic integrity policy linked from the course web page. This policy will be strictly enforced. If you're having significant trouble with an assignment, please contact me. Please see: Academic Integrity Policy

Past Projects

You can follow this link to check out past project websites: