Algorithms & Data Structures


Course Details

This course has no current offerings.

About this Course

Algorithms and data structures are the essential frameworks for solving almost any computer engineering problem. You need a fundamental grasp of these tools to help you understand how computers and programming languages work and what makes a specific solution the optimal one. To choose the right approach to a particular problem and forge an effective solution, you need to understand the relative strengths and weaknesses of each of these tools.

In this course, you’ll examine, create, compare and test the major types of algorithms and data structures. We’ll cover how to optimize the skills you’ve already mastered and how to create more advanced tools as necessary. Learn to think like a computer scientist, and take an engineering approach to solving complex problems.

The course is programming language-agnostic, and the homework and labs can be in any language, such as Java, C# or Python.

You can take this course on its own or use it to prepare for one of these programs: 


Beginning programmers who want to deepen their knowledge, and those who want to take more advanced programming courses and pursue a career in software engineering.


  • Number base systems
  • Recursion
  • Sorting algorithms and Big O analysis
  • Techniques for using arrays  and dynamic arrays, lists and stacks and queues, and hash tables and binary trees


  • Build data structures from scratch
  • Create and implement algorithms from scratch
  • Practice common job interview problems