Syllabus: CS 350 Introduction to Software Engineering (Spring 2024)

Lloyd Decker & Steven Zeil

Last modified: Feb 17, 2024
Contents:

1 Course Description

This course explores the software development process. It will discuss the major activities common to software development processes, and some of the ways in which those activities are organized and managed, with particular emphasis on how to successfully work together within a team.

Heavy emphasis will be placed on the day-to-day skills required during software construction. The course will explore lessons and tools offered by major successful agile and open-source software efforts.

The course requires each student to participate as a member of a team in a significant team project. Each student will be required to demonstrate proficiency in several software development tools.

2 Basic Course Information

2.1 Instructors

If you are registered for CRNs 25472, 25473, or 25474:

Instructor Office Email
Lloyd Decker via Zoom ldecker@odu.edu

If you are registered for CRNs 34161 or 34162:

Steven Zeil E&CS 3208
(757) 683-4928 szeil@odu.edu
Office hours: see here

2.2 Meeting Times and Delivery Method

Students must register for both a lecture section and a recitation section.

Recitations will be conducted by network conferencing (Zoom). Recordings will not be available.

Recitation sections will not meet every week, but the scheduled meetings listed in the course outline are mandatory.

2.3 Communications

Most communications in this course will be conducted via email. Expect instructors to reply to email within 24 hours for messages sent during normal working hours and within 48 hours on weekends and over holidays.

At least one of the CS350 instructors regularly monitors the CS350 channel on the unofficial CS/STEM Discord.

General questions about course content and about the course project should normally be sent to your lecture instructor.

Issues with the course website should be sent to szeil@odu.edu.

General guidelines:

2.4 Course Pre-requisites

2.5 Required Text

Readings from the Internet will be assigned from the course website.

2.6 Computer Accounts

Students will need two network accounts to participate in this class:

2.7 Hardware & Software Requirements

Students will need frequent access to a PC capable of hosting software development activities or of connecting remotely to CS Dept servers where such activities can be performed.

Students will be attending network conferences requiring the use of a microphone. Webcams are optional.

For both remote access to CS Dept servers and for network conferencing, a good-quality internet connection is important.

The course will introduce students to a wide variety of software packages. All of these are open-source, free software, but students may need to install some of these on their chosen development machine (whether their own PC or in their account on the CS network).

3 Course Policies

3.1 Recitation Attendance

Project review sessions will be scheduled for selected weeks during the recitation periods. Attendance at these is mandatory. Failure to attend will result in substantial grade penalties for that portion of the project.

Attendance at other scheduled recitation sessions, as announced in the course outline, is also mandatory. Failure to attend may result in grade penalties.

3.2 Due Dates and Late Submissions

Programming-style assignments that are automatically graded will be accepted one day late at a 10% penalty, two days late at a 20% penalty, but not accepted after that.

Otherwise, late assignments and make-up exams will not normally be permitted.

Exceptions to this and other grading policies will be made only in situations of unusual and unforeseeable circumstances beyond the student’s control. Arrangements must be made prior to the due date in any situations where the conflict is foreseeable.

I’ve fallen behind and can’t catch up”, “I’m having a busier semester than I expected”, or “I registered for too many classes this semester” are not grounds for an extension.

3.3 Academic Honesty

Everything turned in for grading in this course must be your own work, or, for team projects, the work of your own team. Opportunities for teamwork will be clearly identified as such.

Students are expected to conform to academic standards in avoiding plagiarism.

The instructor reserves the right to question a student orally or in writing and to use his evaluation of the student’s understanding of the assignment and of the submitted solution as evidence of cheating.

Students who contribute to violations by sharing their code/designs with others may be subject to the same penalties. Students are expected to use standard Unix protection mechanisms (chmod) to keep their assignments from being read by their classmates. Failure to do so will result in grade penalties, at the very least.

This policy is not intended to prevent students from providing legitimate assistance to one another. Students are encouraged to seek/provide one another aid in learning to use the operating system, in issues pertaining to the programming language, or to general issues relating to the course subject matter.

Student discussions should avoid, however, explicit discussion of approaches to solving a particular programming assignment, and under no circumstances should students show one another their code for an ongoing assignment, nor discuss such code in detail.

Violations of this policy will be reported to the Office of Student Conduct and Academic Integrity for consideration for punitive action.

3.3.1 Self-Reporting and Peer Evaluation

This course is heavily based upon a group project, and an integral aspect of the project involves students tracking their work completed and evaluating themselves and their teammates.

Whether in direct communication with the instructor or when working with the surveys and project tracking tools provided for the course, students are required to be honest in their reporting.

Claiming someone else’s work as your own will be considered a violation of the ODU Honor code.

Claiming to have completed more work than you actually performed will be considered a violation of the ODU Honor code.

3.3.2 Use of Online Resources

You may not post details of course assignments, projects, or tests at online Forums, Bulletin Boards, Homework sites, etc., soliciting help.

You may use information that you have not solicited but have located, subject to the following restrictions:

3.4 Grading

Labs 5%
Assignments 20%
Semester Project 50%
Midterm Exam 10%
Final Exam 15%

We will drop the lowest assignment score and the lowest project phase score.

More details on the grading is available here.

3.5 Assignment Grading

Assignments will be submitted via GitHub, with the exception of phases 1 and 2 of the team project, which will be submitted via Canvas and OpenProject, respectively.

The last submission prior to the due date will be the one graded. If you believe an earlier submission might have scored higher, it is up to you to recover that earlier submission from git and to commit and push the earlier code.

Late submissions will not be accepted except as provided for in Due Dates and Late Submissions, above.

3.6 Exams

The Midterm Exam and Final Exam will be administered online via Canvas.

Students will be required to use SmarterProctoring to arrange for a live or online proctor.

4 Topics

Topics will include:

4.1 Objectives

Students completing this course should be able to:

4.2 Expectations

Students will engage in team projects in this course. Students are expected to actively participate in and contribute to their teams, and the level of engagement with the team will be part of the grade.

Procrastination and just-before-the-deadline submissions are detrimental to any team dynamic, and will result in lowered grades.

5 Semester Project - Civility among Team Members

You will be working with your team for many weeks, and there will be a lot of communication expected among team members.

In accordance with the Monarch Creed and Code of Ethics, I expect all students to maintain civility in their dealings with one another.

Language that is abusive, harassing, or threatening to members of the class or that fosters high levels of personal and emotional anxiety may, at the instructor’s discretion, result in expulsion from the team. Given the importance of the team project to this course, that is likely to result in a failing grade. Egregious or repeated violations will be referred to appropriate authorities for possible disciplinary action.

6 Educational Accessibility

Old Dominion University is committed to ensuring equal access to all qualified students with disabilities in accordance with the Americans with Disabilities Act. The Office of Educational Accessibility (OEA) is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations.

The Office of Educational Accessibility is located at 1021 Student Success Center and their phone number is (757) 683-4655. Additional information is available at the OEA website http://www.odu.edu/educationalaccessibility/

7 General University Policies

The ODU Catalog lays out a wide variety of University policies that are binding upon both students and faculty. All students are required to abide by these.