Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt

The Self-Taught Computer Scientist: The Beginner’s Guide to Data Structures & Algorithms

Enhance your programming skills with The Self-Taught Computer Scientist: The Beginner’s Guide to Data Structures & Algorithms course. Master computer science, data structures, and algorithms to solve complex problems and propel your career to new heights. Start a transformative learning journey with real-life examples that yield tangible outcomes. It contains interactive lessons, quizzes, and hands-on labs to build and iterate on your code like a software developer.

Submit form to obtain discount

Test Prep
52+ Pre Assessment Questions | 52+ Post Assessment Questions |
Features

Why choose TOPTALENT?

Outline

Lessons 1:
Introduction

  • What You Will Learn
  • Who Is This Course For?
  • Self-Taught Success Stories
  • Getting Started
  • Sticking with It

Lessons 2:
What Is an Algorithm

  • Analyzing Algorithms
  • Constant Time
  • Logarithmic Time
  • Linear Time
  • Log-Linear Time
  • Quadratic Time
  • Cubic Time
  • Exponential Time
  • Best-Case vs. Worst-Case Complexity
  • Space Complexity
  • Why Is This Important?
  • Challenge

Lessons 3:
Recursion

  • When to Use Recursion
  • Challenge

Lessons 4:
Search Algorithms

  • Linear Search
  • When to Use a Linear Search
  • Binary Search
  • When to Use a Binary Search
  • Searching for Characters
  • Challenge

Lessons 5:
Sorting Algorithms

  • Bubble Sort
  • When to Use Bubble Sort
  • Insertion Sort
  • When to Use Insertion Sort
  • Merge Sort
  • When to Use Merge Sort
  • Sorting Algorithms in Python
  • Challenge

Lessons 6:
String Algorithms

  • Anagram Detection
  • Palindrome Detection
  • Last Digit
  • Caesar Cipher
  • Challenge

Lessons 7:
Math

  • Binary
  • Bitwise Operators
  • FizzBuzz
  • Greatest Common Factor
  • Euclid’s Algorithm
  • Primes
  • Challenge

Lessons 8:
Self-Taught Inspiration: Margaret Hamilton

Lessons 9:
What Is a Data Structure

  • Data Structure and its Types
  • Challenge

Lessons 10:
Arrays

  • Array Performance
  • Creating an Array
  • Moving Zeros
  • Combining Two Lists
  • Finding the Duplicates in a List
  • Finding the Intersection of Two Lists
  • Challenge

Lessons 11:
Linked Lists

  • Linked List Performance
  • Create a Linked List
  • Search a Linked List
  • Removing a Node from a Linked List
  • Finding a Linked List Cycle
  • Challenges

Lessons 12:
Stacks

  • When to Use Stacks
  • Creating a Stack
  • Using Stacks to Reverse Strings
  • Min Stack
  • Stacked Parentheses
  • Challenges

Lessons 13:
Queues

  • When to Use Queues
  • Creating a Queue
  • Python’s Built-In Queue Class
  • Create a Queue Using Two Stacks
  • Challenge

Lessons 14:
Hash Tables

  • When to Use Hash Tables
  • Characters in a String
  • Two Sum
  • Challenge

Lessons 15:
Binary Trees

  • When to Use Trees
  • Creating a Binary Tree
  • Breadth-First Tree Traversal
  • More Tree Traversals
  • Invert a Binary Tree
  • Challenges

Lessons 16:
Binary Heaps

  • When to Use Heaps
  • Creating a Heap
  • Connecting Ropes with Minimal Cost
  • Challenge

Lessons 17:
Graphs

  • When to Use Graphs
  • Creating a Graph
  • Dijkstra’s Algorithm
  • Challenge

Lessons 18:
Self-Taught Inspiration: Elon Musk

Lessons 19:
Next Steps

  • What’s Next?
  • Climbing the Freelance Ladder
  • How to Get an Interview
  • How to Prepare for a Technical Interview
  • Additional Resources
  • Final Thoughts