Software Engineering (Spring 2024)

Taught by Prof. Zhao Han, Software Engineering is an undergraduate course, CEN 4020, offered in Spring 2024 by the Department of Computer Science and Engineering (CSE) at the University of South Florida (USF).

This page is under construction.

Course Schedule ↓    Canvas Course Page ↗

Course Information

Course prefix and number,
section number
CEN 4020 (002)
TitleSoftware Engineering
Semester termSpring 2024
Credit hours3

Class Meeting

Class meeting daysMondays, Wednesdays
Class meeting times8:00 – 9:15 am
Class meeting locationChemistry Building (CHE) 103

Course Staff


Zhao Han
NameProf. Zhao Han (he/him)
OfficeENB 255
Student hoursTBD

Teaching Assistant (TA)

Contact informationTBD
Student hoursTBD

University Course Description

An overview of software engineering techniques for producing high-quality software systems. Students will participate in a software development team.

Course Prerequisites

Completion of COP 4530 (Data Structures) with a minimum grade of C-.

Course Objective

At the successful completion of the course, students should be conversant with the following:

  • Software projects
  • Agile software engineering
  • Features, scenarios, and stories
  • Software architecture
  • Cloud-based software
  • Microservices architecture
  • Security and privacy
  • Reliable programming
  • Testing
  • DevOps and code management

Student Learning Outcomes

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

  • Elicit and analyze requirements for a software product to write a valid requirement specification
  • Use a modeling language to document the requirements and to design the architecture of the entire system given the product requirements
  • Implement the software design in a language of their choice
  • Apply modern techniques for testing and debugging the resulting software product
  • Demonstrate the resulting software product to an audience of peers
  • Work effectively as a member of a small software development team

Required Text

The required textbook is Software Engineering: Principles and Practices (Third Edition), by Robert E Beasley, 2019. REZINE Publishing. ISBN-10: 1076450350; ISBN-13: 978-1076450357.

Software Engineering Principles and Practices Third Edition


Here are a few do’s and don’ts about communicating in your course through emails or in online discussion forums:

  • Do…
    • Ask questions and engage in conversations as often as possible—feel free to contact the instructor via the discussion forum for questions or via email or other communication.
    • Be patient and respectful of others and their ideas and opinions they post online.
    • Remember to be thoughtful and use professional language. Keep in mind that things often come across differently in written text, so review your writing before posting.
    • Be prepared for some delays in response time, as “virtual” communication tends to be slower than “face-to-face” communication.
    • Contact the instructor if you feel that inappropriate content or behavior has occurred as part of the course.
  • Do NOT…
    • Use inappropriate language—this includes, but is not limited to, the use of curse words, swearing, or language that is derogatory.
    • Post inappropriate materials—for example, accidentally posting/showing a picture that is not appropriate for the course content.
    • Post in ALL CAPS, as this is perceived as shouting and avoid abbreviations and informal language (“I’ll C U L8R”).
    • Send heated messages even if you are provoked. Likewise, if you should happen to receive a heated message, do not respond to it.
    • Send an email or post to the entire class, unless you feel that everyone must read it.


Grading Scale

Final grades will be determined using a straight scale as shown below.

SymbolInterval (%)
A[94, 100]
A-[90, 94)
B+[87, 90)
B[84, 87)
B-[80, 84)
C+[77, 80)
C[74, 77)
C-[70, 74)
D+[67, 70)
D[64, 67)
D-[60, 64)
F[0, 60)

Grade Categories and Weights

Below is a listing of assessments and their weighting in the semester total.

Graded ItemsPercent of Final Grade
Attendance and Participation10%
Individual Assignments and Quizzes10%
Team Assignments40%
Midterm Exam20%
Final Exam20%

Course Policies: Grades

Modeled from real-world consequences, the late work policy is set below to encourage early submission:

  • Submissions made within one day after the due date will receive a maximum of 90% of the grade.
  • Submissions made within one to two days after the due date will receive a maximum of 80% of the grade.
  • Submissions made within two to three days after the due date will receive a maximum of 70% of the grade.
  • Submissions will be closed after three days.

If you face uncontrollable, unusual, or extreme challenges and are able to provide appropriate documentation or reasonable explanation, I am happy to make accommodations for you to give a maximum of 100% of the grade. When in doubt about whether you should make a request, please come to the instructor’s office hours.

