CS 470: Senior Project

Spring 2021

Welcome to Senior Project!

All materials and project work will be distributed on Moodle.

We meet MWF, 11:00-11:50 am via the video conferencing link on Moodle.

Course Description

Course Description

This course is your opportunity to build a software solution for a customer using all the knowledge and skill you have acquired during your studies. You and your team will be assigned a customer, and you will work on a large-scale project for that customer throughout the term. You are expected to follow an agile software engineering process, and we will review these processes by discussing readings from the textbooks in class.

Instructor

Instructor Information(back up↑)

  • Instructor: Dr. Joann J. Ordille
  • Email: ordillej at lafaytte.edu
  • Office: 565 RISC
  • Office Phone: (610) 330-5416
  • Office Hours: MW: 3-5, F: 3-4 online on class link. Please email me if you would like to meet at another time.

Resources

Useful Links(back up↑)

CATME is the class tool for creating teams and evaluating the contribution of team members. This is a general information site. You will receive email for team creation and evaluation.

  • LinkedIn Learning

LinkedIn Learning is available from your my Lafayette page. It provides many helpful tutorials. If you need to learn languages, frameworks or tools, this site may help you.

  • Moodle

We will use Moodle extensively. In particular, detailed information for class activities and assignments will be available weekly. Please check Moodle frequently, and whenever you receive an email notification to do so.

Course Information

Course Information(back up↑)

Course Goals and Outcomes

Course Goals and Outcomes(back up↑)
Course Goals:

The goals of this course are to convey:

  • Experience in analyzing a problem, and identifying and defining the computing requirements appropriate to its solution.
  • Experience in applying design and development principles in the construction of software systems of varying complexity.
  • Skill in communicating effectively.
  • Effectiveness in functioning on teams to accomplish a common goal.
  • Recognition of the need for and an ability to engage in continuing education.

Course Outcomes: After successfully completing this course, students will be able to:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions (ABET Outcome 1).

Assignment Types

(back up↑)Assignment Types

Class Attendance: Class attendance is critical to success. In addition to instruction, class time provides contact time with your team and the opportunity to engage in a variety of software engineering practices, e.g. the scrum of scrums, to assist in the design and development of your projects. If you are in a time zone where it is difficult to keep to the class time, you and your team can arrange a regular meeting time that you coordinate with me.

Class Participation: Participation includes explaining concepts contained in the readings, asking or answering questions, expressing an opinion about a topic of discussion, and also reporting on activities in a group project. Individual or group meetings with me are also class participation. All sincere efforts to participate are admired, so don’t worry, just speak up. You are even welcome to express an opinion different than mine. All types of participation count except participation that shows you failed to prepare for class. For example, asking: “Who is Ada Lovelace?” when the assignment was to read the Countess of Lovelace’s biography would not count as class participation.

Class Exercises and Quizzes: To help you stay current with the assigned reading, there will be unannounced quizzes and graded class exercises. These items will test whether you completed the reading assignment before class and engaged in our classroom discussion of the material.

Group Projects: The focus of this class is a one semester-long complex project for a particular customer. You will learn to promote your project using an elevator pitch.  You will write and present a project proposal which will be graded. The project will be completed in sprints. Each sprint will have a set of deliverables (aka artifacts) that you will submit, and your team will lead a sprint review where you will demonstrate a working partial/full implementation of your project. The artifacts and review will be graded. By the end of the class, you must deliver your solution to the customer or you will not get an A. In an extended period on the last day of class (or other mutually agreed upon date and time), all the teams will present their projects to the faculty and students of the computer science department. More details about grading will be provided for each sprint and the final deliverable via Moodle.

Academic Honesty

(back up↑)Academic Honesty

It is essential that you follow the Lafayette College Code of Conduct with respect to academic honesty and avoidance of plagiarism as described in the Student Handbook. The beginning of the semester is a good time to review the handbook in this regard.

“To maintain the scholarly standards of the College and, equally important, the personal ethical standards of our students, it is essential that written assignments be a student’s own work, just as is expected in examinations and class participation. A student who commits academic dishonesty is subject to a range of penalties, including suspension or expulsion. Finally, the underlying principle is one of intellectual honesty. If a person is to have self-respect and the respect of others, all work must be his/her own.”

