Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kientech/data-structures-and-algorithms-specialization

Data Structures and Algorithms Specialization
https://github.com/kientech/data-structures-and-algorithms-specialization

algorithms c cplusplus data-structures python

Last synced: about 1 month ago
JSON representation

Data Structures and Algorithms Specialization

Awesome Lists containing this project

README

        

# Data Structures and Algorithms Specialization

## πŸ“„ Summary
Computer science legend Donald Knuth once said β€œI don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it. However, many excellent books and online courses on algorithms, that excel in introducing algorithmic ideas, have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill that you have to master at your next job interview. We tried to fill this gap by forming a diverse team of instructors that includes world-leading experts in theoretical and applied algorithms at UCSD (Daniel Kane, Alexander Kulikov, and Pavel Pevzner) and a former software engineer at Google (Neil Rhodes). This unique combination of skills makes this Specialization different from other excellent MOOCs on algorithms that are all developed by theoretical computer scientists. While these MOOCs focus on theory, our Specialization is a mix of algorithmic theory/practice/applications with software engineering. You will learn algorithms by implementing nearly 100 coding problems in a programming language of your choice. To the best of knowledge, no other online course in Algorithms comes close to offering you a wealth of programming challenges (and puzzles!) that you may face at your next job interview. We invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs.

## πŸ“‘ Main Topics
- Play with 50 algorithmic puzzles on your smartphone to develop your algorithmic intuition! Apply algorithmic techniques (greedy algorithms, binary search, dynamic programming, etc.) and data structures (stacks, queues, trees, graphs, etc.) to solve 100 programming challenges that often appear at interviews at high-tech companies. Get an instant feedback on whether your solution is correct..
- Apply the newly learned algorithms to solve real-world challenges: navigating in a Big Network or assembling a genome of a deadly pathogen from millions of short substrings of its DNA..
- Learn exactly the same material as undergraduate students in β€œAlgorithms 101” at top universities and more! We are excited that students from various parts of the world are now studying our online materials in the Algorithms 101 classes at their universities. Here is a quote from the website of Professor Sauleh Eetemadi from Iran University of Science and Technology: β€œAfter examining syllabus and course material from top universities including Stanford, Princeton and MIT we have chosen to follow the Data Structures and Algorithms Specialization from UCSD...due to excellent course material and its practical approach.”.
- If you decide to venture beyond Algorithms 101, try to solve more complex programming challenges (flows in networks, linear programming, streaming algorithms, etc.) and complete an equivalent of a graduate course in algorithms!.

## πŸ”‘ Key Skills Learned
- Debugging.
- Software Testing.
- Algorithms.
- Data Structure.
- Computer Programming.
- Dynamic Programming.
- Binary Search Tree.
- Priority Queue.
- Hash Table.
- Stack (Abstract Data Type).
- List.
- Graph Theory.

## πŸ† Certificates
To verify the certificates, click the images to follow the links.


Completing...