Course Home | Syllabus | Assignments | Examples | [print]

SE 3150: Software Quality

Fall 2021 Syllabus

Course Description

Presents practices and tools used to promote software quality as part of the software development life cycle. Considers several facets of software testing, including unit testing, test-driven development, integration testing, regression testing, and user interface testing. Explores testing frameworks and tools used to automate software testing. Covers the analysis of defects and failure reports, personal and peer reviews, and static analysis.


SE 2450 or CS 2450 or WEB 3450 (Grade C- or higher).

Course fees

Course fee: $20, used to assist in maintaining computing infrastructure.

Disability/Accessibility Resources

DSU welcomes all students and strives to make the learning experience accessible. If you are a student with a medical, psychological, or learning disability that may require accommodations for this course, you are encouraged to contact the Disability Resource Center (DRC) as soon as possible. You may request reasonable accommodations at any time during the semester; however, they are not retroactive. The DRC is located next door to the Testing Center in the North Plaza Building. 435.652.7516,,

Title IX Statement

Dixie State University affirms its commitment to the promotion of fairness and equity in all aspects of the educational institution. Harassment and discrimination—including sex/gender discrimination, gender identity, gender expression, sexual harassment, sexual misconduct, gender-based violence, dating violence, domestic violence, stalking, pregnancy or parental, family or marital status and/or retaliation—not only disrupts our commitment to maintaining an environment in which every member of the University community is treated with respect and dignity, but may also violate University policy and federal, state, and/or local law.

Should you or someone you know experience behavior that is coercive, discriminatory, harassing, and or sexually violent in nature, or if you or someone you know has questions about their rights and options regarding such behavior, you are encouraged to contact: Hazel Sainsbury, Dir. of Equity Compliance, Title IX Coordinator: 435.652.7747 (ext. 7747),,

Incidents may also be reported directly to law enforcement, either separately or in conjunction with any report made to the University’s Title IX Coordinator, and the University will aid in making contact if requested. Dixie State University Police: 435.275.4300 or by calling 9-1-1.

Maintaining a safe and inclusive University community is a shared responsibility. For more information on how Title IX protections can benefit you and help us keep a productive campus environment, visit to learn more.


One section:

  1. TR at 3:00 pm–4:15 pm in Smith 107

    CRN: 43131

    Final exam: Tue, Dec 7 at 3:00 pm–4:50 pm


Instructor: DJ Holt


Office hours: see here


At the successful conclusion of this course, students will be able to:

  1. Implement software testing processes including unit testing, test-driven development, integration testing, regression testing, and user interface testing.
  2. Demonstrate the use of various software testing tools used to automate one or more test suites implemented within a software system.
  3. Analyze and prioritize failure reports and defects identified to affect a software system, research potential causes of a defect, and propose and evaluate possible resolutions.
  4. Conduct personal reviews, peer reviews, static analysis, and other preventative measures on a component of a software system to improve software quality.



You are encouraged to bring a laptop to class every day with a working and sufficiently charged battery. Your laptop must run Windows 10 (with Windows Subsystem for Linux), macOS, or Linux, and should be connected to the university WiFi network. Chromebooks, iPads, and other tablets are NOT acceptable unless they run one of the three listed operating systems. A computer that meets these requirements will be necessary to complete required coursework.

A limited number of laptops are available for students to check out for class in the event that your laptop is unavailable or you are unable to acquire a suitable machine. These laptops are only available during scheduled class time, and are not available to use at any other time. You should only rely on this option as a last resort.

Outside of class, you may use the computers in the Smith open computer lab. There will also be lab assistants in this lab. Keep in mind that not all lab assistants will be qualified to assist with this course.

The computers provided within the Smith lab facilities have all necessary software installed and configured as required for the course. Personal computers will require several software components to be correctly installed and configured. While this may not be covered in class, students may request individual help from the instructor.


This course is managed through Canvas. You are responsible for announcements, dates and deadlines, grades, and other resources posted to the Canvas course.

Course Website

This course has an accompanying website. You are responsible for staying apprised of updates to the website, including assingment materials and related resources.

Assignments and Exams


This course has no required text, however, students will be expected to find and reference online documentation and examples to assist with the completion of assignments. Additional reading resources can be recommended upon request.


A series of programming projects will be assigned throughout the course. Unless otherwise specified, assignments are due at 11:59pm on the date specified in Canvas. Assignments may be assigned, completed, and/or graded during class, such that class attendance is required for credit. See below for the course late work policy.


A comprehensive final exam will be given at the end of the semester. Other exams and/or quizzes may be given throughout the semester.


Letter grades are assigned based on the percentage of possible points attained, according to the following chart:

