CS & Programming · Level 4

4.1 Algorithms and Data Structures

The fundamental toolkit for the aspiring computer scientist or programmer.

What are Data Structures?

Allocating Memory

Records in Memory

Pointers to Pointers

Linked Lists

Timing Programs with a Stopwatch

Counting Operations

Best, Worst, and Average Case

Comparing Algorithms

Understanding Big O

The Mathematics of Big O

Running Time

Course description

Storing and manipulating data is a fundamental part of computer science, and every programming language provides a few simple ways of doing it. Programmers are then free to use these building blocks to design and implement data structures, special-purpose tools for storing data in particular ways.

Topics covered

  • Data structures
  • Records (or structs)
  • Memory allocation
  • Memory aliasing
  • Pointers
  • Linked lists
  • Running time
  • Big-O notation
  • Best, worst, and average case analysis

Prerequisites and next steps

This course assumes understanding of the basics of algorithms, as well as familiarity with variables, loops, conditionals, and arrays.


  • Computer Science Fundamentals
  • Introduction to Algorithms

Up next

CS & Programming · Level 5

5.1 Introduction to Neural Networks

Delve into the inner machinery of neural networks to discover how these flexible learning tools actually work.

Jump ahead