Introduction
• Welcome to the Foundations of Computer Science!
• Python, why we're using it in this course
• Scalar objects, the simple types
• The types of objects in Python
• On types
• Arithmetic operators
• Operator precedence
• Handling input and output
• Variables, using names instead of just values
• Comparisons
• Arithmetic Operators
• Calculate the sum of two numbers
Part 1 (Difficulty: Beginner)
• Introducing Strings
• Logic Operators
• Control Flow - If statement
• Selection
• 2.1- Square Root
• Control Flow - Loops (while, for)
• Control Flow - Break
• Control Flow - While vs For
• Repetition
• 2.2 - Odd elements
• 2.3 – Square of an Integer
• 2.5 - Cubic Root
• 2.4 - Perfect Number
• Strings slicing and encoding
• Variable scope and functions
• Strings in depth
• Introducing functions
• Functions and recursion
• Find sum recursively
• Count digits recursively
• Reverse a number
• 2.1 - Palindrome Strings
• 2.4 - Coprimes
• Data structures introduction
• Lists (part 1)
• Tuples
• Lists (part 2) - Aliases and Sorting
• Dictionaries
• 3.4 - Boiling Point
• 3.2 - List Jumps
• 3.1 - Sieve of Eratosthenes
• 3.5 - Cycles
Part 2 (Difficulty: Beginner-Intermediate)
• Exponential and Logarithmic Function Review
• Algorithmic Complexity Rationale
• Big O Notation (Part 1)
• Big O Notation (Part 2) - Quadratic Complexity Example
• 4.2 - Permuted Strings
• 4.4 - Euclidean Distance
• 2.3 - Wolves and Deer
• 1.4 - Spiral Index
• Bisection Search
• Sorting Algorithms Intro
• Bubble Sort
• Selection Sort
• 5.2 - Permutation Cycle Length
• 5.4 - Matrix Search
• 5.3 - Fair Partition
Part 3 (Difficulty: Intermediate)
• Introduction to Classes
• Stack
• Queue
• Priority Queue
• 6.1 - List Mode
• 6.2 - Filtering Linked List
• 6.3 - Well Formed String
• 6.4 - Linked List Equality
• 6.5 - Lowest-K Elements
• 6.6 - Merging Linked Lists
• Hash Table
• Trees
• Binary Search Tree (BST)
• 7.1 - BST Descending Order Traversal
• 7.2 - BST Element Filtering
• 7.3 - Reverse BST in Place
• 7.4 - BST Levels
• 7.5 - Balanced BST
• Graphs
• Depth First Search (DFS)