Lectures (Video)
- 1. Introduction to Course
- 2. Basics of C++
- 3. C++ Libraries
- 4. File IO, OO Features
- 5. Vector, Grid, Stack, Queue Classes
- 6. Map Class
- 7. Plot Functions and Abstract Data Types
- 8. Recursion
- 9. Fractal Code
- 10. Permute and Subset Code
- 11. Sudoku Code
- 12. Pointers
- 13. Linked List
- 14. Algorithm Analysis
- 15. Sorting
- 16. Quicksort
- 17. Callback, OO Programming
- 18. Abstract Data Types
- 19. Template Implementation
- 20. Live Coding
- 21. Buffer
- 22. Binary Search Tree
- 23. Graphs
- 24. Hashing
- 25. Lexicon Case Study
- 26. Runtime Performance
- 27. Guest Lecturer
Programming Abstractions
Course Summary
This course is based on CS106B Programming Abstractions made available by Stanford University: Stanford Engineering Everywhere under the Creative Commons Attribution 3.0 license.
This course 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. 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. The lecturer for this course is Julie Zelenski.
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.
Reading Material
1. Programming Abstractions in CEric S. Roberts, Programming Abstractions in C: A Second Course in Computer Science, Publisher: Addison Wesley, August 1997, ISBN-13: 9780201545418
Course Material
Not available.Other Resources
Not available.Software
Not available.Discussion Forum
For discussion on this topic, please go to the relevant forum for Programming Abstractions. Click the button below to open the forum page in a new window.