Skip to content

Cs106b Assignments Abroad

Welcome, Class of 2021 and new graduate students!

Sign Up

Join a community of 3418 Stanford students

Already Have An Account? Log In

659 Stanford Journeys

Course trajectories of Stanford students

Designed and Built By

Pranav Rajpurkar And Brad Girardeau

Pranav Rajpurkar is a PhD student in Computer Science at Stanford, working on Artificial Intelligence for Healthcare. He was previously a Stanford undergrad ('16).

Brad Girardeau got his B.S, M.S. degrees in computer science at Stanford ('16, '17). When not thinking about computer security, he can be found playing violin or running across the Golden Gate Bridge.

Share Your Planner

With Edusalsa, you can share your planner with your friends and see what classes your friends are taking. To share course schedules, signup or login

Stanford Stories

Not just any old engineering.

  • Posted a year ago

  • 695 views

Stanford will become your home.

  • Posted a year ago

  • 640 views

Seeking the path of maximal personal happiness.

  • Posted a year ago

  • 616 views

Stanford Stories

A few things I've learned.

  • Posted 2 years ago

  • 1453 views

The best decision I’ve ever made at Stanford was to leave.

  • Posted 2 years ago

  • 1151 views

Where my passion leads me.

  • Posted 2 years ago

  • 1028 views

Dive into building stuff.

  • Posted 2 years ago

  • 904 views

Building the freedom to handle life as it comes.

  • Posted 2 years ago

  • 843 views

New questions to experiment with.

  • Posted 2 years ago

  • 829 views

Getting to be on the other side of the class.

  • Posted 2 years ago

  • 759 views

Building the work ethic to push through.

  • Posted 2 years ago

  • 707 views

The moments we shared Down Under.

  • Posted 2 years ago

  • 674 views

Painting a picture of study abroad in Japan.

  • Posted 2 years ago

  • 609 views

Dear Freshman Me

Que Sera, Sera

I love you.

  • Posted 2 years ago

  • 2017 views

It’s me, Vivian.

  • Posted 2 years ago

  • 1350 views

You are about to embark on an amazing adventure.

  • Posted 2 years ago

  • 1315 views

This is advice from the not-so-distant future.

  • Posted 2 years ago

  • 1050 views

Hello, my eager younger self.

  • Posted 2 years ago

  • 974 views

You’re more than ready to just get there.

  • Posted 2 years ago

  • 865 views

A new chapter in your life is about to begin!

  • Posted 2 years ago

  • 859 views

Eduanalytics

On the Stanford Education Space

An Investigation into the Stanford Education Space.

  • Posted 3 years ago

  • 1531 views

 

i

 Foreword 

This text represents a major revision of the course reader that we’ve been using atStanford for the last several years. The primary goal of the revision was to bring theapproach more closely in line with the way C++ is used in industry, which will inturn make it easier to export Stanford’s approach to teaching data structures to alarger fraction of schools. Even though this quarter’s draft is reasonably complete,the text remains somewhat rough. In particular, these chapters have not yet had the benefit of the wonderful copyediting service that my wife Lauren Rusk has providedfor all my books.This textbook has had an interesting evolutionary history that in some waysmirrors the genesis of the C++ language itself. Just as Bjarne Stroustrup’s firstversion of C++ was implemented on top of a C language base, this reader began itslife as my textbook 

 Programming Abstractions in C 

(Addison-Wesley, 1998)

.

In2002-03, Julie Zelenski updated it for use with the C++ programming language,which we began using in CS106 B and CS106 X during that year. Although therevised text worked fairly well at the outset, CS106 B and CS106 X have evolved inrecent years so that their structure no longer tracks the organization of the book. In2009, I embarked on a comprehensive process of rewriting the book so that studentsin these courses can use it as both a tutorial and a reference. As always, that processtakes a considerable amount of time, and there are almost certainly some sections of the book that need a substantial rewrite.I want to thank my colleagues at Stanford over the last several years, startingwith Julie Zelenski for her extensive work on the initial C++ revision. Mycolleagues Keith Schwarz, Jerry Cain, Stephen Cooper, and Mehran Sahami haveall made important contributions to the revision. I also need to express my thanks toseveral generations of section leaders and so many students over the years, all of whom have helped make it so exciting to teach this wonderful material. Finally, Iwant to thank the students in CS106 B in winter quarter 2011-12 who put up with a partially finished reader and contributed many error reports and suggestions.I’ve always believed that programming is one of the most challenging andexciting intellectual activities that humans have ever discovered. By staying closeto the machine, C++ gives you all the freedom you need to build applications thattake advantage of the full power of modern computing. I hope you all enjoy theride.