C++, Short and Sweet, Part 1

A first course on C++ based on the book Accelerated C++.
Rating: 4.5 out of 5 (1,666 ratings)
107,504 students
English [Auto]



This course is for beginners who want to get started writing programs in C++, taught by Jeremy Siek, a professor at the University of Colorado. No prior knowledge of C++ is assumed. The course is based on the excellent textbook Accelerated C++ by Andrew Koenig and Barbara E. Moo. Like the textbook, the course quickly dives into problem solving and making use of the C++ standard library, including strings, vectors, and lists. The emphasis is on teaching you the parts of C++ that you will most likely need in your day-to-day programming. This course is Part 1 of a planned two-part sequence. Part 1 covers the first seven chapters of Accelerated C++, in particular, Chapters 0 through 6. The course consists of six videos of 50-60 minutes each.

Part 2 of the course, forthcoming, will cover the second half of Accelerated C++, including how to write your own classes and generic functions.

Course content

1 section7 lectures5h 27m total length
  • Getting started
  • Working with strings and if statements
  • Looping and working with batches of data
  • Organizing programs
  • Organizing data and using sequential containers
  • Using library algorithms
  • Code Examples Download


Professor at Indiana University
Jeremy Siek
  • 4.5 Instructor Rating
  • 1,666 Reviews
  • 107,504 Students
  • 1 Course

Jeremy Siek is an Associate Professor at Indiana University Bloomington. Jeremy teaches courses on programming, algorithms, compilers, logic, and mathematics. Jeremy's interests include generic programming, programming language design, type systems, and high-performance programming. Jeremy's Ph.D. thesis laid the foundation for constrained templates, aka the "concepts" proposal for C++. Prior to that, Jeremy developed the Boost Graph Library, a C++ generic library for graph algorithms and data structures. Jeremy post-doc'd at Rice University where he developed the idea of gradual typing: a type system that integrates both dynamic and static typing in the same programming language. Jeremy is currently working on a gradually-typed version of Python, a language for reflective meta-programming, a version of concepts for Chapel, and a domain-specific compiler for generating memory-efficient linear algebra kernels. In 2009 Jeremy received the NSF CAREER award to fund his project: "Bridging the Gap Between Prototyping and Production". In 2010 Jeremy was awarded a Distinguished Visiting Fellowship from the Scottish Informatics & Computer Science Alliance.