The course introduces students to principles, concepts and techniques associated with team-based development of large, complex software systems. It is assumed that students know how to program and have developed programs using the Java language. Major topics include system and requirements engineering, object-oriented design, and systematic code testing techniques. Students will learn to use software tools such as Git, JUnit, and EclEmma in the context of a scrum-based agile development project.


Section 001: 9:00-9:50am, MWF, Engineering 120
Prof. Sudipto Ghosh
Office Location: CSB 468
Office Hours: M 10:00 AM - 11:00 AM and WF: 1:00 PM - 2:00 PM

Dr. Geri Georg
Office Location: CSB 464
Office Hours: TR 11-1 PM
GTA (120 lab)
Wei Xi: Office Hours: M 8-9 AM, T 8-10, W 12-1 PM
Nikhila Reddy Chireddy: Office Hours: M 11-12, F 1-2 PM
UTA (120 lab)
Jacob Muzzy


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

Communication with instructors and TAs

Piazza: You will 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. 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.


  • Required Text: None

  • Supplementary Text: None

  • Lecture slides: Refer to the Progress page.

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


Here are the formally graded elements of the course:

Team projects

You will work in teams of three to develop a software application. During the course of the semester, you will identify and analyze requirements, use techniques learned in this class to develop a high level object-oriented design, implement a working prototype, and develop test cases. The projects will involve iterative, incremental software development. Individual grades depend on the contribution of each team member; they may be adjusted up or down.

Project planning meetings

For each major project, there will be a team planning meeting held during the lecture. This meeting will follow the rules of Scrum.

Design studios

Course material will be taught in a hands-on manner. Design studios involve learning the material, taking a preparatory quiz to test key concepts, and working on an exercise as a team in class. The same project team is involved in each design studio, so get to know your team members quickly.

The preparatory quiz will be given on Canvas, and will be due at midnight before the lecture in which the design studio exercise will be held. Such quizzes will mostly follow a Multiple-Choice pattern, although we reserve the right to use other formats.

At the beginning of the semester, a prereq quiz will be administered on Canvas to test your knowledge of prereq material on Java, discrete structures, and data structures. This quiz will count as part of the category Quizzes.

We may from time to time give a paper quiz in class. No collaboration will be allowed on such paper quizzes. If a paper quiz is given, it will be announced in advance. Paper quizzes will be included as part of the Quizzes category.


There are two midterm exams but no final. The midterm exams will be held in class during the regular class period.

Exam Date Material
Midterm 1 Oct 10, in class Material covered until Oct 7
Midterm 2 Dec 2, in class Material covered after the first midterm

An overall course grade will be awarded based on continuous evaluation in the form of team projects, project planning meetings, design studios, and two midterm exams. Projects, design studios, and planning meetings will happen throughout the semester, so be prepared! The following table shows each component.

  • 40% - Projects
  • 5% - Project planning meetings
  • 5% - Quizzes
  • 10% - In class work for design studios
  • 20% - Midterm 1
  • 20% - Midterm 2

Grades will be assigned according to the following table. The actual cutoffs may be adjusted depending on the performance of the entire class; cutoffs can be lower but never higher. After the midterm exam and before the final, we will announce "approximate" letter grades so that you know where you are.

[90-100] A-, A
[80-90) B-, B, B+
[70-80) C, C+ (no C- will be given)
[60-70) D
[0-60) F


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 allowed for any Canvas quizzes. No late submissions are allowed for project planning meetings and in-class work for design studios. The lowest grade for each of the categories (1) project planning meeting, (2) canvas quizzes for design studios, and (3) in-class work for design studios) will be dropped to make up for missed work.

  • Late penalties for projects are as follows:

    • Up to 12 hours late: 10% penalty
    • 12 to 24 hours late: 25% penalty
    • 24 to 48 hours late: 50% penalty
    • More than 48 hours late: No credit

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

    Note that the percentages refer to the total points available for the deliverable, not the points that you have received. That is, if an assignment is worth 100 points, and you get 76 and are 7 hours late, you will receive 66 points.

  • If you miss an exam, you receive a score of zero.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and GTA) 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 can read the ACM Code of Conduct HERE.

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, GTAs 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.

Important Dates

Date Description
First day of classesMon, Aug 22
Last day of classesFri, Dec 9
Last day for restricted dropFri, Aug 26
Deadline to add without overrideSun, Aug 28
Last day to withdrawMon, Oct 17
First midterm Mon, Oct 10, during class
Second midterm Fri, Dec 2, during class