Learning Resource — University of Waterloo
CS137 Textbook
This content was thoughtfully created and tailored for CS137 — Programming Principles, for Software Engineering students at the University of Waterloo.
It features a collection of uniquely designed practice problems and in-depth explanations aimed at supporting students in mastering course concepts. Widely received as a valuable learning resource, it has helped students deepen their understanding, reinforce key ideas, and perform confidently in the course.
Table of Contents
- Ch. 01Introduction to C↗
- Ch. 02Making Decisions↗
- Ch. 03Loops↗
- Ch. 04Functions, Modules and Compiling↗
- Ch. 05Recursion↗
- Ch. 06Arrays and Intro to Pointers↗
- Ch. 07Floating Numbers, Math Library, Polynomials and Root Finding↗
- Ch. 08Structures↗
- Ch. 09Pointers, Memory Allocation, Arrays and Vectors↗
- Ch. 10Characters and Strings↗
- Ch. 11Big-Oh Notation↗
- Ch. 12Searching and Sorting Algorithms↗
- Ch. 13Linked Lists↗
- NewFinal Exam Practice problems↗