The course introduces students to principles, concepts and techniques associated with team-based development of large, complex software systems. Major topics include teamwork, configuration management, project management, requirements engineering, and systematic testing techniques. Students will learn to use software tools in the context of a Scrum-based Agile development project. It is assumed that students know how to program and debug using the Java language.


CS 314 Software Engineering
Section 001: 10:00 - 10:50 AM, MWF, Aylesworth C 111
Dave Matthews
Office Location: CSB 244
Office Hours: MWF 2:30-3:30, TR 10:30-11:30, or by appointment.
Graduate Teaching Assistants (120 lab)
Bibek Shrestha: CSB 120 - Tues 3-5 PM, Fri 6-8PM
Sachini Weerawardhana: CSB 120 - Mon 12-1 PM, Mon 5-6 PM, Fri 4-6 PM
Undergraduate Teaching Assistants (120 lab)
Tanner Johnson
Scott Swensen

Communication with instructors and TAs

Piazza: Use Piazza for getting help fast and efficiently from classmates and the teaching staff (TAs and instructors). Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza so that others may also benefit. Piazza can be accessed from the Module tab on Canvas as well as directly from the piazza website. Make sure you accept the email invitation to join Piazza at the beginning of the semester.

Email: For questions that are more personal in nature (e.g., grades, absences, etc), email the course account The email will be received by the entire course staff, and the appropriate person will respond.

Office hours: The course staff will keep office hours. Feel free to stop by to discuss your projects or ask questions. You can also bring your team to these meetings.


CS253 and all the prerequisites for CS253 including CS160, CS161, and CS200.


  • Required Textbook: None

  • Supplementary Textbook: None

  • Lecture slides: Refer to the Progress page.

  • Assigned reading and videos: Refer to the Progress page.

Important Dates

Description Date
First day of classesAug 21
Deadline to add without overrideAug 27
Deadline to dropSep 06
Midterm 1Sep 22
Last day to withdrawOct 16
Midterm 2Oct 27
Last day of classesDec 08
Final ExamDec 14


An overall course grade will be awarded based on your performance on the following items.

  • 25% - Product Increments (5)
  • 25% - Process Activities (5)
  • 10% - Classroom/Homework
  • 20% - Midterms (2)
  • 20% - Final Exam

Grades will be assigned according to the following table. The actual cutoffs may be adjusted lower depending on the performance of the entire class. After the midterm exam and before the final, we will announce the "approximate" cutoffs so that you know where you are. You must achieve at least 60% average across the midterm and final exams to receive a passing grade in this course.

Grade Percent
A [90-100]
B [80-90)
C [70-80)
D [60-70)
F [0-60)

Here is a short description of the formally graded elements of the course:

Product Increments

You will work in teams of four to iteratively develop a mobile application and server during the semester. Product Increments refer to the software delivered at the end of each 3 week development cycle. Individual grades depend on the contribution of each team member to the Product Increment.

Process Activities

Your team will follow an iterative process to develop your Product Increments during each development cycle. Individual grades depend on the participation in the process activities for each development cycle.


There will be small individual and team activities completed during class or assigned as homework.

Midterm and Final Exams

There are two midterm exams and a final exam. The midterm exams will be held in class during the regular class period.


We will be glad to re-grade the same submission if you feel that there was a mistake in grading. Contact us by email within 4 calendar days for a re-grade. Work will be re-graded in its entirety, and may result in an increase, decrease, or no change in the grade. Note that, once we have graded an assignment, we will not allow you to re-do and re-submit it for grading.

Late and Makeup Policy

No late submissions are accepted for Scrum Projects or Scrum Activities. If you miss an exam, you will recieve a score of zero.

If there are reasons that are unexpected and beyond your control (e.g., illness) or university sanctioned trips, short extensions will be granted on a case-by-case basis and are more likely when permission is sought in advance.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and teaching assistants) assume you are familiar with the policies in the student information sheet for the department and the department conduct code. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You should read the ACM Code of Conduct.

This course will adhere to the CSU Academic Integrity Policy as found in the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.

Students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it. Academic dishonesty will be dealt with severely. The first instance of cheating will result in negative credit. The second instance will result in a failing grade and other penalties dictated by departmental and university policies.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, w require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, teaching assistants and any tutors). In particular:

  • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • In class use of electronic devices in general, and laptops specifically, is permitted as a courtesy so that you may better participate and learn.
  • If at any time the instructor judges that an electronic device is becoming a distraction the student may be asked to to turn it off and put it away.

We require you to follow the guidelines listed below for postings on Canvas:

  • Be professional.
  • Be courteous.
  • Do not post any questions about your grade or any grading issues. Such questions are private communication and must be emailed.
  • Do not post any opinions regarding your graded assignment, or any aspect of the course. You will have a chance to submit anonymous reviews at the end of the semester. Email feedback to the instructor regarding the course is acceptable and welcome.
  • The instructor reserves the right to delete postings that do not promote a conducive learning experience for students in the class.