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, and testing. Students will learn to use associated 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.

001: 3:30 - 4:45 PM, TT, Stadium 1205


Office HoursNameWhereWhen
InstructorDave MatthewsCSB 244TWTF or by appointment
Graduate Teaching Assistants Gareth HalladayCSB 120M & F 10-12
Kartik KhuranaCSB 120T & Th 1-3 PM
Undergraduate Teaching Assistants Tanner JohnsonCSB 120M & F 8-10
Chris WestermanCSB 120T 2-3:30 & W 2-4

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
Classes begin Jan 16
Restricted drop deadline Jan 19
Registration (drop/add) closes Jan 31
Midterm Exam Mar 06
Spring Break Mar 12-16
Last day to withdraw Mar 19
Last day of classes May 03
Final Exam May 07


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

50% Project (5) Teams of four develop a mobile application and server iteratively during the semester. Software is delivered 5 times during the semester, at the end of 3 week development cycles. The team grade will reflect both the delivered software and adherence to the software development process. Individual grades will be adjusted based on the relative contribution of each team member to the software and process.
15% Classroom & Homework Activities Small individual and team activities are completed during class or assigned as homework.
35% Exams There is a midterm exam (15%) and a final exam (20%). The midterm exam is held in class during a regular class period.

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 exams to receive a passing grade in this course.

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


We will re-grade the same submission if you feel that there was a mistake in grading. Contact us by email within 7 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.

Late and Makeup Policy

It is your responsibility to know the due dates. No late submissions are accepted for Projects or Classroom & Homework Activities. If you miss an exam, you will recieve a score of zero.

Please notify the instructor of any excused absences as soon as possible, preferably in advance, so that appropriate accommodations may be made. Excused absences may include university sanctioned activities, documented illnesses, or unexpected life events.

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, we 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 and Piazza:

  • 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.