Code Rust? My Curated list to renew the coding mojo.

Deepak Chandramouli
Bootcamp
Published in
3 min readApr 28, 2022

--

Photo by Markus Spiske on Unsplash

Prelude

My motivation behind this post is to have a quick lookup anytime I feel code-rust. As I turn my rough work into a blog, I’m structuring this into incremental sections — Data Structures, Algorithms, Object oriented design, Software Design patterns, Concurrency.

TLDR / No time for basics? Jump straight to https://neetcode.io/ if you are interviewing.

Data Structures

Image Source: dev.to

Incrementally revisit these based on least recent usage at work

  • Fundamentals — Array | Linked List | Doubly Linked List | Stack | Queue | Hash Map | Heap | Binary Tree | Graph | Bit Operations
  • Review couple of stable sort algorithms — classic example : MergeSort
  • Recursion | Dynamic programming | Graph Algorithms
  • Review Time & Space Complexity in all the reviews.

Good resources to start

Additional resource to strengthen the foundation

These are paid resources. Most of the concepts are covered in above mentioned resources.

Algorithms

Image Source : Unknown

A good starting point after familiarizing Data Structures

Composite implementations

Practicing concrete implementations of practical structures help bend the mind. Implementing these requires foundational knowledge on basic above data structures and algorithms listed earlier.

Software Design patterns

Image Source: refactoring.guru

What we’ve seen thus far are fundamentals. Moving on, these are the most useful constructs for designing software libraries and systems.

Unfortunately, I do not see any free resources that are tuned for practical applications.

Software design pattern

What pattern would you use to create a logging library, an experimentation SDK or a Data API?

Object oriented design

If you are building a system — where would you start? what kind of approach can we take towards designing the system; taking it from abstract to concrete?

Happy Coding !

Image source: dev.to

--

--