Medical Excuses: Students should not attend class if they are ill, particularly if they have fever and/or gastrointestinal symptoms and/or respiratory symptoms such as sneezing, runny nose, sore throat, or coughing.  Students experiencing any of these symptoms should contact immediately the Student Health & Wellness Center for appropriate medical guidance and to obtain a verification of care letter. Students may turn to other health providers as well. To be approved for missed classes, late assignments, or missed examinations, a verification of care letter must be presented by the student to the faculty member upon return to class. 

Coursework return policy: TAs will try their best to grade and return assignments to you within 2 weeks of submission, along with suitable materials/feedback that enable you to understand how to improve your learning/performance.

Course Policies: Attendance/Absence

Course Attendance at First Class Meeting

Students are required to attend the first-class meeting of undergraduate courses for which they registered. Names of students who register prior to the first day of the term are shown on the first class roll in Canvas for each course section. The first-class roll should be used by professors to drop students who do not attend the first day of class. To avoid fee liability and academic penalty, the student is responsible for ensuring that he/she has dropped or been dropped from all undesired courses by the end of the DROP/ADD period. Logging into an online course without active participation is not considered attendance. Engaging in an educationally related activity is required to be considered attending a distance learning course. Consider using a Canvas Assignment or Quiz for First Day Attendance purposes. If a professor needs to request a change to a student’s registration who was dropped accidentally from the class roster or drop a student who added late and does not have permission to remain due to content that cannot be made up, instructors may email requests to update their class rosters through the second week of term to

General Class Attendance Policy

Students are expected to attend classes and engage in all course activities, tasks, and assignments as emerging professionals.

Instructors should accommodate excused absences by making arrangements with students ahead of time (when possible) or by providing a reasonable amount of time to make up missed work. Arranging to make up missed work is the responsibility of the student. For graded work that requires participation in situ (e.g., discussions, group activities, and some labs), instructors will attempt to provide reasonable alternatives that accomplish the same learning outcomes. Nevertheless, an instructor may determine that missing a certain amount of participation-dependent activities (whether excused or not) precludes successful accomplishment of learning outcomes. In cases like this, instructors, academic advisors, or academic deans may advise students to withdraw from such courses. In cases where excused absences are anticipated in advance, advice on successful accomplishment of learning outcomes can be given at (or before) the start of a term.

There are two categories of excused absences for which accommodations will be made:

  • Scheduled absences involve time conflicts that are known in advance, for which students have notified their instructors. Acceptable reasons for scheduled absences include observation of religious holy days, court-imposed legal obligations (e.g., jury duty and subpoenas), special requirements of other courses and University- sponsored events (e.g., performances, athletic events, judging trips), and requirements of military service. Employment schedules, athletic training and practice schedules, and personal appointments are not valid reasons for scheduled absences.
  • Unscheduled absences involve unforeseen emergencies such as illness, injury, hospitalization, deaths in the immediate family, consequences of severe weather, and other crises. Students should contact instructors as soon as possible in these cases. Instructors may require documentation or verification to excuse unscheduled absences.

Care will be given to schedule required classes and examinations in view of customarily observed religious holy days. No student shall be compelled to attend class or sit for an examination at a day or time prohibited by his or her religious belief.

Any student who believes they have been treated unfairly with regard to the above may seek review of a complaint through Office of The Office of Compliance & Ethics.

Procedures for Excused Absences and Make-up Work

Students must notify their instructors of scheduled absences (for approved reasons as noted above) at the beginning of each academic term. Pointing out specific conflicts with scheduled examinations or other scheduled assignments/activities should be part of this notification. In the event of an emergency unscheduled absence (as described above), students must contact their instructors as soon as possible and provide documentation if required.

If an excused absence coincides with an examination, the student:

  1. Will be given a reasonable opportunity to make up the exam, or
  2. Will not have that work averaged into the student’s grade, as agreed to between the student and the instructor.

Counting the missed examination as the lowest score to be dropped at the end of the term does not constitute a reasonable opportunity. If an excused absence coincides with other graded work (e.g., homework collection, quizzes, presentations, activities, etc.), the student shall be given a reasonable opportunity to make up such work or shall not have that work averaged into the student’s grade, at the discretion of the instructor.

As noted above, however, an instructor may determine that excessive absences (whether excused or not) may threaten or preclude a student’s successful completion of a course. Similarly, making up work for unexcused absences may be allowed or declined entirely at the discretion of the instructor.

Documented Jury Duty

