Software Engineering (Spring 2024)

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


Course Schedule ↓    Canvas Course Page ↗

Course Information

CRN16135
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

Instructor

Zhao Han
NameProf. Zhao Han (he/him)
Contact informationzhaohan@usf.edu
OfficeENB 255
Student hoursMondays 11:00 am – 12:30 pm
Wednesday 9:15 am – 10:45 am

Teaching Assistant

Hong Wang

NameHong Wang
Contact informationhongw@usf.edu
OfficeSee Teams link on Canvas
Student hoursTuesdays: 10:00 am – 11:00 am
Fridays: 1:00 pm – 2:00 pm

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 Topics

  1. Software and Software Engineering
  2. Software Activities and Tasks
  3. Software Process Philosophies, Models, and Methodologies
  4. Software Requirements Analysis
  5. Software Project Management
  6. Software Quality
  7. Software Design
  8. Software Construction
  9. Software Testing
  10. Software Maintenance

Student Learning Outcomes

At the end of the course, you will be able to:

  1. Discuss system development life cycle (SDLC)
  2. Critique different software process models
  3. Select and tailor software methodology for a software project
  4. Elicit and analyze requirements for a software product to write and evaluate requirements specification
  5. Develop and monitor a software project plan
  6. Design the back-end, front-end, and components given the product requirements
  7. Develop reusable, highly cohesive, and loosely coupled components to implement the software design
  8. Code and test a high-quality software product to conform to requirements
  9. Present lessons learned from a process model and the resulting software product to an audience of peers
  10. Work effectively as a member of a small software development team to produce high-quality software

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

Communication

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

Grading Scale

Final grades will be determined using a straight scale as shown below. Note that this is already a rounded version, which is not meant to be used to convince other professors to adopt it.

SymbolInterval (%)
A[93.5, 100]
A-[89.5, 93.5)
B+[86.5, 89.5)
B[83.5, 86.5)
B-[79.5, 83.5)
C+[76.5, 79.5)
C[73.5, 76.5)
C-[69.5, 73.5)
D+[66.5, 69.5)
D[63.5, 66.5)
D-[59.5, 63.5)
F[0, 59.5)

Grade Categories and Weights

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

Graded ItemsPercent of Final Grade
Attendance10%
Individual Assignments15%
Individual Topic Presentation10%
Team Assignments25%
Midterm Exam20%
Final Exam20%

Course Policies: Grades

Late Submission Policy

Modeled from real-world consequences, the late submission 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 can 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 is recommended to 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

TA will try their best to grade and return assignments to you within two weeks after submissions close.

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 TellTheRegistrar@usf.edu.

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 about the above may seek a review of a complaint through 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 decide as to whether jury service will present an undue hardship and then take 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 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 emergencies 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
https://usf.app.box.com/v/usfpolicy10-045

STATEMENT OF POLICY
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 help@usf.edu.

Student-to-Student Communication

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.

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 www.usf.edu/sos 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 usf.edu/title-ix/gethelp/resources.aspx. 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 va@admin.usf.edu.

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 Chegg.com and CourseHero.com – 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.

Tentative Course Schedule

Note that we use Canvas for

WeekDateTopicsRequired ReadingHandoutsDue
Course Intro
Software
Chapter 1
Chapter 2
Prof. Zhao Han’s Research on SWE
HW1: Administrative stuff (Due 1/17)
HW2: Software, Hardware & Software Proposal (Due 1/17)
Software Engineering
Software Activities and Tasks
  • Problem-Solving
Chapter 3HW3: Learn Ruby & Ruby on Rails (Due 1/22)
No Class (Martin Luther King, Jr. holiday)
Software Activities and Tasks
  • System Development Life Cycle (SDLC)
Software Process Philosophies (e.g., Agile)
Software Process Models (e.g., Scrum)
Chapter 4Technical Topic Presentation 1 (Due 1/24 & 1/29)HW1
HW2
Software Methodology Development
Software Methodology Tailoring
Chapter 5HW4: Select & Prepare Project (Due 1/31)HW3
Technical Topic Presentation 1 (1/2)
Technical Topic Presentation 1 (2/2)
Software Requirements Analysis
  • Problem Identification
  • Problem Analysis
  • Scope Definition
  • Requirements Identification
  • Requirements Evaluation
  • Requirements Tracing
Chapters 13HW5: Requirements Analysis (Due 2/12)HW4
Software Requirements Analysis (cont’d)
Software Project Estimation
Software Decision Analysis
Chapter 8.1-8.2
Chapter 14
Chapter 15
Software Project Scheduling
Software Project Monitoring
Software Project Control
Chapter 12
Software Design (Back-End)
  • Network Design
  • Database Design
  • Process Design
Chapter 16HW6: First IterationHW5
Software Design (Front-End)
  • Design Prototyping
  • Input/Output Design
  • User-Interface Design
Chapter 17
Software Design (Components)
  • e.g., Cohesion
  • e.g., Coupling
Chapter 18
Software Construction
  • Coding Style
  • Principles
  • Efficiencies
Chapter 19
MidtermHW7: Second IterationHW6
Class Canceled (Sore throat)
Software Quality DefinitionChapter 6
Software TestingChapter 20HW7 (3/10, Sunday)
No Class (Spring Break)
No Class (Spring Break)
No Class (Professor & TA Travelling to IEEE VR Conference)HW8: Third Iteration
Mental Health Workshop
USF Counseling Center
HW9: Guest Speaker (posted 3/22)
Guest Speaker
Software Testing (White-Box)Chapter 21Technical Topic Presentation 2 (4/8–4/15)HW9
Software Testing (Black-Box)Chapter 22HW10: Fourth IterationHW8
Software MaintenanceChapter 24
Technical Topic Presentation 2 (1/3)HW11: Project Presentation with Demo (4/17 & 4/22)
HW12: Project Report
Technical Topic Presentation 2 (2/3)
Technical Topic Presentation 2 (3/3)HW10
Project Presentation with Demo (1/2)
Project Presentation with Demo (2/2)
Final Exam ReviewHW12
4/29 (M)Final Exam (7:30-9:30am)

Spring 2024 Academic Calendar

Software Engineering Venues