Data Structures and Algorithms

Data Structures and Algorithms (often referred to as DSA) is a huge principle in computer science fundamentals. Everyday in the course you will be given a new coding challenge and will be required to white board out the solution as well as implement a code solution with Visual Studio. For the prework, you only have to implement a solution, a white board is not required.


Complete the readings for Big O. Once completed, complete the 4 coding challenges. Each coding challenge will not only help you practice the C# language, it is also an opportunity to practice problem solving and approaching interview like challenges.

It is recommended that you complete the code/lab portion of the prework before starting the code challenges. This is because the code/lab portion of the prework contains links and technical resources to learn and understand the c# language.

Big O Notation

  1. Beginners Guide to Big O notation (~10 min)
  2. Computational Fairy Tales, Understanding Big O and the Wizards’ War (~20 min)
  3. PODCAST: S1: E6. A Friendly intro to Big O Notation (~34min)

Coding Challenges

Utilize what you learned in the Tutorials prework and apply them to coding challenges.

Coding Challenges here

Submitting Your Work

To submit your code challenges, create a new repository in your personal GitHub named Prework-CodeChallenges.

Within this repo, have the challenge sln, and project files. Please have each challenge as a separate method in the Program.cs file.


  1. Create a new GH repo
  2. Clone it to your local machine
  3. Create a new Visual Studio Console Application project
  4. Save the project into this new repository located on your local machine.
  5. Commit and push changes appropriately.
  6. Make a new branch for each challenge.
  7. Create a PR for each challenge back to master.