Programming Abstractions

CS106B

Stanford School of Engineering


Description

Gain valuable exposure to advanced computer programming and abstraction techniques. Become knowledgeable about the many implementation methods used to build complicated, dynamic data structures. Harness powerful tools for understanding how the representation and efficiency of data can influence how effectively we can store it.

Prerequisites

Programming Methodology (Stanford Course: CS106A) or equivalent

Students coming to CS106B are expected to have substantial prior experience with programming constructs such as loops, functions/methods, arrays, console and file I/O, standard data types (integer, string, and floating point), and classes. In other words, students coming to CS106B are expected to know how to write code.

Topics include

  • Principles of data abstraction and modularity
  • Object-oriented programming, fundamental data structures and data-directed design
  • Recursion and recursive data structures (linked lists, trees, graphs)
  • Programming language C++ basics
  • Introduction to time and space complexity analysis

Course Availability

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate education section.

Pre-register Now

Dates:March 29 - June 4, 2021
Units: 3.00-5.00
Instructors: Chris Gregg
Delivery Option:
Online
Fees:
For Credit $4,056.00-$6,760.00
Notes: Pre-registration Dates: February 1, 2021 at 9:00am to March 12, 2021 at 5:00pm

Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.

Pre-registration for this course will secure your enrollment request and ensure timely processing of your application for potential course approval. Please note: course enrollment will be confirmed after March 19, 2021; after completing your pre-registration, no further action is required on your part.

 

This course may not currently be available to learners in some states and territories.