CS 470: Senior Project 2018

Spring 2018

Welcome to Senior Project!

All materials and project work will be distributed on Moodle.

We meet MWF, 10-10:50 am, AEC 519.

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 required 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 Information(back up↑)

  • Instructor: Dr. Joann J. Ordille
  • Email: ordillej at lafaytte.edu
  • Office: 522 AEC
  • Office Phone: (610) 330-5416
  • Office Hours: MW 11 am -12 pm and 4-5 pm. Please email me if you would like to meet at any other time. Also, if my door is open, feel free to drop in.


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.

  • lynda.com

lynda.com is available from your my Lafayette page. It provides many helpful tutorials. If you need to learn new resources 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:

  • Start with an informal description of a project and take it all the way to implementation and testing.  Students will be able to start with a short project description, then through a process of requirements gathering, from the actual customer, students will develop a full software system, including testing and distribution mechanisms.
  • Use collaborative software development tools to apply design and development principles in the construction of software systems of varying complexity.
  • Utilize object-oriented software design techniques.
  • Work with a team to develop a complex software project from a set of specifications.
  • Develop and present design documents that capture effectively their developed software design.
  • Design and implement a software framework for multiple projects that incorporates testing at multiple levels, including both unit and system testing.

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. Every effort should be made to arrive on time and remain attentive for the entire class. In addition to unexcused absence, a pattern of late arrival, early departure or inattentiveness will be considered a violation of the attendance requirement. For every unexcused absence, you will lose 0.5 points from your final grade up to a total of 3 points. If you have a dean’s excuse or a coach’s letter for a particular day, you will be excused from class.

Class Participation: We will be discussing text book readings in class to review software engineering principles.  You are expected to lead one discussion (see below) and participate actively in the discussion. 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.

Chapter Presentation: Each student is responsible for leading the discussion of one of the chapters from Sethi.

Quizzes: To help you stay current with the assigned reading, there will be unannounced quizzes. The quiz will test whether you completed the reading assignment. The intention here is to encourage you to complete reading assignments before class.

Group Projects: The focus of this class is a one semester-long complex project for a particular customer.  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.)

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.


(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 3%
Class Participation 3%
Chapter Presentation 5%
Quizzes 3%
Group Project Proposal 10%
Group Project Sprint 1 15%
Group Project Sprint 2 20%
Group Project Sprint 3 20%
Group Project Delivery 11%
Group Project Final Presentation to the Computer Science Department 10%

Team Participation Multiplier:

At the end of each phase of the project (proposal, sprint, delivery), 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 1/22
Introduction to Senior Project
What is Software Engineering?
W 1/24
What is Software Engineering?
Software Development Processes
S: 1,2
F 1/26
Iterative and Agile Processes
S: 3
2 M 1/29
Working with Customers
Teams and Customers Assigned
S: 4
W 1/31
User Stories
S: 5
F 2/2
S: 6
3 M 2/5       Goals and Metrics
S: 7
How does Scrum work?
F 2/9       Project Proposal Due on Sunday
4 M
Project Proposal Presentation
Begin Sprint 1: Build a Minimal
Viable System
W 2/14
      Software Architecture
S: 8
F 2/16
      Sprint Planning Reports
5 M 2/19
Scrum of Scrums
      Architectural Patterns
S: 9
W 2/21
Scrum of Scrums
 F 2/23
Scrum of Scrums
6 M 2/26
Scrum of Scrums
Software Quality: Reviews
S: 10
W 2/28
Scrum of Scrums
Software Quality: Testing
S: 11
F 3/2
Scrum of Scrums
Sprint 1 Complete on Sunday:
Build a Minimal Viable System.
Submit design and required
artifacts on Sunday.
7 M 3/5
Sprint 1 Review
with Demonstration.
      Begin Sprint 2:
      Complete Most Features.
W 3/7
Sprint Planning or Work
F 3/9
Sprint Planning Reports
8 M 3/12
Spring Break
W 3/14
Spring Break
F 3/16
Spring Break
9 M 3/19
Scrum of Scrums
Prepare for Quality Reviews
W 3/21
Scrum of Scrums
Quality Reviews
  F 3/23
Scrum of Scrums
Quality Reviews
10 M 3/26
Scrum of Scrums
Quality Reviews
W 3/28
Scrum of Scrums
Quality Reviews
F 3/30
Complete Sprint 2
System with

Most Features by Sunday.
Submit required artifacts on

11  M 4/2
Sprint 2 Review with
Stakeholders (Instructor,
Customer). Start Sprint 3:
Revise from Feedback,
Complete Software and
Documentation, Prepare
for Delivery.
W 4/4
Sprint Planning.
Prepare for Quality Reviews.
  F 4/6
Sprint Planning Report
12 M 4/9
Scrum of Scrums
Quality Reviews
W 4/11
Scrum of Scrums
Quality Reviews
F 4/13
Scrum of Scrums
Quality Reviews
13 M 4/16
Scrum of Scrums
Quality Reviews
W 4/18
Scrum of Scrums
  F 4/20
Scrum of Scrums
14 M
Complete Sprint 3 on Sunday.
Revise from Feedback,
Complete Software and
Documentation, Prepare
for Delivery.  Artifacts
submitted on Sunday.
W 4/25
Sprint 3 Review with

Stakeholders (Instructor,
F 4/27
15  M 4/30
W 5/2
Deliver to Customer
      By This Date.
F 5/4
Presentations to the
CS Department.

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



Additional Information

(back up↑)Additional Information

SASH:  SASH is the campus organization that seeks to prevent sexual and gender based violence and harassment.  It also provides services to those who have suffered from such violence or harassment.  I am a SASH Advisor, and will be on call 24/7 for three weeks this semester.  During those weeks, in the unlikely event that I receive a call during class, you will continue with your projects while I assist the caller.

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 2nd
  • Last day to Withdraw (WD): April 16th
  • Classes end: May 4th

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.