The Handbook gives the following examples of intellectual dishonesty:

  1. Submitting someone else’s work as your own.
  2. Incorporating someone else’s ideas or work into your own without attribution.
  3. Paying or arranging for someone else to do your work.
  4. Re-using material from another course without permission of your instructor.
  5. Engaging in unauthorized collaboration including asking for homework or programming assignment answers from an online discussion group.
  6. Obtaining the Instructor’s Answer Guide to the exercises in the book and using it. (This would also constitute theft, since the guide is only licensed to instructors.)

Academic dishonesty also includes copying explanatory material, such as descriptions of software packages, into documentation without indicating the source of the text and that it was copied.

When in doubt about whether an action is considered academic dishonesty, it is best to consult with me before you act. Cases of suspected intellectual dishonesty will be reported to the Dean, and the Dean will investigate and impose penalties.

Grading

(back up↑)Grading

Graded Material:
The course grade is based on the materials listed below graded on a 100 point scale, with each item contributing a specified percentage to the overall score. As specified in the student handbook, A will reflect excellent work, B will reflect good work, C will reflect acceptable work, and D will reflect passing work.

Class Attendance and Participation 3%
Homework and Quizzes 4%
Group Project Elevator Pitch 5%
Group Project Proposal 8%
Group Project User Manual 6%
Group Project Developer’s Manual 6%
Group Project Sprints  (for each, 40%/(total number of non-final sprints) 40%
Group Project Code, Comments, Functionality 10%
Group Project Working and Deployed System 10%
Group Project Live Final Presentation and Video of Presentation 8%

Team Participation Multiplier:

At the end of the project, you will be asked to evaluate your teammates. The CATME tool analyzes all team member responses and produces a weight between 0 and 1 for the amount of contribution to the project by each team member. A weight of 1 is a fully contributing team member. If your weight is significantly lower from 1, and/or I have reason to believe that you have not been fully participating in your team, I will reduce your grade on the project phase in proportion to the difference between your contribution weight and 1, or in a way congruent with my observations.

Grading Scale:
Typically, grades are assigned as follows from your final numerical grade:

A: 93-100 B+: 87-89 C+: 77-79 D+: 67-69 F: 0-59
A-: 90-92 B: 83-86 C: 73-76 D: 63-66
B-: 80-82 C-: 70-72 D-: 60-62

Tentative Schedule

(back up↑)Tentative Schedule*

 
Wk. Dy. Date Topic

Readings (S: Sethi,
SG: Scrum Guide)
1 M 2/8
Introduction to Senior Project
What makes a successful software project?
_
W 2/10
Introduction and
Processes
S: 1,2
F 2/12
Plan-Driven Processes
S: 3
2 M 2/15
Agile Processes
S: 4
W 2/17
How does scrum work?
SG
F 2/19
Customer Meeting
Requirements
S: 5
3 M 2/22
Use Cases
Elevator Pitches
S: 6
W
2/24
Estimation
S:7
F 2/26
Elevator Pitches
Project Proposal Due on Sunday
_
4 M
3/1
Project Proposal Presentation
Begin Sprint 1: Build a Minimal
Viable System
_
W 3/3
Estimation Card Game
Game
F 3/5
Sprint Planning Reports
Design and Architecture
S: 8
5 M 3/8
Scrum of Scrums
Architectural Patterns
S: 9
W 3/10
Scrum of Scrums
Goals and Metrics
S:10
F 3/12
Scrum of Scrums
_
6 M 3/15
Scrum of Scrums
Software Reviews
S: 11
W 3/17
Scrum of Scrums
Code Review Techniques
by David Weiss
Paper
F 3/19
Scrum of Scrums
Sprint 1 Complete on Sunday:
Build a Minimal Viable System.
Submit design and required
artifacts on Sunday.
_
7 M 3/22
Sprint 1 Review
with Demonstration.
Begin Sprint 2:
Complete Most Features.
_
W 3/24
Sprint Planning or Work
_
F 3/26
Sprint Planning Reports
8 M 3/29
Scrum of Scrums
_
W 3/31
Spring Break
F 4/2
Scrum of Scrums
_
9 M 4/5
Scrum of Scrums
_
W 4/7
Scrum of Scrums
Testing
S:12
F 4/9
Complete Sprint 2
System with Most Features by Sunday.
Submit required artifacts on Sunday.
 
10 M 4/12
Sprint 2 Review with
Stakeholders (Instructor,
Customer). Start Sprint 3:
Revise from Feedback,
Prepare for Delivery.
W 4/14
Sprint Planning.
Prepare for Quality Reviews.
_
F 4/16
Sprint Planning Report
_
11 M 4/19
Scrum of Scrums
Quality Reviews
_
W 4/21
Scrum of Scrums
Quality Reviews
_
F 4/23
Scrum of Scrums
Quality Reviews
_
12 M 4/26
Scrum of Scrums
Quality Reviews
_
W 4/28
Scrum of Scrums
Quality Reviews
_
F 4/30
Scrum of Scrums
Quality Reviews

Complete Sprint 3 on Sunday.
Revised from Feedback,
Delivery Ready.  Artifacts
submitted on Sunday.
_
13 M 5/3
Sprint 3 Review with

Stakeholders (Instructor,
Customer).
Start Sprint 4:
Revise from Feedback if Necessary,
Documentation, Deliver.
_
W 5/5
Sprint Planning
_
F 5/7
Sprint Planning Report
_
14 M
5/10
Scrum of Scrums
_
W 5/12
Scrum of Scrums
_
F 5/14
Scrum of Scrums.
Delivery to Costumer
Complete by Monday.
_
15 M 5/17
Final Sprint (Sprint 4) Review with

Stakeholders (Instructor,
Customer)  and CS Department
this week.
_
W 5/19
Complete Sprint 4 on Sunday.
Complete Software,
Documentation, and
Presentation Video.  Report on
Delivery. Artifacts
submitted on Sunday.
_
 
_

*Tentative schedule, subject to change. Check Moodle for the most up to date information.

 

.

Additional Information

(back up↑)Additional Information

SM&RT (SMART) Advisor: Advisors in the Sexual Misconduct & Resource Training Program, formerly SASH, seek to prevent sexual and gender based violence and harassment. They also provide services to those who have suffered from such violence or harassment. I am an SMART Advisor, and am available through appointment to assist you or your friends if you experience sexual misconduct.

Respect for classmates, colleagues and team members: All students are expected to show respect and courtesy to each other. Mutual respect is a high ideal in academic, business, and personal life. It is central to learning well together. Disagreements over ideas or constructive criticism of someone’s work is in keeping with this ideal. Attacking or disparaging someone is not, and will not be tolerated. In group projects, mutual respect also includes reliably contributing to the project and keeping your commitments to the group.

We follow the College Diversity Statement which says in part:

All members of the College community share a responsibility for creating, maintaining, and developing a learning environment in which difference is valued, equity is sought, and inclusiveness is practiced.

To learn more about how these principles are followed in the computing industry, view the Google video:

Diversity at Google (https://youtu.be/_3RoQRN65AI)

and the eBay video:

Diversity Workshop at eBay, Europe (https://player.vimeo.com/video/159767606)

Privacy: Moodle contains student information that is protected by the Family Educational Right to Privacy Act (FERPA). Disclosure to unauthorized parties violates federal privacy laws. Courses using Moodle will make student information visible to other students in this class. Please remember that this information is protected by these federal privacy laws and must not be shared with anyone outside the class. Questions can be referred to the Registrar’s Office.

Equal Access: In compliance with Lafayette College policy and equal access laws, I am available to discuss appropriate academic accommodations that you may require as a student with a disability. Requests for academic accommodations need to be made during the first two weeks of the semester, except for unusual circumstances, so arrangements can be made. Students must register with the Office of the Dean of the College for disability verification and for determination of reasonable academic accommodations.

Important Dates:

  • Normal Add/Drop deadline: February 19th
  • Spring Break: March 30th – 31st
  • Last day to Withdraw (WD): April 26th
  • Classes end: May 19th
  • Final Exams: May 22nd – 29th

Federal credit hour statement: The student work in this course is in full compliance with the federal definition of a four credit hour course. Please see the Registrars Office Website (https://registrar.lafayette.edu/wp-content/uploads/sites/193/2013/04/Federal-Credit-Hour-Policy-Web-Statement.doc) for the full policy and practice statement.