CS373: Software Engineering

  • Fall 2023: 52985 & 52990
  • 21 Aug - 4 Dec 2023


  • MWF 10-10:50 am & 11-11:50 am
  • RLP 1.106

Help Sessions

  • M 5-7 pm, Canyon, Yoonwoo, GDC 3rd floor
  • W 5-7 pm, Lin Lin, Pranav, GDC basement


Grad TAs

Lin Lin Lee

Yoonwoo Kim

Undergrad TAs

Canyon Mooney

Getting Started

  • We expect each student to abide by the University of Texas Honor Code: "As a student of The University of Texas at Austin, I shall abide by the core values of the university and uphold academic integrity." Plagiarism is taken very seriously at UT. Therefore, if you use words or ideas that are not your own (or used in a previous class), you must cite your sources. Otherwise, you will be guilty of plagiarism and subject to academic disciplinary action, including failure of the course. You are responsible for understanding UT's Academic Honesty and the university Honor Code, which you can find at the following web address: Standards of Conduct.
  • Sign into Canvas and confirm your registration for the course. Check your grades regularly.
  • Confirm that you have access to Ed Discussion on Canvas to post class questions.
  • If it involves something personal, like your grade, please send a direct message on Ed Discussion to @staff.
  • Sign up for a GitLab account and clone the class repo to access the examples, exercises, and notes.
    • git clone https://gitlab.com/gpdowning/cs373.git
  • Sign up for a HackerRank account for the first project.
  • Sign up for a Zoom account. You must use your UT EID credentials. Ensure that you have the latest version of the app: 5.15.7.

Lectures Online

  • This class is using the Lectures Online recording system. This system records the audio and video material presented in class for you to review after class. Links for the recordings will appear in the Lectures Online tab on the Canvas page for this class. You will find this tab along the left side navigation in Canvas.
  • To review a recording, simply click on the Lectures Online navigation tab and follow the instructions presented to you on the page. You can learn more about how to use the Lectures Online system at https://sites.la.utexas.edu/lecturesonline/students/how-to-access-recordings/.
  • You can find additional information about Lectures Online at: https://sites.la.utexas.edu/lecturesonline/.


  • Python
  • assertions, exceptions, testing
  • Web development
  • relational algebra, SQL
  • refactoring
  • design patterns
  • group presentations
  • software engineering tools

What is this class about?

  • This is a course on software engineering.
  • There is intentionally a big disconnect between the lecture material and the projects.
  • The lectures will be about Python, relational algebra, SQL, refactoring, and design patterns.
  • The projects will be about your team figuring out on its own how to build a dynamic website with a RESTful API and a database backend, using many, many tools that will not be taught.
  • It is also strongly focused on using tools to improve the quality of software development.

What are estimates of the required effort to do well?

  • 1-2 hours per week of reading/studying
  • 5-10 hours per week of programming
  • 1,000-3,500 lines of code

Where can I find the class materials?

  • All of the examples and notes will be on GitLab.
  • It's helpful to clone that repo. I will be adding content as we progress through the class.
  • All of the quizzes will be on Canvas.
  • All of the exercises will be on HackerRank.

What will the quizzes be like?

  • We will start each day with a quiz.
  • The quizzes will be 4 min and multiple-choice on Canvas.

What will the lectures be like?

  • I will use the Socratic Method to discuss some part of the material, often involving a piece of code.
  • I will be courteous and respectful regardless of your level of experience, and those interactions will get to the issues you're having trouble with, and you will learn a lot more.
  • We will also do some exercises on HackerRank.

What will the exercises be like?

  • All of the exercises will be in Python, SQL, and Java on HackerRank.
  • All you need is a Web browser to do the exercises.

What will the projects be like?

  • The first project will be in Python on HackerRank.
  • The remaining four projects will be in teams of five or six students. Each team will be the customer of another team and the developer of another team.

Can I ask questions outside of class?

  • Ed Discussion will allow you to ask questions outside of class that everyone will see, and when I or the graders answer, everyone will benefit.
  • Please don't be shy about asking questions on the forum. No technical question is too basic to ask when learning new concepts, and everyone will benefit from seeing the questions and the answers.
  • It's also possible for you to answer questions on that forum, and that's also very valuable.
  • If you have a personal question, please send a direct message on Ed Discussion to @staff.

What is expected of me?

  • I want this class to feel like a community. To that end, I request that you follow these guidelines.
  • Please communicate with me about any problems you're having or about any help that you might need. Please make it a point to communicate with each other, as well.
  • Interact during the class. Don't hesitate to ask questions. I am very confident that others in the class will have the same questions. No question about the subject is inappropriate, regardless of what background you may be missing. Getting answers to your questions is the only way to get value out of the class.
  • Be on time at the start of class.
  • I very much welcome any suggestions you may have for improving the class.
  • You will get out of this class what you put into it. Please be aware, positive, proactive, and respectful in making this class what you want it to be.
  • Come to office hours!!!


  • We will compute your grade with an innovative approach called specifications grading.
  • We will evaluate each assignment on whether or not it meets the stated specifications.
  • Here's the EMRN scale:

  • The Canvas grade book uses a numerical scoring system and therefore we will map the EMRN scale onto a numerical scale:
    • E (3) [Excellent/Exemplary]
    • M (2) [Meets Expectations]
    • R (1) [Revision Needed]
    • N (0) [Not Assessable]

Grades (number of E's or M's)

