Stanford Engineering Everywhere CS106B - Programming Abstractions

Stanford Engineering Everywhere CS106B - Programming Abstractions

27 Lectures · Jan 7, 2008

About

This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. If you've taken the Computer Science AP exam and done well (scored 4 or 5) or earned a good grade in a college course, Programming Abstractions may be an appropriate course for you to start with, but often Programming Abstractions (Accelerated) is a better choice. Programming Abstractions assumes that you already have familiarity with good programming style and software engineering issues (at the level of Programming Methodology), and that you can use this understanding as a foundation on which to tackle new topics in programming and data abstraction.

Topics: Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities.

Prerequisites: *Solid performance in Programming Methodology and readiness to move on to advanced programming topics. *A comparable introductory programming course (including high school AP courses) is often a reasonable substitute for our Programming Methodology.

Course Homepage: [[http://see.stanford.edu/see/courseInfo.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e]]

Course features at Stanford Engineering Everywhere page: *Programming Abstractions *Lectures *Syllabus *Handouts *Assignments *Exams

Related categories

Uploaded videos:

video-img
43:02

Lecture 1: About the CS106 Series at Stanford

Nov 15, 2010

 · 

10792 Views

Lecture
video-img
43:47

Lecture 2: Similarity between C++ & Java: - syntax - variable types - operators ...

Nov 15, 2010

 · 

6499 Views

Lecture
video-img
44:39

Lecture 3: C++ Libraries - Standard Libraries

Nov 15, 2010

 · 

6512 Views

Lecture
video-img
50:26

Lecture 4: C++ Console I/O

Nov 15, 2010

 · 

4185 Views

Lecture
video-img
45:29

Lecture 5: Client Use of Templates

Nov 15, 2010

 · 

2883 Views

Lecture
video-img
43:00

Lecture 6: More Containers

Nov 15, 2010

 · 

2559 Views

Lecture
video-img
47:31

Lecture 7: Seeing Functions as Data: Specific Plot Functions

Nov 15, 2010

 · 

2715 Views

Lecture
video-img
42:36

Lecture 8: Common Mistakes Stumbled Upon: 'I'terator

Nov 15, 2010

 · 

2887 Views

Lecture
video-img
48:03

Lecture 9: Thinking Recursively

Nov 15, 2010

 · 

3276 Views

Lecture
video-img
47:01

Lecture 10: Refresh: Permute Code

Nov 15, 2010

 · 

2653 Views

Lecture
video-img
47:47

Lecture 11: Backtracking Pseudocode

Nov 15, 2010

 · 

3612 Views

Lecture
video-img
41:45

Lecture 12: Pointer Movie

Nov 15, 2010

 · 

2681 Views

Lecture
video-img
51:34

Lecture 13: Coding with Linked List

Nov 15, 2010

 · 

4871 Views

Lecture
video-img
49:32

Lecture 14: Algorithm Analysis

Nov 15, 2010

 · 

5640 Views

Lecture
video-img
47:19

Lecture 15: Selection Sort

Nov 15, 2010

 · 

2885 Views

Lecture
video-img
47:34

Lecture 16: Partitioning for Quicksort

Nov 15, 2010

 · 

2381 Views

Lecture
video-img
44:30

Lecture 17: Sort Template with Callback

Nov 15, 2010

 · 

2268 Views

Lecture
video-img
50:53

Lecture 18: Abstract Data Types

Nov 15, 2010

 · 

2432 Views

Lecture
video-img
41:26

Lecture 19: Rules of Template Implementation

Nov 15, 2010

 · 

2172 Views

Lecture
video-img
50:59

Lecture 20: Live Coding: Recap of the Vector-based Implementation for Stack

Sep 01, 2010

 · 

2507 Views

Lecture
video-img
46:01

Lecture 21: Buffer: Vector vs Stack

Nov 15, 2010

 · 

2576 Views

Lecture
video-img
49:44

Lecture 22: Map as Vector

Nov 15, 2010

 · 

2146 Views

Lecture
video-img
45:50

Lecture 23: Pathfinder Demo

Nov 15, 2010

 · 

2338 Views

Lecture
video-img
50:18

Lecture 24: Compare Map Implementations

Nov 15, 2010

 · 

2327 Views

Lecture
video-img
50:35

Lecture 25: Lexicon Case Study

Nov 15, 2010

 · 

2301 Views

Lecture
video-img
49:04

Lecture 26: Final Showdown

Nov 15, 2010

 · 

2040 Views

Lecture
video-img
41:33

Lecture 27: C++ Programming Language

Nov 15, 2010

 · 

29765 Views

Lecture