Skip to content

gdiphilly/intro-to-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro to Algorithms

Slides and materials are hosted at http://gdiphilly.github.io/intro-to-algorithms/.

Course description

How do you tie your shoes? How do you make egg salad? How do you walk from your house to the closest Wawa? You could answer each of these questions with an algorithm, that is, with a step-by-step list of instructions about how to accomplish the task. Algorithms are the backbone of computer programming. For any task you want a computer to do, there is a sequence of instructions that you want it to execute to accomplish that task.

A class on algorithms is a fundamental part of a computer science education because it teaches you how to take a new problem and break it down into parts that you can solve. Technical interviews will often contain questions that are based off of well-known algorithms.

In this class: We'll walk through a few examples of popular computer science algorithms. We'll also talk about how to analyze runtime, which can help you improve the performance of your project. You won't need a laptop for this class, but you're welcome to bring one if you'll feel lonely without it.

Course length: Five hours (spread across two nights)

Prerequisites:

You should have a very basic familiarity with programming concepts like variables and looping over a list of objects. Understanding algorithms is knowledge that transcends any one particular programming language, which means that you will be able to apply what you learn to the language of your choice.

Want to refresh yourself on a couple pre-requisite concepts? It'll be very helpful if you know what variables and loops are. I found a couple of wiki pages that do a pretty good job of explaining the concepts, if you'd like a refresher: [https://en.wikiversity.org/wiki/Introduction_to_Programming/Variables] (https://en.wikiversity.org/wiki/Introduction_to_Programming/Variables) and https://en.wikiversity.org/wiki/Programming_Logic/Looping

Tech requirements:

A laptop is not necessary unless you'd like to use it to follow along with the slides being projected.

Topics covered:

  • What is an algorithm?
  • How to solve a problem with an algorithm, including:
    • Stating a problem formally
    • Solving the problem and expressing with pseudocode
    • Proving correctness
    • Analyzing runtime
  • Introduction to Graph Theory
  • Introduction to Sorting
  • Introduction to Recursion
  • Introduction to Greedy algorithms

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published