Skip to content

Data Structures in C++, a companion textbook for Harvey Mudd's CS70 course

License

Notifications You must be signed in to change notification settings

cs70-grutoring/CS70Textbook

Repository files navigation

Data Structures in C++

A Companion Textbook for Harvey Mudd's CS70 Course

Matthew Calligaro, 2020

Synopsis

This textbook was created as a resource for students taking CS70, an introductory-level computer science course taught at Harvey Mudd College. The first section introduces major topics in C++, including object lifetime, compilation, memory management, and templates. The second section explores basic data structures including linear data structures, trees, heaps, and hash sets. The final section builds tools for analyzing the runtime of these data structures, including asymptotic, amortized, and best/worst/expected case analysis.

While this text is specifically tailored towards students enrolled in Harvey Mudd's CS70 course, I hope that it may also provide value to students at other institutions or anyone hoping to learn or brush up on core computer science concepts.

Repository Contents

In addition to the textbook, this repository contains the following case studies:

  1. compilation: Compilation, linking, and make
  2. inheritance: Single inheritance from classes and abstracted classes
  3. iterators: Iterator functionality and common uses
  4. objectLifetime: Tracking the five stages of object lifetime in several contexts
  5. overloading: Type transformation and function overloading
  6. templates: Function and class templates, including a templated implementation of the min heap data structure

Each case study is contained in a directory with example code, a makefile, and a README.md which explains the example and recommends experiments which can be run on the code. The intent is for students to clone this repository and modify/experiment with the code in each case study.

About

Data Structures in C++, a companion textbook for Harvey Mudd's CS70 course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published