Mindket

Coding Interview University

Newversion 2 · updated
Star364k

Overview

jwasham’s multi-month study plan for becoming a software engineer, written as one long README of videos, lectures and things to implement. Setup notes cover a ZIP, a fork with Git, finding your place, choosing a language and using Claude Code, Codex or Cursor as a tutor.

Coding Interview University is an open-source project on GitHub in the Education category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.

At a glance

Runs in
  • GitHub: the README, with a table of contents that links to each section
  • A ZIP download: unzip it and open the text files in an editor that shows Markdown
  • A fork on GitHub: clone it with Git, tick the boxes and commit your progress
  • Translations: the README links translated copies, among them Simplified Chinese, Japanese, Spanish and Brazilian Portuguese
Start with
git clone https://github.com/<YOUR_GITHUB_USERNAME>/coding-interview-university.git
cd coding-interview-university
git remote add upstream https://github.com/jwasham/coding-interview-university.git

Platform

Any coding agentCoding agent
Claude CodeCoding agent
CodexCoding agent
CursorCode editor

About

What it is

Coding Interview University is a multi-month study plan for becoming a software engineer at a large company. Its owner, jwasham, writes that it began as a short to-do list of study topics and grew into the long README you see today. It is a README, not a program. You read it from the top and tick off items as you go. Each topic lists videos, lectures and articles, then things to implement yourself, such as a vector, a linked list or a hash table. The README asks for a little coding experience, patience and time.

  1. Pick a language for the plan
  2. Watch the videos for the next topic
  3. Implement the data structure or algorithm yourself
  4. Do two or three interview questions on it
  5. Move on to the next topic

Who it suits

People who want about 75% of what a university computer science program teaches, which the README says is enough for an interview. The plan lays it out in an order, with lectures and videos to learn from. The owner missed out on a computer science degree, and the README says this plan will catch you up. For a complete self-taught computer science program, the README points to roadmap.sh/computer-science. It is a plan for software engineering, not for front-end or full-stack work, and the README sends you to roadmap.sh for those paths.

Who uses it, and how
WhoHow they use itExample
Self-taught developersFollow the outline from the top, one topic at a timeA developer starts with the Big-O videos, then implements a vector and a linked list, and ticks each item in a fork.
Career changersPair the study topics with the language notes and the interview sectionsSomeone moving from another trade picks Python, reads its book list, and saves the resume and interview sections for the end.
Computer science studentsUse it as a revision checklist beside a courseA student works through Sorting and Graphs while the course covers them, and fills gaps with the plan’s lectures.
Experienced engineersSkip to the part they needAn engineer with four or more years goes to System Design, which the README says to expect in interviews at that level.
Mentors and teachersAssign one section as a reading and a buildA mentor sets the Trees section and asks the learner to implement a binary search tree and its get_height function.

Skip it if you want front-end or full-stack training. The plan leaves out JavaScript, HTML, CSS and SQL.

Where to use it

The plan works anywhere you can open a web page or a Markdown file.

  • GitHub: the README, with a table of contents that links to each section
  • A ZIP download: unzip it and open the text files in an editor that shows Markdown
  • A fork on GitHub: clone it with Git, tick the boxes and commit your progress
  • Translations: the README links translated copies, among them Simplified Chinese, Japanese, Spanish and Brazilian Portuguese
  • The practice repositories: the owner’s own C, C++ and Python code is in separate repositories that the README links

The README gives no steps for any coding agent. Mindket’s notes for Claude Code, Codex and Cursor are ordinary steps for giving an agent the file to read, and they say so.

How to set it up

Get it saves a zip of Mindket’s setup notes in your downloads folder. The plan itself needs no install, and the README gives no install line.

What you need first
NeedDetail
NothingTo read the plan on GitHub
An editor that shows MarkdownOptional, for a ZIP or a clone. The README says you can work with the text files, and an editor that understands Markdown shows everything formatted nicely
Git and a GitHub accountOnly for the fork route, which starts with GitHub’s Fork button
A programming languageYou choose one. The owner used C and Python, and the README names C++, Java and Python as solid choices for interviews
  1. Without Git, use Download ZIP. It is under the Code button near the top of the repository page, and you unzip the file.
  2. With Git, fork it and clone your fork. Click Fork on GitHub, then clone your fork with the first block below.
  3. Open README.md in a Markdown editor. An editor that shows Markdown formats it, and you start at the top.
  4. Tick each item you finish. Put an x in its brackets, like this: [x].

The commands below are copied from the README’s part for people who are comfortable with Git. Replace <YOUR_GITHUB_USERNAME>, angle brackets included, with your own GitHub name. The last line keeps you from pushing your progress to the original repository by mistake.

