Giter Club home page Giter Club logo

cs-2-2's Introduction

CS 2.2 Advanced Recursion and Graphs

This course covers graph theory, data structures, algorithms, and analysis. Key concepts include recursion, greedy algorithms, memoization and dynamic programming. Students will build an original project whose underlying structure requires the use of graph structures and algorithms to solve real-world problems such as airplane routing, social networking, and board games.

Why you should know this:

Graphs can be used to model and solve a wide variety of problems, including systems of roads, airline flights from city to city, how the Internet is connected, or even the sequence of classes you must take to complete your degree here at Make School! Understanding graphs allows you to build models of these problems and use those models to find optimal or best case solutions.

Prerequisites:

Learning Outcomes

Students by the end of the course will be able to ...

  • Describe common graph algorithms.
  • Model and solve real world problems using graph algorithms.
  • Implement graph algorithms in code.
  • Develop algorithmic thinking skills to expand on common graph algorithms and improve problem solving approaches.

Schedule

NOTE: Due to the shorter summer sessions, for some class sessions you will see multiple topics covered. This is to ensure that we cover the same material that we normally would in non-summer terms.

Course Dates: Monday, July 8 โ€“ Wednesday, August 14, 2019 (6 weeks)

Class Times: Monday and Wednesday at 1:30โ€“3:20pm

Class Date Topics Assignments
1 Mon, July 8 No Class --
2 Wed, July 10 Introduction to Graph Theory Start Tutorial
3 Mon, July 15 Graph Properties & Modeling Challenge #1 - Midnight
4 Wed, July 17 Graph Traversals Quiz #1
5 Mon, July 22 Paths and Routing Challenge #2
6 Wed, July 24 Paths and Routing Part 2 Challenge #3
Quiz #2
7 Mon, July 29 Topological Sorting and Scheduling Tutorial Due
Project Proposal Due
8 Wed, July 31 Challege #4
Graph Coloring
Challenge #4
Quiz #3
9 Mon, Aug 5 Algorithm Classification Challenge #5
10 Wed, Aug 7 Advanced Modeling Challenge #6
Quiz #4
11 Mon, Aug 12 Final Presentations Project Due
Project Presentations
Optional quiz retake
12 Wed, Aug 14 No Class - Mock Interviews -

Class Assignments

Challenges

Tutorials

Projects

Evaluation

To pass this course you must meet the following requirements ( submit to course progress tracker

Resources

The following resources were used in developing this course and are a great place to start for learning more. These resources are used through the Attribution / Share Alike license.

A note on code:

Much of the code you will be implementing in this class is for standard algorithms and thus is readily available from many sources. By using these resources, we can focus on deepening our understanding of the algorithms themselves and on the process of solving real world problems with these algorithms. This means it may be likely that class members will have relatively similar algorithmic implementations, however, in keeping with the Academic Honesty Policy, you are expected to always give credit to code sources (online or classmates), write each line of code yourself with full understanding, add appropriate comments, and fully test your code.

Make School Course Policies

cs-2-2's People

Contributors

aespaldi avatar fchikwekwe avatar ibirnam avatar meredithcat avatar

Watchers

 avatar

cs-2-2's Issues

Challenge 1 Feedback

Challenge 1 Feedback: 10/20

Code based on Challenge 1 Rubric
Overall: Code is generally good, need to improve file reading and add more error handling.

  • Solution 4

    • sample 3 file has an edge to a vertex not in the vertex list - your code should either error on this or add the vertex in - yours does neither.
  • Documentation 3

    • Looks good - consider adding parameters and runtime to docstrings.
  • Code Organization 2

    • Need to separate file reading from graph creation - these should not be coupled.
  • Testing 1

    • A few tests but not error handling

Tests are Required

Hello, I was just checking your tutorial progress and wanted to note something regarding tests. If you decide to take this class for credit, please note this issue otherwise, feel free to close it.

  • You must write at least one unit test in order for your work to be considered for a grade. Furthermore, if you write only one test, you must score higher in another category on the rubric.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.