The university respects the need for all citizens to serve on a jury when called to duty. If a student serves as a juror, class absences will be considered excused when the student provides advance notice to the instructor, the instructor acknowledges the request, and the student provides written verification of jury selection and proof of service.

Any potential student juror may notify the court of conflicts or undue hardship and request an excuse from service. The individual student must make the decision as to whether jury service will present an undue hardship and then take the affirmative action to request to be excused from service and may need to provide a written explanation to the court. If a student does not request to be excused and is selected to serve, the student may miss a prolonged period of time resulting in the inability to complete the academic requirements of classes.

Documented Medical Attention for Illness

Students are excused for absences due to documented illnesses that require medical attention. While students should not attend class with infectious conditions, even if medical attention is not sought, the decision to excuse absences from undocumented illnesses is at the discretion of the individual instructor. Consideration should also be given to students whose dependent children experience serious illness. Extended illnesses may interfere with the successful completion of courses, and in such cases a student should contact his or her College by the deadline to drop a course. After the drop deadline, students may submit an Academic Regulations Committee (ARC) Petition to drop or withdraw for medical reasons ( Students may find additional information through their College ARC representative.

Alternative Academic Process for Seriously Traumatized Students

An alternative academic process is provided for those seriously traumatized students who have received assistance from the Center for Victim Advocacy and Violence Prevention or the Counseling Center or Student Health Services when the professionals of those centers have reviewed the personal and confidential information related to the student’s experience to determine appropriate actions for the student.

The USF Center for Victim Advocacy and Violence Prevention, the Counseling Center and Student Health Services will assist in determining appropriate actions, including waiving certain academic regulations to accommodate the student’s needs. The appropriate center will send the student petition – with the recommended action – to the Associate Dean of Undergraduate Studies who will assist with the process after reviewing the request.

Medical Amnesty (Student Reporting)

The University of South Florida (USF) supports an inclusive learning environment that promotes the health and safety of all members of the University community.

This Medical Amnesty Policy ( seeks to diminish fear of University-imposed disciplinary or conduct sanctions in emergency situations due to alcohol or other drug use or misuse.

Any student who qualifies for amnesty under this policy will not be charged with violations of any of the USF Student Codes of Conduct as those Codes relate to consumption and/or use of alcohol and/or drugs. Under this Policy, students who seek or receive emergency medical assistance for themselves or students who seek assistance for another student experiencing an emergency related to the consumption of alcohol and/or other drug use or misuse may qualify for amnesty. Although students who qualify for amnesty may be exempt from the Student Conduct ( process, they may be required to complete educational measures and pay for any incurred cost associated with those requirements.

Early Notification of Instructor Requirement for University Sponsored Activities

The university recognizes the importance of participation in university-sponsored activities such as musical and theatrical performances, athletic competition, and debate. It also recognizes that such participation may result in conflicts with scheduled class times. It is the responsibility of participating students to provide a full list of anticipated conflicting days to instructors by the end of the first week of the term, and directors and advisors of university activity programs have an obligation to assist students with this task. Students are responsible for identifying potential absences specific to a particular class and notifying individual instructors of these conflicts, especially for conflicts with scheduled examinations.

Please note that a general schedule for a team or ensemble does not satisfy this notification requirement. Students should provide instructors with addenda (e.g., end-of-season tournaments, newly scheduled events, or rescheduled events) that result in new conflicts as soon as they are available. Directors and advisors of university activity programs should consult with participating students prior to registration to help them choose courses that do not have excessive anticipated conflicts.

Early Notification Requirement for Observed Religious Days

USF Policy 10-045

All students, faculty, and staff within USF have a right to expect reasonable accommodation of their religious observances, practices and beliefs. USF will, at the beginning of each academic term, provide written notice of the class schedule and formal examination periods. USF, through its faculty, will make every attempt to schedule required classes and examinations in view of customarily observed religious holidays of those religious groups or communities comprising USF’s constituency.

Students are expected to attend classes and take examinations as determined by USF. No student shall be compelled to attend class or sit for an examination at a day or time prohibited by his or her religious belief. However, students should review the course requirements and meeting days and times to avoid foreseeable conflicts, as excessive absences in a given term may prevent a student from completing the academic requirements of a specific course.

Students are expected to notify their instructors at the beginning of each academic term if they intend to be absent for a class or announced examination, in accordance with this Policy. Students absent for religious reasons, as noticed to the instructor at the beginning of each academic term, will be given reasonable opportunities to make up any work missed. In the event that a student is absent for religious reasons on a day when the instructor collects work for purposes of grading (homework, pop quiz, etc.), the student shall be given a reasonable opportunity to make up such work or shall not have that work averaged into the student’s grade at the discretion of the instructor.

If a student believes that an instructor or program has not responded reasonably to a timely notice of expected observance of religious days, they may seek review of a complaint through the University’s Office of Compliance & Ethics.

Course Policies: Technology and Media

Canvas: This course will be offered via USF’s learning management system (LMS), Canvas. If you need help learning how to perform various tasks related to this course or other courses being offered in Canvas, please view the following videos or consult the Canvas help guides. You may also contact USF’s IT department at (813) 974-1222 or

Student-to-Student Communication: While faculty cannot prohibit students’ private use of communication tools and apps, it may be helpful to include a syllabus statement that clarifies boundaries. Example: While students may use digital communication tools (WhatsApp, Discourse, etc.) to communicate with fellow students, it is important to remember that academic integrity policies still apply in these environments. Informing others about the contents of tests is prohibited by the official regulation, as is receiving unauthorized information about an examination. Students are expected and required to immediately report instances of such violations to the instructor.

Course Policy: Acceptable Use of Generative AI Tools

The purpose of this policy is to foster a dynamic learning environment that encourages technological adaptation, innovative thinking, and the ethical use of AI resources in academic endeavors.

  1. Definition of Generative AI Tools: Generative AI tools refer to any artificial intelligence-powered software, program or application that can generate content, including but not limited to text, visuals, music, and other creative outputs. Examples of these tools include AI text generators, AI content rewriters, AI graphic generators, etc.
  2. Permitted Use: The use of generative AI tools is permitted for course-related submissions, including assignments, projects, presentations, examinations, and other forms of assessment, just as you may do once in the workplace. However, students must responsibly use these tools, adhering to the guidelines outlined in this policy.
  3. Student Responsibility: Students are responsible for appropriately using generative AI tools in their work. This includes:
    1. Demonstrating a deep understanding of the subject matter, not solely relying on AI-generated content. Cross-referencing claims and statements with original sources and providing appropriate citations are expected.
    2. Using AI tools as a supplemental resource (i.e., as an editor), not as the primary means of completing assignments or writing emails.
    3. Understanding that generative AI tools, while powerful, are not infallible and can produce misinformation or inaccurate results. Students are responsible for the accuracy of their submissions and must cross-verify the information produced by these tools with reliable sources.
  4. Violation Consequences: Misuse of AI tools, including use of AI that undermines the student learning objectives of the course or assignment, relying too heavily on AI for work completion (i.e., seeking an answer for the whole assignment), or submitting inaccurate information generated by AI tools, will be subject to academic penalties. Consequences may range from a reduction in an individual assignment grade to larger academic sanctions per USF and CSE Academic Integrity policy, depending on the severity of the violation.
  5. Exceptions: If there are specific assignments where the use of AI tools is not appropriate, these will be clearly marked in the assignment guidelines. Students must adhere to these specific instructions.
  6. Questions and Clarifications: If students are unsure whether a tool they wish to use qualifies as a generative AI tool, or if they have questions regarding the allowable use of such tools, they should consult with the course instructor before using it.

Course Policies: Student Expectations

Health and Wellness: Your health is a priority at the University of South Florida. We encourage members of our community to look out for each other and to reach out for help if someone is in need. If you or someone you know is in distress, please make a referral at so that the Student Outreach & Support can contact and provide helpful resources to the student in distress. A 24-hour licensed mental healthcare professional, offered through the counseling center, is available by phone at 813-974-2831, option 3. Please remember that asking for help is a sign of strength. In case of emergency, please dial 9-1-1.

Title IX Policy: Title IX provides federal protections for discrimination based on sex, which includes discrimination based on pregnancy, sexual harassment, and interpersonal violence. In an effort to provide support and equal access, USF has designated all faculty (TA, Adjunct, etc.) as Responsible Employees, who are required to report any disclosures of sexual harassment, sexual violence, relationship violence or stalking. The Title IX Office makes every effort, when safe to do so, to reach out and provide resources and accommodations, and to discuss possible options for resolution.  Anyone wishing to make a Title IX report or seeking accommodations may do so online, in person, via phone, or email to the Title IX Office. For information about Title IX or for a full list of resources please visit If you are unsure what to do, please contact Victim Advocacy – a confidential resource that can review all your options – at 813-974-5756 or

Course Hero / Chegg Policy: The USF Policy on Academic Integrity specifies that students may not use websites that enable cheating, such as by uploading or downloading material for this purpose. This does apply specifically to and – almost any use of these websites (including uploading proprietary materials) constitutes a violation of the academic integrity policy.

Professionalism Policy: Per university policy and classroom etiquette; mobile phones, iPads, etc. must be silenced during all classroom and lab lectures. Those not heeding this rule will be asked to leave the classroom/lab immediately so as to not disrupt the learning environment. Please arrive on time for all class meetings. Students who habitually disturb the class by talking, arriving late, etc., and have been warned may suffer a reduction in their final class grade.

End of Semester Student Evaluations: All classes at USF make use of an online system for students to provide feedback to the University regarding the course. These surveys will be made available at the end of the semester, and the University will notify you by email when the response window opens. Your participation is highly encouraged and valued.

Netiquette Guidelines

  1. Act professionally in the way you communicate. Treat your instructors and peers with respect, the same way you would do in a face-to-face environment. Respect other people’s ideas and be constructive when explaining your views about points you may not agree with.
  2. Be sensitive. Be respectful and sensitive when sharing your ideas and opinions. There will be people in your class with different linguistic backgrounds, political and religious beliefs or other general differences.
  3. Proofread and check spelling. Doing this before sending an email or posting a thread on a discussion board will allow you to make sure your message is clear and thoughtful. Avoid the use of all capital letters, it can be perceived as if you are shouting, and it is more difficult to read.
  4. Keep your communications focused and stay on topic. Complete your ideas before changing the subject. By keeping the message on focus you allow the readers to easily get your idea or answers they are looking for.
  5. Be clear with your message. Avoid using humor or sarcasm. Since people can’t see your expressions or hear your tone of voice, meaning can be misinterpreted.

USF Core Syllabus Policies

USF has a set of central policies related to Covid-19, student recording class sessions, academic integrity and grievances, student accessibility services, academic disruption, religious observances, academic continuity, food insecurity, and sexual harassment that apply to all courses at USF.

CSE Regulations and Policies Regarding Ethics and Academic Integrity for Grad Students

Academic integrity is taken very seriously at USF and in the CSE graduate program. In addition to USF regulations, CSE has the following specific policies. On first offense, the student will receive a warning letter from the department. On second offense, the student will be immediately expelled from the graduate program. In severe cases, a student may be expelled on first offense. For further information see USF regulation 3.027 on ethics and academic integrity policies.

Tentative Course Schedule

Note that we use Canvas for

WeekDateTopicsRequired ReadingHandoutsDue
11/8 (M)Course Intro
11/10 (W)Python ProgrammingChapter 1
21/15 (M)No Class (Martin Luther King, Jr. holiday)
21/17 (W)Agile 1Chapter 2
31/22 (M)Agile 2Chapter 3
31/24 (W)SAFe 1Chapter 4
41/29 (M)SAFe 2Chapter 5
41/31 (W)Software Requirements 1Chapters 13, 14, 15
5 (Feb)2/5 (M)Software Requirements 1Chapters 13, 14, 15
52/7 (W)Software Design 1Chapter 16
62/12 (M)Software Design 2Chapter 17
62/14 (W)Software Construction 1Chapter 18
72/19 (M)Software Construction 2Chapter 19
72/21 (W)Midterm Prep
82/26 (M)Midterm
82/28 (W)Software Testing 1Chapters 20, 21,
9 (Mar)3/4 (M)Software Testing 2Chapters 20, 21,
93/6 (W)Software Maintenance 1Chapter 23
103/11 (M)No Class (Spring Break)
103/13 (W)No Class (Spring Break)
113/18 (M)Software Maintenance 2Chapter 24
113/20 (W)Software Config ManagementChapter 8
123/25 (M)Software Engineering
Chapter 10
123/27 (W)Software Engineering
Process 1
Chapter 9
13 (Apr)4/1 (M)Software Engineering
Process 2
Chapter 12
134/3 (W)Software Quality 1Chapter 6
144/8 (M)Software Quality 2Chapter 7
144/10 (W)Project Presentation 1/4
154/15 (M)Project Presentation 2/4
154/17 (W)Project Presentation 3/4
164/22 (M)Project Presentation 4/4
164/24 (W)Final Exam Prep

Spring 2024 Academic Calendar

Software Engineering Venues