git clone https://github.com/<YOUR_GITHUB_USERNAME>/coding-interview-university.git
cd coding-interview-university
git remote add upstream https://github.com/jwasham/coding-interview-university.git
git remote set-url --push upstream DISABLE  # so that you don't push your personal progress back to the original repo

After you tick items, these three lines save your progress, pull in the owner’s later changes and push to your fork.

git commit -am "Marked personal progress"
git pull upstream main  # keep your fork up-to-date with changes from the original repo

git push # just pushes to your fork

How to use it

Work through the outline from top to bottom, as the README says. Read a section’s notes before you start, since they say how much to do. The Big-O section, for one, has nothing to implement. Then build what each data structure lists, in the language you chose.

The README’s advice is to start coding questions while you learn, not after. When you finish a topic such as linked lists, open one of the interview books, do two or three questions on it and move on. Come back later for two or three more.

Write your code on paper or a whiteboard first, as the README suggests, then type it and test it. With an agent, name the section and ask it to check your work, not to write it.

Here is my file vector.c. Check it against the "Implement a vector" list under Arrays in README.md. Tell me which functions are missing. Do not rewrite my code.

Example

You reach Arrays in the Data Structures section. The first item is a set of videos on arrays, and a later item asks you to implement a vector, a mutable array that resizes itself. The README lists the functions to write:

size()  capacity()  is_empty()  at(index)  push(item)
insert(index, item)  prepend(item)  pop()  delete(index)
remove(item)  find(item)  resize(new_capacity)

It also gives two resizing rules. Double the size when you reach capacity, and halve it when popping leaves the size at 1/4 of capacity. You write it in your language, check each function by hand, then do two or three array questions from an interview book before you start Linked Lists.

For newcomers and experts

If you are new. A data structure is a way of keeping data so a program can use it quickly, such as an array or a hash table. An algorithm is a method, such as sorting or searching. Big-O is how the plan asks you to describe how a method slows down as its input grows. You only need to express an algorithm’s complexity in Big-O terms, the README says, and need not follow all the math behind it. To start, you need a little experience with variables, loops and functions. Begin with the language choice, then the Big-O videos. The README also has a short section for the worry that you are not smart enough, with two videos.

For experts. The required part runs from Big-O through data structures, binary search, bit operations, trees, sorting and graphs to an Even More Knowledge section. That one covers recursion, dynamic programming, design patterns, combinatorics and probability, NP-completeness, how computers process a program, caches, processes and threads, testing, string searching, tries, floating point numbers, Unicode, endianness and networking. Final Review and the Getting the Job sections close it.

A marked line then starts the optional part, which the README says is not needed for an entry-level interview. It holds extra books, system design, further topics such as compilers, cryptography and garbage collection, a list of video series, courses and papers.

The owner’s own practice code is in separate repositories for C, C++ and Python, and the flashcard site is another. The repository also holds cheat-sheet PDFs under extras.

Good to know

The plan is only text, so nothing here runs on your computer. The questions are about what it links to.

  • License: CC-BY-SA-4.0. LICENSE.txt reads “Attribution-ShareAlike 4.0 International”. Every site, book, video and course the plan links to has its own owner and terms
  • Paid links: the README marks a Udemy course and a Udacity Nanodegree as paid, and AlgoMonster as a paid course with free content. It calls LeetCode worth the subscription for the one or two months you prepare. Some links carry tracking parameters such as utm_source=ciu
  • Effort: the owner says they studied 8 to 12 hours a day for several months, and that you will not need as much
  • Dead links: many links point to videos and course pages. The README warns that some videos need a Coursera or edX class that may not be in session. The maker’s workflow checks the links once a month, so one can be dead when you click
  • A missing section: the table of contents lists Find a Job, but on 3 November 2026 the page had no section with that name
  • Book links: the two Ruby book links on the language-resources page go to book4you.org, not to a publisher. Check that you may use a book before you download it
  • Flashcards: the owner says not to use their own flashcards, since there are too many and most are trivia
  • Outbound: the README’s four pictures are hosted at d3j2pkmjtin6ou.cloudfront.net, so a Markdown preview of a ZIP or clone loads them from there. git clone, pull and push talk to GitHub
  • Removal: delete the folder. A fork stays in your GitHub account until you delete it in its settings

README and files

README

Coding Interview University: setup notes

This kit holds setup notes only. Mindket wrote them. The study plan itself is the README of the jwasham/coding-interview-university repository: https://github.com/jwasham/coding-interview-university

