ECE 312: Software Design and Implementation I (UT Austin)

Spring 2026


When and Where: Mon & Wed, 1:30 pm–3:00 pm, EER 1.516
Format: Lectures and live coding
Instructor: Neil Zhao <neil.zhao@utexas.edu>, please just call me Neil
Instructor Office Hours: Mon 3:00 pm–3:30 pm, Tue 2:30 pm–3:00 pm, or by appointment, EER 5.890

Recitation: Wed 10:00 am–11:00 am (17925) or 12:00 pm–1:00 pm (17935), EER 0.818
TA: Allison Seigler <aseigler@utexas.edu>
TA Office Hours: Thu 3:00pm-4:00pm (EER 5.650), Fri 3:00pm-4:00pm (EER 5.650)

[Schedule and Materials], [Canvas], [Ed Discussion], [Acknowledgements]


Course Overview

Welcome to ECE 312: Software Design and Implementation I, where we learn how to think like a programmer and write beautiful software.

In this course, you will learn time-tested programming languages like C and C++. You will learn various algorithms and data structures to write efficient and well-organized programs. You will also develop skills to comprehend, participate in, and manage moderately sized software projects.

Prerequisites

  • ECE/EE/BE 306 or 306H (grade >= C-)
  • ECE/EE 319K or 319H (grade >= C-)

Course Requirements

The expectations for all students in this course are as follows:

Class Attendance: You will physically attend every class and actively participate in class discussions. Questions are always welcome during and after lecture. We will do a lot of interactive coding during lectures throughout the semester, so please remember to bring a charged laptop to follow along. Pop quizzes may be given during lecture and will count toward your participation grade. Although lectures will be recorded and shared afterward for review, recordings are not a substitute for physical attendance.

Policy: You may miss at most two lectures without a grade penalty. Please reach out to the instructor if you need a special accommodation.

Programming Assignments: Programming looks easy until you try it yourself. Therefore, you will complete 5 small programming assignments and 2 large, multi-week programming assignments. These assignments will make up a significant portion of your grade and will also help you practice for the exams.

Late Policy: You will have a cumulative total of 48 late hours throughout the semester. For example, if an assignment is due on Monday at 1:00 pm and you submit it on the same Monday at 9:00 pm, then you have used 8 of your 48 late hours. After you use your 48-hour quota, 5% will be deducted from that assignment’s grade for every additional late hour, down to a minimum of 0. We round up to the next hour.

Homework Assignments: You will complete homework assignments to reinforce what you have learned. Homework will be concentrated around the algorithms and data structures portion of the course.

Late Policy: Same as the programming assignments. Note that the 48-hour quota is shared between programming and homework assignments.

Recitation Quizzes: You will complete an in-person quiz in most recitation sessions. These are short quizzes that help you review what you learned since the previous week.

Exams: You will take two in-class exams. Make-up exams will not be offered without a note from a doctor explicitly stating that you are unable to take the exam on the assigned day. This is not the same as a slip from UT Health Services showing only that you visited the doctor.

Grading

  • 3%: Class participation (includes attendance, in-class discussion, and pop quizzes)
  • 3%: Recitation quizzes
  • 6%: Homework assignments (x3)
  • 28%: Programming assignments (x7)
  • 60%: Exams (x3)

Grade Breaks

Grade A A- B+ B B- C+ C C- D+ D D- F
Cutoff >=94 >=90 >=87 >=84 >=80 >=77 >=74 >=70 >=67 >=64 >=60 >=0

Academic Integrity

The university provides a Canvas page with policies and resources relevant to all courses. You can refer to it as you navigate your time at UT. This course also has the following additional policies.

Collaboration with Others

You are allowed (and even encouraged) to discuss high-level ideas with others, but you may not share code with them. Downloading code from the Internet or from students who have taken the course in prior semesters also counts as code sharing and is not allowed. Here are some examples (not an exhaustive list):

Allowed

  • Discuss the software architecture of a project
  • Discuss the algorithmic strategy for a problem
  • Provide insights on common reasons for segmentation faults
  • Share environment configuration and setup (e.g., VS Code and SSH configurations)

Prohibited

  • Share your code with other students
  • Use code written by students from prior years
  • Help other students debug their program line-by-line

Use of AI Tools

Generative AI tools such as ChatGPT and Claude have become widespread. Hype aside, these tools are transforming how we retrieve and process information. It is therefore crucial to learn how to use them effectively—while maintaining academic integrity and avoiding intellectual dishonesty.

The general policy for this course is: it is acceptable to use AI tools to retrieve and process information, but not to create original content. Here are some examples (not an exhaustive list):

Allowed

  • Clarify a confusing concept (but be aware of hallucinations/fabrication)
  • Find and summarize relevant documentation
  • Learn how to use a given tool (VS Code, GCC, Bash, Makefile, etc.)

Prohibited

  • Upload course quizzes to AI tools
  • Ask AI tools to write the program for you

“Vibe coding” may be common in industry; however, you should not rely on these tools to generate code, as you are not yet experienced enough to judge the quality of AI-generated output. You should not “vibe code” until you have a firm understanding of the fundamentals and have developed extensive programming experience by hand.

Confirmed violations can result in receiving an F for this course.

A Notice of Academic Accommodations from Disability and Access (D&A)

If you are a student with a disability, or think you may have a disability, and need accommodations please contact Disability and Access (D&A). You may refer to D&A’s website for contact and more information: http://disability.utexas.edu/. If you are 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.