CS373: Software Engineering

Spring 2021: 51195 & 51200


Class

  • MWF 11-11:50 am
  • 19 Jan - 7 May 2021

Instructors

Professor
Grad TA

Sung Choi

Undergrad TA

Alvin Lo


Undergrad TA

Caitlin Lien

Undergrad TA

Saad Ahmad


Getting Started

  • Sign into Canvas and confirm your registration for the course. Check your grades regularly.
  • 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 to access the exercises.
  • Sign up for a Perusall account to access the papers. Use this code:
    • DOWNING-BQMQ3
  • Sign up for an Office 365 account and Teams to access the chat. Use this code:
    • 27rao5y
  • Sign into Piazza and post class questions. If it involves your grade, please e-mail all of the graders on Canvas.
  • Sign up for a Zoom account. You must use your UT EID credentials. Ensure that you have the latest version of the app: 5.4.9.

Topics

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

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 useful to clone that repo. I'll 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'll start each day with a quiz.
  • The quizzes will be 4 min and multiple-choice on Canvas.

What will the lectures be like?

  • I'll use the Socratic Method to have a discussion with you about 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 that you’re having trouble with, and you will learn a lot more.
  • That then makes the class highly interactive, so I respectfully request that you refrain from using your phones, tablets, or laptops during class unless we're doing an exercise.
  • We'll 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?

  • Piazza will allow you to ask questions outside of class that everyone will see, and when I or the graders answer, everyone will benefit from.
  • 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 e-mail all of the graders on Canvas.

What is expected of me?

  • I would like this class to feel like a community. To that end, I request that you follow these guidelines.
  • 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 positive, proactive, and respectful in making this class what you want it to be.
  • Come to office hours!!!

Points

Type Number Points Total
Blogs 10 5 50
Exercises 10 10 100
Papers 10 5 50
Projects 5 100 500
Quizzes 30 10 300
1000

Grades

Points Grade CR/NC
[940 - 1000] A CR
[900 -   940) A-
[870 -   900) B+
[840 -   870) B
[800 -   840) B-
[770 -   800) C+
[740 -   770) C
[700 -   740) C-
[670 -   700) D+
[640 -   670) D
[600 -   640) D-
[    0 -   600) F NC

Blogs

  • We will assign 15 blogs.
  • We will give full credit for submitting 10 of the 15 blogs.
  • You must submit the first and last blog.

Exercises

  • We will assign 10+N exercises.
  • We will drop the lowest N exercises
  • We will not offer make-up exercises.
  • Exercises will be collaborative.
  • We will give exercises on HackerRank.
  • You are responsible for having a device that works with HackerRank (e.g. a laptop or a tablet).
  • If you forget your tech or can't get it to work, your exercises will be marked as zero.
  • You must attend the entire lecture. If you leave early, your exercise will be marked as zero.
  • We will provide a password to unlock the exercise.
  • Sending the password, the questions, or the answers to anyone is a violation of the honor code of the University.
  • Students who violate University rules on academic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Since such dishonesty harms the individual, all students, and the integrity of the University, policies on academic dishonesty will be strictly enforced.
  • We will provide the solutions to the exercises. You can dispute the grade only within the following week. To dispute grades you must e-mail all of the graders on Canvas.

Papers

  • We will assign 15 papers.
  • We will give full credit for submitting 10 of the 15 papers.
  • You must submit the first paper.

Projects

  • We will assign 5 projects.
  • You must submit the first project individually.
  • You must submit the remaining projects in groups.
  • For every day that a project is late, you will lose one-fifth of the points, so in five days it will be worth zero. Corrupt or incomplete submissions will count as one day late. To submit late or re-submit you must message the graders on Canvas.
  • We will not provide solutions to the projects. The graders will grade the projects within one week. You can dispute the grade only within the following week. To dispute grades you must message the graders on Canvas.

Quizzes

  • We will give 30+N quizzes.
  • We will drop the lowest N quizzes
  • We will not offer make-up quizzes.
  • Quizzes will be individual.
  • We will give quizzes on Canvas.
  • You are responsible for having a device that works with Canvas (e.g. a laptop, a phone, or a tablet). Sometimes there's enough text on the quiz that using a phone is inconvenient.
  • If you forget your tech or can't get it to work, your quiz will be marked as zero.
  • You must attend the entire lecture. If you leave early, your quiz will be marked as zero.
  • We will provide a password to unlock the quiz.
  • Sending the password, the questions, or the answers to anyone is a violation of the honor code of the University.
  • Students who violate University rules on academic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Since such dishonesty harms the individual, all students, and the integrity of the University, policies on academic dishonesty will be strictly enforced.
  • We will provide the solutions to the quizzes. You can dispute the grade only within the following week. To dispute grades you must message the graders on Canvas.

