Computer ScienceDiscover Coursera Plus
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
- 1University of California San DiegoIntermediateJava
Show the 5 courses
Course Level Length Rating (reviews) Object Oriented Programming in Java Intermediate 40 h 4.7 (5,806) Data Structures and Performance Intermediate 42 h 4.8 (2,251) Advanced Data Structures in Java Intermediate 30 h 4.8 (1,243) Mastering the Software Engineering Interview Intermediate 22 h 4.6 (555) Capstone: Analyzing (Social) Network Data Beginner 20 h 4.7 (101) - 2Stanford 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
Course Level Length Rating (reviews) Divide and Conquer, Sorting and Searching, and Randomized Algorithms Intermediate 15 h 4.8 (5,342) Graph Search, Shortest Paths, and Data Structures Intermediate 14 h 4.8 (2,002) Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming Intermediate 15 h 4.8 (1,279) Shortest Paths Revisited, NP-Complete Problems and What To Do About Them Intermediate 13 h 4.8 (832)
Reading
Open Data StructuresPat MorinData structures with their code in Java.Free, CC BY 2.5
AlgorithmsJeff EricksonAlongside Stanford Algorithms: recursion, dynamic programming, graphs.Free, CC BY 4.0
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.