CS138 - Introduction to Data Abstraction and Implementation

CS138 Introduction to Data Abstraction and Implementation


Welcome to Winter 2022 offering of CS 138! CS 138 introduces software engineering students to elementary data structures and their implementation. If you have any questions or concerns please email the course staff at cs138@uwaterloo.ca

Students will be introduced to linked lists, binary search trees, stacks, queues, arrays, vectors and more all implemented using C++. See the Course Outline for a more detailed breakdown of the material covered.
Please note: the time to cover each section is an estimate only. Also, the lecture slides will be made avalable for download up to the slide most recently gone over in class.

Important Announcements

Announcement Date: dd/mm/yy Extra Info

Unofficial Marks:

For your convenience, we provide a facility to check your unofficial marks online. Please note that marks will not always be available immediately after the deadline. Re-mark requests may also take a while to appear.

Submitting Assignments:

Marmoset will be used to automatically compile, run, and test the output from your submitted code. If you notice any strange behaviour please notify the course ISA immediately via email

If you have any questions about the assignments, try posting them to the CS138 piazza as others might have the same problem as you.

Grade Distribution:

Category Weight (%)
Assignments 60%
Quizzes 15%
Final 25%
Assignment Weight (%)
Assgt1 10%
Assgt2 10%
Assgt3 10%
Assignment Weight (%)
Assgt4 10%
Assgt5 10%
Assgt6 10%