These notes are not made or endorsed by jwasham. GitHub's description of the repository is "A complete computer science study plan to become a software engineer." The README says "This is my multi-month study plan for becoming a software engineer for a large company." The notes were written from the README, the language-resources page and the monthly link-check workflow, all read on 3 November 2026.

License: CC-BY-SA-4.0. GitHub's answer for the repository names it "Creative Commons Attribution Share Alike 4.0 International", and the README's LICENSE section links LICENSE.txt (https://github.com/jwasham/coding-interview-university/blob/main/LICENSE.txt), whose first line reads "Attribution-ShareAlike 4.0 International". Every site, book, video and course the plan links to has its own owner and terms. These notes quote only short lines from the README and name the page each came from.

What it is

A study plan, not a program. It is one long README that you read from the top and tick off as you go. Each topic lists videos, lectures and articles to learn from, then things to implement yourself. The README asks for "A little experience with coding (variables, loops, methods/functions, etc)", patience and time. Source: https://github.com/jwasham/coding-interview-university/blob/main/README.md

The README's parts, in its order:

| Part | Sections, as the README's table of contents names them |
|---|---|
| The Study Plan | What is it?, Why use it?, How to use it, Don't feel you aren't smart enough, A Note About Video Resources, Choose a Programming Language, Books for Data Structures and Algorithms, Interview Prep Books, Don't Make My Mistakes, What you Won't See Covered, The Daily Plan, Coding Question Practice, Coding Problems |
| Topics of Study | Algorithmic complexity / Big-O / Asymptotic analysis, Data Structures (arrays, linked lists, stack, queue, hash table), More Knowledge (binary search, bitwise operations), Trees, Sorting, Graphs, Even More Knowledge, Final Review |
| Getting the Job | Update Your Resume, Find a Job, Interview Process & General Interview Prep, Be thinking of for when the interview comes, Have questions for the interviewer, Once You've Got The Job |
| Optional Extra Topics & Resources | Additional Books; System Design, Scalability, Data Handling; Additional Learning; Additional Detail on Some Subjects; Video Series; Computer Science Courses; Papers |

A line in the README marks everything after "Once You've Got The Job" as optional: "Everything below this point is optional. It is NOT needed for an entry-level interview."

The repository also holds, besides README.md and LICENSE.txt:

  • programming-language-resources.md: learning links for C, C++, Python, Java, Go, HTML, CSS, JavaScript, Rust and Ruby
  • translations/: one README-<code>.md per language, 30 in all, including languages the README still lists as in progress, plus a how-to.md
  • extras/cheat sheets/: PDF cheat sheets for C, C++, the STL, Python, Java, Big-O, bits, Git and system design
  • .github/workflows/links_checker.yml: the maker's monthly link check

Source: the repository's file tree (https://api.github.com/repos/jwasham/coding-interview-university/git/trees/main?recursive=1) and the README.

The maker's link check

.github/workflows/links_checker.yml is a GitHub Actions workflow. It runs on the first day of every month (its schedule is 0 0 1 * *) and can be started by hand. It checks the links in README.md with the lychee action and skips the translation files. It accepts replies 200, 204 and 206, waits at most 20 seconds per link, and does not fail on a broken link. It then opens or updates a GitHub issue titled "Link checker report", labelled report and automated issue, and closes that issue when every link passes. Source: https://github.com/jwasham/coding-interview-university/blob/main/.github/workflows/links_checker.yml

A link can still be dead on the day you click it, since the check runs once a month.

What installs

Nothing. The plan is text. The README gives no install line, and it does not name a coding agent.

What you need first

  • To read the plan: a browser, or any program that opens a Markdown file. The README says an editor that understands Markdown shows everything formatted.
  • To work from a ZIP: nothing more. See setup/download-zip.md.
  • To track progress in a fork: Git and a GitHub account. See setup/fork-with-git.md.
  • To do the implementation exercises: a programming language you choose. The README's own pick was C and Python. See setup/languages-and-practice.md.

Per-platform notes

  • setup/download-zip.md: the README's "If you don't want to use git" route
  • setup/fork-with-git.md: the README's "If you're comfortable with git" route, with every command
  • setup/read-and-search.md: how the README is laid out, how to find a section, and the translations
  • setup/languages-and-practice.md: choosing a language, the language-resources page, the owner's practice repositories and flashcards
  • setup/ai-agents.md: using Claude Code, Codex, Cursor or another agent as a tutor (Mindket's notes, since the maker documents no agent)

Update or remove

A ZIP is a snapshot: download a new one to get later changes, and copy your ticked README.md aside first. A fork is updated with the README's own line, git pull upstream main. To remove either, delete the folder. A fork also lives in your GitHub account, and GitHub's repository settings are where you delete it (Mindket's note, ordinary GitHub).

Outbound connections

  • The README's four pictures are hosted at d3j2pkmjtin6ou.cloudfront.net, so a Markdown preview of a ZIP or clone loads them from there.
  • The README's links go to many other sites, among them Coursera, YouTube, archive.org and Amazon. Some links carry tracking parameters, for example utm_source=ciu on the Meetapro, Hello Interview and Codemia links and utm_campaign=jwasham on the AlgoMonster link.
  • git clone, git pull and git push talk to GitHub. The plan itself runs nothing on your computer.
  • The maker's link-check workflow runs on GitHub's servers, not on your computer.

Sources

Files
README.md  7 KB
setup/ai-agents.md  3 KB
setup/download-zip.md  2 KB
setup/fork-with-git.md  2 KB
setup/languages-and-practice.md  4 KB
setup/read-and-search.md  4 KB

6 files, 22 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Compare with similar

Listed GitHub projects in the same category that share the most topics with this one.

ProductStarsLicense
Coding Interview University This page364,052CC-BY-SA-4.0
System Design 101Shares coding-interviews · computer-science · software-engineering91,048—
Hello AlgoShares algorithms · data-structures · algorithm131,980—
The Algorithms PythonShares algorithm · interview225,927MIT
Numbers as Mindket last read them, on 2026-11-07.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

casem921Ask HN: What are your most recommended GitHub repos to learn from?My background is mostly frontend development and I'm always looking to learn more about C.S. fundamentals and how JavaScript libraries can be used for full-scale app development. I find myself checking out the following from time to time: https://github.com/gothinkster/realworld…6 points · 1 replyGitHub Trending🎉 Celebrating! 🎉 (500+ new stars) 📦 jwasham / coding-interview-university ⭐ 344,175 (+717) A complete computer science study plan to become a software engineer.2 likes · 1 reply@wanerfu$7ar/letscodecommunity10 GitHub repositories every developer should know for DSAbta12Ask HN: Switch from Technology Analyst to Software EngineeringI have an undergraduate degree in computer science but I have never had a software engineering job. I worked for a year as a BA and then went ahead and did my master's in information systems. I have now been working as a Technology Analyst at a decent sized firm where I basically do all BA stuff,…2 points · 2 repliesGitHub Trending🚀 Skyrocketing! 🚀 (200+ new stars) 📦 jwasham / coding-interview-university ⭐ 348,900 (+459) A complete computer science study plan to become a software engineer.1 like · 1 reply@systemdesignone3 Tech Interview Handbook Coding &amp; technical interviews prep guide. https://t.co/zO0eH0SZHRcasem921Ask HN: What are your most recommended GitHub repos to learn from?My background is mostly frontend development and I'm always looking to learn more about C.S. fundamentals and how JS libraries can be practically used for app development. I find myself checking out the following from time to time: https://github.com/gothinkster/realworld…1 pointGitHub Trending8. https://github.com/trycua/cua - HTML, 57 stars today 9. https://github.com/jwasham/coding-interview-university - 352 stars today 10. https://github.com/rohitg00/ai-engineering-from-scratch - Python, 538 stars today 11. https://github.com/music-assistant/server - Python, 226 stars today 12 […]1 like@Shefali__JBuild your own X You can check out this repository to master programming by recreating your favorite technologies from scratch. https://t.co/ddTOHCtBKGfandawg195Ask HN: Most useful GitHub repos to learn from or to use as reference?I'm always looking to expand my knowledge of CS fundamentals, JavaScript and best software engineering practices. I have several Github repos bookmarked that I find super useful and have learned a ton from... online CS courses: https://github.com/prakhar1989/awesome-courses frontend related case…1 pointGitHub Trending🎉 Celebrating! 🎉 (500+ new stars) 📦 jwasham / coding-interview-university ⭐ 352,057 (+516) A complete computer science study plan to become a software engineer.1 reply

Searched

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar projects

See all in Education

Hello Algo

krahets · Kit

krahets’s free, open source book on data structures and algorithms, with animated illustrations and code you can run with one click. It has English, Chinese, J…

New132k

System Design 101

ByteByteGoHq · Kit

ByteByteGo’s visual guides that explain how software systems work, kept as a table of contents on GitHub with each guide on its website. Setup notes cover read…

New91k

The Algorithms Python

TheAlgorithms · Kit

TheAlgorithms’ open source collection of algorithms and data structures, each written in Python for learning. Setup notes cover reading it on GitHub or its doc…

New226k