Minimum Percentage Letter Grade Minimum Percentage Letter Grade Minimum Percentage Letter Grade Minimum Percentage Letter Grade
94 A 84 B 74 C 64 D
90 A- 80 B- 70 C- 60 D-
87 B+ 77 C+ 67 D+ 0 F

Course Policies

COVID-19 Pandemic

All students are strongly encouraged to become vaccinated against the COVID-19 virus. COVID-19 vaccines are safe and effective. You are encouraged to read the current guidance from the CDC on COVID-19 so that you can make informed decisions about your health and well-being, and learn more about how your actions and inactions affect the health of others. The health and well-being of our entire campus community is the personal and mutual responsibility of every person on campus. To increase the health and safety of those in the classroom, all students are strongly encouraged to wear an effective facial mask when in close proximity to others, especially when not yet fully vaccinated.

Special accomodations will not be given to unvaccinated or unmasked students for absenses or missed deadlines resulting from sickness or hospitilization caused by in-class transmission of COVID-19. It is each student’s responsibility to take every preventative measure against infection from the COVID-19 virus, including immediate vaccination and the wearing of an effective facial mask. In the event of an absence due to sickness, it is your responsibility to access class notes from a classmate, submit each assignment by its original deadline, and communicate with the instructor in advance of a missed quiz or exam. Remote attendance will not be offered for class lectures or exams. Assignments completed in class cannot be submitted following the class. The standard course late work policy will apply.


Students are responsible for material covered and announcements made in class. School-related absences may be made up only if prior arrangements are made. The class schedule is approximate and the instructor reserves the right to modify the schedule according to class needs; changes will be announced in class. Exams, quizzes, and other in-class assignments cannot be made up unless prior arrangements are made. In-class quizzes and assignments may or may not be announced in advance.

Occasional absences are acceptable as long as the student maintains current progress on assignments; however, students who miss more than two consecutive weeks of class or who miss more than 20% of scheduled classes during the semester without making prior arrangements will receive a failing grade. Students who miss any scheduled exam or fail to complete a final project without making prior arrangements will receive a failing grade.

This course can only be completed by attending classes and completing all assigned work to a satisfactory level. There is no procedure for testing out of the class.

Time Commitment

Courses should require about 45 hours of work per credit hour of class. This class will require about 135 hours of work on the part of the student to achieve a passing grade, which is approximately 9 hours per week. If you do not have the time to spend on this course, you should probably rethink your schedule.

Late Work Policy

Assignments are due on the date specified in Canvas, for full credit. Assignments may be submitted not more than seven (7) calendar days beyond the specified due date, including weekends and holidays, subject to a penalty determined by the degree of lateness compounded by late work submitted earlier in the semester (i.e. each late submission will result in progressively more severe late work penalties thereafter). Assignments will not be accepted after this period of time (except under exceptional circumstances decided by the instructor, if prior arrangements are made with the instructor). No late work will be accepted after the last day of class, with absolutely no exceptions. Exams cannot be made up, unless arrangements are made with the instructor prior to the date of the exam. Any assignments that are completed during class cannot be made up and late submissions will not be accepted.


Limited collaboration with other students in the course is permitted. Students may seek help learning concepts and developing programming skills from whatever sources they have available, and are encouraged to do so. Collaboration on assignments, however, must be confined to course instructors, lab assistants, and other students in the course. Students are free to discuss strategies for solving programming assignments with each other, but this must not extend to the level of programming code. Each student must code his/her own solution to each assignment. See the section on cheating.


Cheating will not be tolerated, and will result in a failing grade for the students involved as well as possible disciplinary action from the college. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s own work. It is okay to seek help from others and from reference materials, but only if you learn the material. As a general rule, if you cannot delete your assignment, start over, and re-create it successfully without further help, then your homework is not considered your own work.

You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions. If you are unsure if collaboration is appropriate, contact the instructor. Also, note exactly what you did. If your actions are determined to be inappropriate, the response will be much more favorable if you are honest and complete in your disclosure.

Where collaboration is permitted, each student must still create and type in his/her own solution. Any kind of copying and pasting is not okay. If you need help understanding concepts, get it from the instructor or fellow classmates, but never copy another’s code or written work, either electronically or visually. The line between collaborating and cheating is generally one of language: talking about solutions in English or other natural languages is usually okay, while discussions that take place in programming languages are usually not okay. It is a good idea to wait at least 30 minutes after any discussion to start your independent write-up. This will help you commit what you have learned to long-term memory as well as help to avoid crossing the line to cheating.

University Resources

Additional academic resources for students provided by the University can be found at

The official academic calendar with important dates and deadlines can be found at:

Last Updated 01/10/2022