COMPSCI 520: Theory and Practice of Software Engineering

Spring 2025

Description | Logistics | Grading

Description:

COMPSCI 520 introduces students to the principal activities and state-of-the-art techniques involved in developing high-quality software systems. Topics include: requirements engineering, formal specification methods, software design, software testing and debugging, program analysis, and automated software engineering.

This course will cover the following high-level topics:

Besides becoming familiar with Software Engineering principles and best practices, students will learn about cutting-edge research in areas such as Programming Languages, Software Engineering, and Human-Computer Interaction. The exercises and the group project provide additional hands-on experience in using state-of-the-art techniques.

Students should have taken an intermediate course in software engineering and have built, in a team, a software system of roughly 10,000 lines of code or more. Students are expected to be familiar with an object oriented programming language, such as Java or C++. The ability to use a Unix-like operating system (e.g., Linux, Mac OSX) and download and use off-the-shelf tools are expected.


Logistics:

Room:Geossman Addition, Room 64
Lecture:Tuesday and Thursday 4:00 – 5:15PM
Instructor:



Heather Conboy
office hours) TBA
phone) TBA
email) hconboy@cs.umass.edu
TAs:TBA

The following learning management systems will be used: Canvas, Piazza, Gradescope. The lectures will be recorded and made available on Canvas. The office hours will be held both in person and via Zoom. There are no required textbooks.


Grading:

Your success in this class is important to us. Software engineering is at its nature a collaborative activity and it benefits greatly from diversity and inclusion. You will gain experience collaborating in groups through paired programming, computering labs, and a semester long team project.

 Assignment Grade
Homework (3) 35%
Computing labs (3) 30%
Semester long team project 25%
Participation 10%

The homework may be done individually or collaboratively in pairs. For the homework, each student has four (4) individual extension days. The labs will be collaboratively done in groups of 4. The team project will also be done collaboratively in groups of 4.

The final numerical cutoff for final course letter grade assignment will be made after all grading is done. The following grades may be given: A, A-, B+, B, B-, C+, C, C-,D+, D, F, PASS/SAT. The approximate grade thresholds that usually apply are: A (93-100), A- (90-92), B+ (87-89),B (83-86), B- (80-82), C+ (77-79), C (73-76),C- (70-72), D+ (67-69), D (60-66), F (0-59). Incompletes will be granted only in exceptional cases, and only if you have completed at least half the course with a passing grade. Prior to that, withdrawal is the recommended course of action.