This module discusses the rules of template implementation in C++, including:
Students will gain insights into effective template design and implementation strategies.
This module introduces the Introduction to Computer Science series at Stanford, discussing the philosophy behind the courses, the benefits of taking CS106B, and the logistical aspects of the course. Students will be introduced to C++ and its fundamental principles.
This module discusses the similarities between C++ and Java in terms of syntax, variable types, and control structures. It includes:
This module introduces C++ standard libraries, including:
Live coding examples demonstrate string manipulation and library usage.
This module focuses on C++ console and file input/output operations. Topics include:
Students will learn how to manage data input and output effectively in their programs.
This module explores client use of templates in C++. Key topics include:
Students will gain insights into how templates enhance code reusability and safety.
This module continues the discussion on data containers in C++. It covers:
Students learn about various container classes and their practical applications.
This module discusses the concept of treating functions as data. Key topics include:
Students will engage in live coding examples to solidify their understanding of these concepts.
This module addresses common mistakes encountered in programming, particularly in recursion. Topics include:
Students will learn to identify and avoid these common programming errors.
Students will learn to think recursively in this module, covering:
Live demos will illustrate the principles discussed in the module.
This module revisits permutation code, focusing on:
Students will learn how to apply these techniques in practical coding scenarios.
This module introduces backtracking pseudocode, emphasizing:
Students will engage in practical examples to understand backtracking concepts effectively.
This module focuses on pointer operations in C++. Key aspects include:
Students will gain a comprehensive understanding of pointers and their applications in programming.
This module dives into coding with linked lists, discussing:
Students will engage in practical coding exercises to strengthen their skills with linked lists.
This module covers sorting algorithms, including:
Students will learn how to analyze and compare various sorting techniques.
This module focuses on the partitioning strategy for Quick Sort, discussing:
Students will engage in live demos to understand the implications of different input scenarios.
This module explores the implementation of sort templates with callbacks, focusing on:
Students will learn about internal vs external representation and how to maintain object consistency.
This module introduces Abstract Data Types (ADTs) and their importance in programming. Key topics include:
Students will learn to design and implement their own abstract data types.
This module discusses the rules of template implementation in C++, including:
Students will gain insights into effective template design and implementation strategies.
This module is a recap of vector-based implementation for stacks, discussing:
Students will engage in live coding to compare different implementations.
This module compares buffer implementations using vectors and stacks, focusing on:
Students will learn to evaluate the efficiency of different buffer strategies.
This module discusses the implementation of maps as vectors, introducing:
Students will engage in practical coding to implement and evaluate maps as trees.
This module presents a Pathfinder demo, exploring:
Students will learn to implement and analyze graph algorithms in C++.
This module compares different map implementations, focusing on:
Students will engage in live demos to solidify their understanding of hashing in programming.
This module features a Lexicon case study, highlighting:
Students will analyze and implement efficient lexicon data structures.
This module concludes with a final showdown, discussing:
Students will reflect on their learning journey and prepare for future programming challenges.
This module features a guest lecture by Keith Schwarz, covering:
Students will gain insights into C++'s evolution and its practical applications in programming.