CS138 - Introduction to Data Abstraction and Implementation

CS138 Introduction to Data Abstraction and Implementation


Welcome to Winter 2020 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
Assignment X has been released Due Date: 01/01/18 00:00:00 Extra Information depending on announcement

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 (%)
Midterm 20%
Final 50%
Assignments 30%
Assignment Weight (%)
Assgt1 6%
Assgt2 5%
Assgt3 5%
Assignment Weight (%)
Assgt4 6%
Assgt5 3%
Assgt6 5%