Software Engineering (CSE 403/Spring 2020)

Software engineering goes well beyond programming. It includes processes from defining a product to shipping and maintaining that product. Software engineering requires strong technical skills, but also strong teamwork and communication skills. Get ready to learn software engineering principles first hand, improve your technical skills, and ship a product.


  • Lectures: Mon/Wed/Fri 12:30pm--1:20pm
  • Team meetings: Tue 1:30pm--2:20pm
  • Project meetings: Thu 1:30pm--2:20pm


  • Instructor: René Just (rjust(at); OH: after class and by appointment)
  • TA: Kaushal Mangipudi (kaushalm(at); OH: Tuesdays 12:30pm--1:30pm and Fridays 9am--10am )
  • TA: Brendan Wallace (bwbw(at); OH: Thursdays 2:30pm--4:30pm)


Course project


Course description

In this course, students learn and gain practical experience with software engineering principles, techniques, and tools. Topics in this course include requirements analysis, specification, design, abstraction, programming style, testing, maintenance, communication, teamwork, and software project management. The practical experience centers on a quarter-long team project, in which a software development project is carried through all the stages of the software life cycle. Particular emphasis is placed on communication skills and on developing maintainable software. In-class activities further provide a hands-on experience in using state-of-the-art techniques and tools.


  • CSE 331
  • CSE 332

Course format

The class meets three times a week for lectures and once a week (Thursday) for section. The second weekly section (Tuesday) is reserved for individual team meetings. All class meetings are virtual on Zoom. Classroom material is enhanced with assigned readings, in-class activities, and in-class exercises. A major component of the course is teamwork on a group project. Individual contributions include reading assignments, code reviews, and participation.


This course is scheduled to run (mostly) synchronously at your scheduled class time via Zoom. These Zoom class sessions may be recorded. The recording will capture the instructor's screen and any presenter's audio. The recording will not capture group activities (e.g., breakout rooms). The recordings will only be accessible to students enrolled in the course to review materials. These recordings will not be shared with or accessible to the public.


Grades will be based on a group project, in-class exercises, assignments, and participation:
  • 60%: Group project
  • 30%: In-class exercises and assignments
  • 10%: Participation

Late policy

Assignments must be turned in by the due date and time on Canvas. Each student has 2 late days for individual assignments, which can be used for any sort of emergency. The staff will track late days through Canvas, so no e-mail notification is required. Assignments will not be accepted late beyond the two late days. You can find the general course policies here.

Course material