27 episodes

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.

Programming Abstractions Julie Zelenski

    • Technology

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.

    • video
    9. Programming Abstractions Lecture 9

    9. Programming Abstractions Lecture 9

    Julie goes over recursion and the proper ways to solve problems recursively. She continues with the example of a program that draws a fractal image and explains a Mandarin code to illustrate the different possibilities of drawing different pictures.

    • 2 sec
    • video
    10. Programming Abstractions Lecture 10

    10. Programming Abstractions Lecture 10

    Julie explains procedural recursion and introduces permute code. She goes through another example of recursive code line by line, explaining each component. Recursive backtracking and it's usefulness are discussed.

    • 2 sec
    • video
    11. Programming Abstractions Lecture 11

    11. Programming Abstractions Lecture 11

    Julie continues with recursive backtracking and introduces pointers and recursive data. Following, she focuses on solving the problems rather than the exact code and later uses the example of a program that will solve a Sudoku puzzle.

    • 2 sec
    • video
    12. Programming Abstractions Lecture 12

    12. Programming Abstractions Lecture 12

    Julie continues to go over pointers and moves on to recursive data and linked lists. She explains the basics of pointers with two variables pointing to the same address.

    • 2 sec
    • video
    13. Programming Abstractions Lecture 13

    13. Programming Abstractions Lecture 13

    Julie introduces linked lists and continues to discuss recursive data. She goes line by line through an example code she writes during the lecture. She then inserts variables in an order; she uses the example of an address book to explain this.

    • 3 sec
    • video
    14. Programming Abstractions Lecture 14

    14. Programming Abstractions Lecture 14

    Julie starts off with algorithm analysis, the big-O notation and introduces sorting. She begins off with a brief overview of what algorithm analysis is and how to utilize it. Later, she continues to go through recursive algorithms and their uses.

    • 2 sec

Top Podcasts In @@categoryName@@

The Future of Everything
Stanford Engineering
Machine Learning
Andrew Ng
Developing Apps for iOS (HD)
Paul Hegarty
Mathematics: Making the Invisible Visible
Stanford Continuing Studies
Department of Computer Science
Stanford University
How to Think Like a Psychologist
Stanford Continuing Studies Program