CS 398

Topics in Computer Science

Class Schedule

Course Meet Days Meet Time Location Instructor(s)
CS 398 001 [LEC] Mon, Wed
May 11 – Aug 5
10:00AM – 11:20AM MC 4041 Mei Nagappan
mei.nagappan@uwaterloo.ca
CS 398 002 [LEC] Mon, Wed
May 11 – Aug 5
11:30AM – 12:50PM MC 4041 Mei Nagappan
mei.nagappan@uwaterloo.ca

Instructional Team

Instructor: Mei Nagappan (mei.nagappan@uwaterloo.ca) – DC 3349.

TAs: Maksym Bidnyi (mbidnyi@uwaterloo.ca), Xavier Schneider (xschneider@uwaterloo.ca), Zesheng Jia (zesheng.jia@uwaterloo.ca).

Office Hours: With the instructor or TAs by appointment.

Course Description

This course introduces students to AI-powered approaches for problem-solving in software development. Students will learn how to frame coding problems effectively, generate and refine solutions using AI tools, implement and test code collaboratively with AI, and assess software quality, security, and performance. Through hands-on practice, students will gain experience in leveraging AI as a coding partner while developing critical thinking and problem-solving skills.

Learning Outcomes

By the end of this course students should be able to…

Clearly define the requirements: problems, constraints, and edge cases before applying AI.
Use AI to generate multiple solution strategies and critically evaluate their trade-offs.
Implement and refine code solutions with attention to reliability.
Pick up human-in-the-loop skills when using AI tools.
Apply non-functional requirements (security, performance) when working with AI-generated code.
Debug, test, and optimize code in collaboration with AI systems.

Tentative Class Plan

Week Date Lecture Topic
1May 11, 2026Intro to CS398: Coding With AI
1May 13, 2026Intro to CS398: Coding With AI
2May 18, 2026Holiday: Victoria Day
2May 20, 2026Dr. Margaret-Anne Storey Guest Lecture
3May 25, 2026Code Comprehension without LLMs
3May 27, 2026Code Comprehension without LLMs
4June 1, 2026Requirements
4June 3, 2026Requirements
5June 8, 2026Code Generation
5June 10, 2026Code Generation
6June 15, 2026Code Summarization
6June 17, 2026Code Summarization
7June 22, 2026Debugging
7June 24, 2026Debugging
8June 29, 2026In Class Test 1
8July 1, 2026Holiday: Canada Day
9July 6, 2026Testing
9July 8, 2026Testing
10July 13, 2026Code Review
10July 15, 2026Code Review
11July 20, 2026Performance
11July 22, 2026Performance
12July 27, 2026Security
12July 29, 2026Security
13August 4, 2026In Class Test 2
13August 5, 2026Guest Lecture: TBD

Required Materials & Technologies

This course has additional costs to students (listed in sections below).

Technology

Name of TechnologyRequiredPrice (CAD)
Learn Required
OpenAI Codex / Claude Code / Cursor / GitHub Copilot / Kiro Required 25–27 CAD + HST/month

Any one of the 5 tools above can be used in class. GitHub Copilot has unfortunately paused new sign-ups. If you already had GitHub Copilot as a student, you may still have access. Amazon Kiro (kiro.dev/students) has a 1-year free subscription for UWaterloo students.

Other Materials

ItemNotesRequired
LaptopIf you do not have one, we will work to get you a loaner.Required

Assessments & Activities

Component / ActivityDate or Due DateSubmission MethodWeight (%)
In-class activitiesEvery class between weeks 3 and 12Learn Dropbox20%
In class test 1June 29In Person24%
In class test 2Aug 4In Person24%
FinalTBDIn Person32%

Late / Missed Content

Assignment Screening

No automated assignment screening will be utilized within this course.

Generative AI

Generative AI (GenAI) tools such as OpenAI Codex, Claude Code, Cursor, GitHub Copilot, and Kiro should be used for in-class exercises with proper documentation, citation, and acknowledgement. See the UWaterloo Library recommendations for how to cite GenAI in student work.

You are accountable for the content and accuracy of all work you submit, including any supported by generative AI. Keep your rough notes, sources, brainstorming, drafts, and prompts — you may be asked to submit these along with earlier drafts.

Administrative Policy

Territorial Acknowledgement

The University of Waterloo acknowledges that much of our work takes place on the traditional territory of the Neutral, Anishinaabeg, and Haudenosaunee peoples. Our main campus is situated on the Haldimand Tract, the land granted to the Six Nations that includes six miles on each side of the Grand River. Our active work toward reconciliation is co-ordinated within the Office of Indigenous Relations.

University Policy

Mental Health: UWaterloo Counselling Services offer confidential support, including individual counselling, workshops, and crisis intervention. Call 519-888-4096 or visit the Counselling Services website.

Academic Integrity: Members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect, and responsibility.

Grievance: A student who believes a decision was unfair may initiate a grievance under Policy 70. Contact the department's administrative assistant for assistance.

Discipline: Students should refer to Policy 71 for categories of offences and penalties, and the Guidelines for the Assessment of Penalties for typical penalties.

Appeals: Decisions under Policy 70 or 71 may be appealed if grounds exist. Refer to Policy 72, Student Appeals.

Note for students with disabilities and disabling conditions: Register with AccessAbility Services (AAS) as early as possible. Contact AAS at 519-888-4567 ext. 35082 or access@uwaterloo.ca, or visit Needles Hall North, 1st Floor, Room 1401.

Turnitin.com: Text matching software (Turnitin®) may be used to screen assignments. Students with privacy concerns regarding U.S. server storage will be provided an alternative. Notify the instructor in the first week of term if you wish to submit an alternate assignment.