Computer Science 101: Master the Theory Behind Programming

Kurt Anderson, Computer Scientist, Multi-Media Designer

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
54 Lessons (7h 16m)
    • 1. Binary Number Overview

      11:51
    • 2. Binary to Deca and Back

      9:16
    • 3. Time Complexity Introduction

      2:12
    • 4. Math Refresher: Logarithmic Functions

      11:07
    • 5. Math Refresher: Factorial Functions

      3:19
    • 6. Math Refresher: Algebraic Expressions

      2:47
    • 7. N-notation

      18:55
    • 8. Big O Notation

      12:58
    • 9. Real World Big-O Example

      9:51
    • 10. How is Data Stored

      8:38
    • 11. Fixed Array Introduction

      5:09
    • 12. Fixed Array Run Times

      12:23
    • 13. Binary Search Algorithm (Fixed Array Sorted Search)

      9:59
    • 14. Circular Arrays

      8:00
    • 15. Dynamic Arrays

      15:51
    • 16. Array Review

      7:57
    • 17. Array Real World Examples

      5:42
    • 18. Nodes

      4:19
    • 19. Linked List

      13:36
    • 20. Linked List Run Times

      14:59
    • 21. Doubly Linked Lists

      8:07
    • 22. Tail Pointer

      5:14
    • 23. Linked List Review

      3:31
    • 24. Linked List Real World Examples

      3:00
    • 25. Stacks

      9:41
    • 26. Stack Example

      11:05
    • 27. Queues

      8:48
    • 28. Queue Examples

      9:42
    • 29. Queue and Stack Run Times

      6:03
    • 30. Stack and Queues Real World Examples

      7:01
    • 31. Sorting Algorithm Introdcution

      1:40
    • 32. Bubble Sort

      10:12
    • 33. Selection Sort

      9:49
    • 34. Insertion Sort

      9:03
    • 35. Quick Sort

      14:38
    • 36. Quick Sort Run Times

      10:31
    • 37. Merge Sort

      11:57
    • 38. Merge Sort Run Times

      7:39
    • 39. Stable vs Nonstable

      6:34
    • 40. Sorting Algorithm Real World Examples

      4:01
    • 41. Basics of Trees

      7:37
    • 42. Binary Search Tree

      8:34
    • 43. BST Run Times

      7:36
    • 44. Tree Traversals

      13:04
    • 45. Tree Real World Examples

      4:29
    • 46. Heap Introduction

      4:07
    • 47. Heap Insertion Sort

      11:34
    • 48. Heap Real World Examples

      6:58
    • 49. Introduction to Graphs

      3:17
    • 50. Basic Types of Graphs

      10:28
    • 51. Graph Terminology

      11:40
    • 52. Depth First Search

      6:36
    • 53. Breadth First Search

      6:22
    • 54. BFS and DFS Run Times

      3:12
72 students are watching this class

Project Description

By the end you will be able to answer these questions! 

A program runs at 1 second per n. How much longer will a program that runs in n^3 take than a program that runs in n^2 if n = 25. (Hint: Answer = Larger n - Smaller n)

a. 16,900 seconds or 281 minutes

b.  15,000 seconds or 250 minutes

c. 13,248 seconds or 220 minutes

--------------------------------------------------------------------

Which program is overall faster? 

Program A: 

Load: O(n)

Operate: O(n)

Output: O(n)

Program B: 

Load: O(1)

Operate: O(1)

Output: O(n^2)

a. Program A

b. Program B

c. They are the same

--------------------------------------------------------------------

Which Greek letter is most important for comparing algorithms? 

a. O(n)

b. o(n)

c. Ω(n)

d. Θ(n)

e. ω(n)