CS373: Software Engineering

  • Fall 2024: 50615 (57)
  • 26 Aug - 9 Dec 2024
  • GDC 1.304: MWF 1 pm


Course Information


  • Instructional Mode: Face-to-face
  • Help Sessions: W 6 pm, GDC basement

Instructor


Prof. Glenn Downing

Teaching Assistants


TA: Abbhinav Jayaraman
GitLab: https://gitlab.com/jayabbhi/
Office Hours: T, 6 pm, GDC basement
UGCA: Praveen Mogan
GitLab: https://gitlab.com/pmogan77/
Office Hours: M, 4 pm, GDC basement

Welcome Message


  • We permit using AI tools (such as ChatGPT), provided that you properly cite the AI-generated content.
  • 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 university's core values and uphold academic integrity." We permit discussing problem solutions with other students, asking others for conceptual help with a problem, looking online for tutorials explaining how to solve a problem, or getting help from a classmate debugging code you wrote. However, all code you turn in must be your own. The penalty for copying code (either from another student or the Internet) is an F in the course.
  • Sign into Canvas and confirm your registration for the course. Check your grades regularly.
  • Confirm that you can access Ed Discussion on Canvas to post class questions.
  • If it involves something personal, like your grade, please make a private post on Ed Discussion.
  • 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: 6.1.6

Communication


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

Catalog Description


  • Introduction to current knowledge; techniques; and theories in large software system design and development.

Overview of the Class


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

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 of the navigation in Canvas.
  • To review a recording, click on the Lectures Online navigation tab and follow the instructions on the page. You can learn more about how to use the Lectures Online system at http://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/.

Pre-Requisites of the Course


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

Software



Learning Outcomes


Altitude
  • appreciate the value of automatic builds
  • appreciate the value of collaboration
  • appreciate the value of component reuse
  • appreciate the value of continuous integration
  • appreciate the value of refactoring
  • appreciate the value of software testing
Knowledge
  • algorithms
  • assertions
  • class vs. instance data
  • class vs. instance methods
  • classes
  • containers
  • design patterns
  • exceptions
  • iterable vs. indexable
  • iterators
  • makefiles
  • UML
  • unit tests
Skill
  • algorithm design that requires the weakest capabilities
  • container design that provides the strongest capabilities
  • continuous integration design
  • decorator design
  • lazy-evaluation design
  • object-oriented design that minimizes setters and getters
  • makefile design
  • software coverage
  • software documentation
  • software formatting
  • software refactoring
  • software testing

Flag Courses


  • 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 be asked to read and discuss your peers’ work. Therefore, you should 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.

Grading Policy


  • We will compute your grade with an innovative approach called specifications grading.
  • We will evaluate each assignment to see whether it meets the 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]
Assignment R (1) [Revision Needed] M (2) [Meets Expectations] E (3) [Excellent/Exemplary]
5 projects
auto-graded by HackerRank
first project will be individual
rest of the projects will be in groups (selected by CATME)
late up to two days, twice in the term
you can resubmit within one week
but not the last project
no E (3)s
12 exercises
auto-graded by HackerRank
exercises will be collaborative
2 out of 3 points 3 out of 3 points
two E (3)s will make up one R (1)
14 blogs
must submit the first and last blog
late up to two days, twice in the term
no E (3)s
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 E (3)s will make up one R (1)
42 quizzes
auto-graded by Canvas
2 out of 3 points 3 out of 3 points
Two E (3)s will make up one R (1).
  • Note: Your course grade will depend on the number of assignments you complete with an M (2) or an E (3). It will then be the lowest grade in all assignment categories.
Letter Percent Projects Exercises Blogs Papers Quizzes
5 12 14 14 42
A 94% 5 11 13 13 39
A- 90% 5 11 13 13 38
B+ 87% 4 10 12 12 37
B 84% 4 10 12 12 35
B- 80% 4 10 11 11 34
C+ 77% 4 9 11 11 32
C 74% 4 9 10 10 31
C- 70% 4 8 10 10 29
D+ 67% 3 8 9 9 28
D 64% 3 8 9 9 27
D- 60% 3 7 8 8 25

Overview of all Major Course Requirements and Assignments



MOSS


  • 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.

Canvas Assignments



Required Course Materials


  • No required materials.

Recommended Course Materials



Final Exam Date and Time


  • No final exam.


Notice of Academic Accommodations from Disability and 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 us know if you experience any barriers to learning so I can work with you to ensure you have 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 and Access (D & A). If you have already registered with D & A, please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.

University Policies and Resources for Students Canvas Page


  • This Canvas page is a supplement to all UT syllabi and contains University policies and resources that you can refer to as you engage with and navigate your courses and the university.

Copyright © Glenn P. Downing, 2008-2024
Updated 18 Nov 2024