Reviewing Data Structures and Algorithms

In the past I've worked with a number of people who are solid programmers but do not have a traditional computer science background. With no exposure to data structures and algorithms, sub-optimal decisions can be made.

To help with this, I've taken to having 1-on-1 sessions to review the fundamentals of data structures and algorithms. After doing this a few times I put together some slides to help guide the sessions, which can be seen here:

Algorithms by Jonathan Scott on Scribd

These are not intended for self-study - and there isn't enough depth to them to work without someone experienced to work through them. They are intended to guide a session with an experienced computer scientist and someone with programming experience without a computer science background.

They cover:

  • Big O
  • Linear Search
  • Binary Search
  • Selection Sort
  • Insertion Sort
  • Bubble Sort
  • Merge Sort
  • Quick Sort
  • Counting Sort
  • Arrays
  • Lists(Single/Double)
  • Stacks
  • Queues
  • Trees
  • Binary Search Trees
  • Hash Tables
  • Sets
  • Graphs
  • Heaps

None of these topics are dealt with in enough depth to make someone an expert, but it's intended to give an overview of relevant topics so that more detail can be explored in the learner's own time.

I chose these topics as I feel they give a good overview of the fundamentals. I'd be interested to hear of others' experiences teaching this material and anything important you think I've missed or incorrectly explained.

Show Comments

Get the latest posts delivered right to your inbox.