Academic Integrity

  • Each student in the course is expected 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 that you have used in 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 can be found at the following web address: Standards of Conduct.

BeVocal

  • 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 have the power to intervene and reduce harm. To learn more about BeVocal and how you can help to build a culture of care on campus, go to: BeVocal.

Communication

  • If your communication is relevant to other students in the class, please use Piazza.
  • If your communication is only relevant to you, please use Canvas.

Counseling and Mental Health Center

  • Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, genng enough sleep and taking some time to relax. This 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 important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.
  • If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support: Counseling and Mental Health Center.

COVID-19 Update

  • This course may be offered in a format to which you are unaccustomed. If you are looking for ideas and strategies to help you feel more comfortable participating in our class, please explore the resources available here.

Incompletes

  • To be eligible for an incomplete you must have a letter grade of C or better and a written, verifiable excuse for missing the last test. This is a necessary but insufficient condition for receiving an incomplete.

Independent Inquiry Flag

  • This course carries the Independent Inquiry flag. Independent Inquiry courses are designed to engage you in the process of inquiry over the course of a semester, providing you with the opportunity for independent investigation of a question, problem, or project related to your major. You should therefore expect a substantial portion of your grade to come from the independent investigation and presentation of your own work.

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

  • Professional courtesy and sensitivity are especially important with respect to 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 that is 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 so that I may make appropriate updates to my records.

Prerequisites

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

Q-drops

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

MOSS

  • Programming assignments will be compared using MOSS. You may share design ideas with your fellow students. You may not share code in any way with your fellow students.

Sanger Learning Center

  • Did you know that more than one-third of UT undergraduate students use the Sanger Learning Center each year to improve their academic performance? All students are welcome to take advantage of Sanger Center’s 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 Sanger Learning Center or call 512-471-3614 (JES A332).

Services for Students with Disabilities

  • This class respects and welcomes students of all backgrounds, identities, and abilities. If there are circumstances that make our learning environment and activities difficult, if you have medical information that you need to share with me, or if you need specific arrangements in case the building needs to be evacuated, please let me know. I am committed to creating an effective learning environment for all students, but I can only do so if you discuss your needs with me as early as possible. I promise to maintain the confidentiality of these discussions. tiny student with a documented disability who requires academic accommodations should contact Services for Students with Disabilities at 471-6259 (voice) or 512-410-6644 (Video Phone) as soon as possible to request an official letter outlining authorized accommodations. For more information, visit Services for Students with Disabilities.

Sharing of Course Materials is Prohibited

  • No materials used in this class, including, but not limited to, lecture hand-outs, videos, assessments (quizzes, exams, papers, projects, homework assignments), in-class materials, review sheets, and additional problem sets, may be shared online or with anyone outside of the class unless you have my explicit, written permission. Unauthorized sharing of materials promotes cheating. It is a violation of the University’s Student Honor Code and an act of academic dishonesty. I am well aware of the sites used for sharing materials, and any materials found online that are associated with you, or any suspected unauthorized sharing of materials, will be reported to Student Conduct and Academic Integrity in the Office of the Dean of Students. These reports can result in sanctions, including failure in the course.

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.
  • Beginning January 1, 2020, Texas Senate Bill 212 requires all employees of Texas universities, including faculty, report any information to the Title IX Office regarding sexual harassment, sexual assault, dating violence and stalking that is disclosed 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 be reported. I am a Responsible Employee and must report any Title IX related incidents that are disclosed 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 email advocate@austin.utexas.edu. For more information about reporting options and resources, visit Title IX, contact the Title IX Office via email 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 and 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 a survivor and compiled campus resources to support survivors.

Zoom

  • Class recordings are reserved only for students in this class for educational purposes and are protected under FERPA. The recordings should not be shared outside the class in any form. Violation of this restriction by a student could lead to Student Misconduct proceedings.

Copyright © Glenn P. Downing, 2008-2021