About
Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++). Brief survey of other modern languages such as Python, Objective C, and C#.
Prerequisites: Programming and problem solving at the Programming Abstractions level. Prospective students should know a reasonable amount of C++. You should be comfortable with arrays, pointers, references, classes, methods, dynamic memory allocation, recursion, linked lists, binary search trees, hashing, iterators, and function pointers. You should be able to write well-decomposed, easy-to-understand code, and understand the value that comes with good variable names, short function and method implementations, and thoughtful, articulate comments.
Course Homepage: [[http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee]]
Course features at Stanford Engineering Everywhere page: *Programming Paradigms *Lectures *Syllabus *Handouts *Assignments *Exams *Resources
Videos

Lecture 20: Car-Cdr Recursion Problem that Returns the Sum of Every Element in a...
Sep 7, 2010
·
2781 views

Lecture 13: Review of Compilation Process of a Simple Program Into a .O File
Sep 7, 2010
·
3021 views

Lecture 25: Rewriting RSG to Illustrate all Three Paradigms and Lambdas in Pytho...
Sep 7, 2010
·
2618 views

Lecture 19: Imperative/Procedural Paradigms (C) and Object-Oriented Paradigm(C++...
Sep 7, 2010
·
4167 views

Lecture 23: Scheme Memory Model - How Scheme Instructions Synthesize Linked List...
Sep 7, 2010
·
2911 views

Lecture 9 How a Code Snippet is Translated into Assembly Instructions
Sep 7, 2010
·
3045 views

Lecture 17: Review of the Dining Philosopher Problem
Sep 7, 2010
·
3597 views

Lecture 12: Preprocessing Commands - #Define as a Glorified Find and Replace
Sep 7, 2010
·
2612 views

Lecture 26: XML Processing and Python - Two Different XML Processing Models
Sep 7, 2010
·
3454 views

Lecture 6: Integer Stack Implementation - Constructor and Destructor
Sep 7, 2010
·
3605 views

Lecture 3: Converting Between Types of Different Sizes and Bit Representations U...
Sep 7, 2010
·
4566 views

Lecture 1: Programming Paradigms
Sep 7, 2010
·
13673 views

Lecture 8: Heap Management - How Information about Allocations are Stored in the...
Sep 7, 2010
·
3531 views

Lecture 24: Overarching Features of Python: Scripting Language
Sep 7, 2010
·
5253 views

Lecture 22: Writing a Recursive Power Set Function in Scheme
Sep 7, 2010
·
5050 views

Lecture 2: C/C++ Data Types - Interpretations
Sep 7, 2010
·
17860 views

Lecture 16: Review of Semaphore Syntax
Sep 7, 2010
·
3426 views

Lecture 18: Guest Lecturer
Sep 7, 2010
·
2481 views

Lecture 11: Moving from C Code Generation to C++ Code Generation: Basic Swap Exa...
Sep 7, 2010
·
3770 views

Lecture 15: Transitioning from Sequential Programming to Concurrent Programming ...
Sep 7, 2010
·
2701 views

Lecture 10: More Detail about Activation Records - Layout of Memory During a Fun...
Sep 7, 2010
·
2881 views

Lecture 21: Introduction to the Kawa Development Environment: Evaluation of Expr...
Sep 7, 2010
·
2488 views

Lecture 14: Example in Which Writing Past the End of Array Causes the Return Add...
Sep 7, 2010
·
2635 views