Mooc AtlasUniversity-level self-study
Computer Science
Computer Science · Year 2 · Programming and algorithms

S4 Data structures and algorithms

Choose and implement the right data structures, then design and analyse efficient algorithms.

211hours of coursework
22weeks at 10 h
2steps
9new courses
2universities

Target skills

  • Advanced object-oriented programming in Java
  • Lists, trees, hash tables, graphs and their performance
  • Divide and conquer, sorting, search and randomised algorithms
  • Graph traversal, shortest paths, greedy algorithms
  • Dynamic programming and NP-completeness

Semester project

The UCSD capstone (social network analysis in Java), then a benchmark comparing five sorting and shortest-path algorithms.

Courses this semester

  1. 1
    University of California San DiegoIntermediateJava
    Show the 5 courses
    CourseLevelLengthRating (reviews)
    Object Oriented Programming in JavaIntermediate40 h4.7 (5,806)
    Data Structures and PerformanceIntermediate42 h4.8 (2,251)
    Advanced Data Structures in JavaIntermediate30 h4.8 (1,243)
    Mastering the Software Engineering InterviewIntermediate22 h4.6 (555)
    Capstone: Analyzing (Social) Network DataBeginner20 h4.7 (101)
  2. 2
    Stanford University (Stanford Online)IntermediateC, Java, Python

    Stated prerequisites: Programming in at least one language (C, Java or Python); familiarity with proofs (induction, contradiction); discrete probability

    Show the 4 courses

Reading

Things to watch

  • Stanford Algorithms assumes you can read proofs: S2 prepares for it.
  • For intensive interview practice, see the Data Structures and Algorithms option (UCSD).

With Coursera Plus

This semester takes 211 hours, about 5 months at 10 hours a week. A Coursera Plus subscription gives access to most of its courses during that time.

Discover Coursera Plus