Assignment R (1) [Revision Needed] M (2) [Meets Expectations] E (3) [Excellent/Exemplary]
14 blogs
must submit the first and last blog
late up to two days, twice in the term
1 blog per week
12 exercises
auto-graded by HackerRank
exercises will be collaborative
2 out of 3 points 3 out of 3 points
Two Es will make up one R.
14 papers
auto-graded by Perusall
papers will be collaborative
late up to two days, twice in the term
2 out of 3 points 3 out of 3 points
Two Es will make up one R.
5 projects
auto-graded by HackerRank
first project will be individual
rest of the projects may be in groups (selected by CATME)
late up to two days, twice in the term
you can resubmit within one week
only two times in the term
3 out of 3 points
41 quizzes
auto-graded by Canvas
2 out of 3 points 3 out of 3 points
Two Es will make up one R.
  • Note: Your course grade will depend on the number of assignments you complete with an E or an M. It will then be the lowest grade in all of the assignment categories.
Letter Blogs Exercises Papers Projects Quizzes
14 12 14 5 41
A 11 8 11 5 33
A- 11 8 11 5 31
B+ 10 7 10 4 30
B 10 7 10 4 28
B- 9 7 9 4 27
C+ 9 6 9 4 26
C 8 6 8 4 24
C- 8 5 8 4 23
D+ 7 5 7 3 21
D 7 5 7 3 20
D- 6 4 6 3 19


  • BeVocal is a university-wide initiative to promote the idea that individual Longhorns have the power to prevent high-risk behavior and harm. At UT Austin, all Longhorns can intervene and reduce injury. To learn more about BeVocal and how you can help to build a culture of care on campus, go to BeVocal.


  • Please use Ed Discussion for all of your communication with the staff.

Counseling and Mental Health Center

  • Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep, and taking some time to relax. That lifestyle will help you achieve your goals and cope with stress.
  • All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus, and an essential part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.
  • Please seek support at the Counseling and Mental Health Center if you or anyone you know experiences academic stress, difficult life events, or feelings like anxiety or depression.

Disability & Access (D&A)

  • The university is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. Please let me know if you experience any barriers to learning so I can work with you to ensure you have an equal opportunity to participate fully in this course. If you are a student with a disability or think you may have a disability and need accommodations, please get in touch with Disability & Access (D&A). Please refer to the D&A website for more information: https://diversity.utexas.edu/disability/.

Writing Flag

  • This course carries the Writing flag. Writing flag courses are designed to give students experience with writing in an academic discipline. In this class, you can expect to write regularly during the semester, complete substantial writing projects, and receive feedback from your instructor to help you improve your writing. You will also have the opportunity to revise one or more assignments, and you may be asked to read and discuss your peers’ work. You should therefore expect a substantial portion of your grade to come from your written work. Writing Flag classes meet the Core Communications objectives of Critical Thinking, Communication, Teamwork, and Personal Responsibility, established by the Texas Higher Education Coordinating Board.

Personal Pronoun Use (She / He / They / Ze / Etc)

  • Professional courtesy and sensitivity are essential concerning individuals and topics dealing with differences of race, culture, religion, politics, sexual orientation, gender, gender variance, and nationalities. Class rosters are provided to the instructor with the student's legal name unless they have added a "preferred name" with the Gender and Sexuality Center. I will gladly honor your request to address you by a name different from what appears on the official roster and by the gender pronouns you use (she/he/they/ze, etc.). Please advise me of any changes early in the semester to make appropriate updates to my records. And please add your pronouns to Canvas and Zoom.


  • Computer Science 429 or 429H with a grade of at least C-.


  • We will compare your programming assignments with MOSS. You may share design ideas with your fellow students. You may not share code in any way.

Sanger Learning Center

  • Did you know that more than 1/3 of UT undergraduate students use the Sanger Learning Center each year to improve their academic performance? All students are welcome to take advantage of their classes and workshops, private learning specialist appointments, peer academic coaching, and tutoring for more than 70 courses in 15 different subject areas. For more information, please visit or call 512-471-3614 (JES A332).

Title IX Reporting

  • Title IX is a federal law that protects against sex and gender-based discrimination, sexual harassment, sexual assault, sexual misconduct, dating/domestic violence, and stalking at federally funded educational institutions. UT Austin is committed to fostering a learning and working environment free from discrimination in all its forms.
  • When sexual misconduct occurs in our community, the university can:
    • Intervene to prevent harmful behavior from continuing or escalating.
    • Provide support and remedies to students and employees who have experienced harm or have become involved in a Title IX investigation.
    • Investigate and discipline violations of the university's relevant policies.
  • Texas Senate Bill 212 requires all employees of Texas universities, including faculty, to report any information to the Title IX office regarding sexual harassment, sexual assault, dating violence, and stalking that you disclose to them. Texas law requires that all employees who witness or receive any information of this type (including, but not limited to, writing assignments, class discussions, or one-on-one conversations) must report it. I am a responsible employee and must report any Title IX-related incidents that you disclose in writing, discussion, or one-on-one. Before talking with me or with any faculty or staff member about a Title IX-related incident, be sure to ask whether they are a responsible employee. If you would like to speak with someone who can provide support or remedies without making an official report to the university, please e-mail advocate@austin.utexas.edu. For more information about reporting options and resources, visit Title IX, contact the Title IX office via e-mail at titleix@austin.utexas.edu, or call 512-471-0419.
  • Although graduate teaching and research assistants are not subject to Texas Senate Bill 212, they are still mandatory reporters under Federal Title IX laws. They are required to report a wide range of behaviors we refer to as sexual misconduct, including the types of sexual misconduct covered under Texas Senate Bill 212. The Title IX office has developed supportive ways to respond to survivors and has compiled campus resources to support survivors.


  • We reserve the class recordings for students only, and FERPA protects them. You are not allowed to share the class recordings outside of class in any form. Violation of this restriction by a student may lead to Student Misconduct proceedings.

Copyright © Glenn P. Downing, 2008-2023
Updated 9 Nov 2023