CS5500: Foundations of Software Engineering


Spring 2024

Catalog Description

This course covers the foundations of software engineering, including software development life cycle models (e.g., waterfall, spiral, agile); requirements analysis; software design principles and patterns; testing (functional testing, structural testing, testing strategies); debugging; software architecture and design; and integration. Includes a course project where some of the software engineering methods (from requirements analysis to testing) are applied in a team-based setting. Requires admission to MS program or completion of all transition courses.

Course Outcomes


Major Topics



Course Meeting Times


Textbooks (optional)


Required Software

We will use several software platforms and programming languages in the course:

If additional software is required, they will be mentioned as part of assignments and lectures.


Piazza

Join Piazza if you haven't already.


Email Etiquette


Assessments and Grading


Assignments

Students will be assigned six homework assignments. Three of the six will be programming assignments to help students learn the tech stack needed to complete the final project. The remaining three assignments will be related to software engineering activities such as requirements, design, and threat modeling.  The non-programming assignments must be completed in teams of two. The programming assignments must be completed individually. Students are expected to create their teams. 

Final Project

The final project will require students to develop a software application with proper documentation and a tests to verify the software's behavior w.r.t requirements. Students will complete the project in groups of two -- the same group as the assignments. Groups are expected to present their project in a final presentation describing their design, implementation, and challenges they faced during the project.

Group Work Policy

Each group member will receive the same grade as the group's. However, individual grades can be adjusted by up to 20% if the group members feel that an individual has not contributed equally. Members in a group will have the opportunity to submit an evaluation of their group members anonymously.

Late Policy

Every student is allowed to submit exactly one assignment 48 hours after the due date without any penalty.  For group assignments, if student X submits an assignment late, but student Y has not submitted any assignment late yet, then student Y can use their late token on a future assignment for the group. 

Beyond the late token, assignments may be submitted late but will be penalized 1% of the maximum score for every 15 minutes that the work is late, up to 24 hours. Work more than 24 hours late will not be accepted for credit. Extensions or late submissions will otherwise not be permitted. If a health or other emergency prevents you from submitting your assignment on time, inform the instructor before the deadline. Extension requests due to job-related commitments, vacations, or travel plans will not be considered.

Students who take this course are often surprised by just how much time this course requires of them. You are advised to budget your time wisely and to start working on an assignment the day it is posted. 

Re-grades

Any grading errors you believe you have found on a homework submission must be emailed to j.mitra@northeastern.edu with the subject line "CS 5500: regrade request for Assignment X". Time is a precious commodity, so please do not spend instructor office hours or TA office hours arguing about points. Regrade requests must be made in writing no later than one week after graded work is returned to the class. Regrade requests that are made later than one week from the date the graded work is returned to the class will not be honored.

Class Participation

Lectures will be accompanied by activities. These activities can be programming-related or quiz-like questions. Students are encouraged to discuss with their peers to complete the given activities. In-class activities will not be graded but must be submitted in the same week of that class for credit.

Grading Scheme

8% each for three programming assignments
7% each for the remaining three 

Course Grade Cutoffs: A [93-100], A- [90-93), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), F [0-70). Course grade cutoffs are flexible and subject to change. Final scores will not be rounded.


Academic Integrity

Each student must pursue their academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to OSCCR. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the OSCCR website at https://osccr.sites.northeastern.edu/academic-integrity-policy/ and the Khoury website at https://www.khoury.northeastern.edu/information-for-overview/current-undergrad/undergraduate-advising-academic-support/academic-policies/

Violation of academic integrity on a homework assignment lead to a 0 on that assignment. Repeated violations will result in a failing grade for the course. Violation of academic integrity on the final project will also result in a failing grade for the course. 

Students with Disabilities

Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.

Inclusivity

Name and Pronoun Usage
As this course includes class discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect. This includes the ability for all students to have their chosen gender pronoun(s) and chosen name affirmed. If the class roster does not align with your name and/or pronouns, please inform the instructor of the necessary changes.

Inclusion Statement
We believe diversity and inclusiveness are essential to excellence in academic discourse and innovation. In this class, the perspective of people of all races, ethnicities, gender expressions and gender identities, religions, sexual orientations, disabilities, socioeconomic backgrounds, and nationalities will be respected and viewed as a resource and benefit throughout the semester. Suggestions to further diversify class materials and assignments are
encouraged. If any course meetings conflict with your religious events, please do not hesitate to reach out to your instructor to make alternative arrangements.

You are expected to treat your instructor and all other participants in the course with courtesy and respect. Disrespectful conduct and harassing statements will not be tolerated and may result in disciplinary actions.