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…

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.
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
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.
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 | How they use it | Example |
|---|---|---|
| Self-taught developers | Follow the outline from the top, one topic at a time | A developer starts with the Big-O videos, then implements a vector and a linked list, and ticks each item in a fork. |
| Career changers | Pair the study topics with the language notes and the interview sections | Someone moving from another trade picks Python, reads its book list, and saves the resume and interview sections for the end. |
| Computer science students | Use it as a revision checklist beside a course | A student works through Sorting and Graphs while the course covers them, and fills gaps with the plan’s lectures. |
| Experienced engineers | Skip to the part they need | An engineer with four or more years goes to System Design, which the README says to expect in interviews at that level. |
| Mentors and teachers | Assign one section as a reading and a build | A 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.
The plan works anywhere you can open a web page or a Markdown file.
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.
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.
| Need | Detail |
|---|---|
| Nothing | To read the plan on GitHub |
| An editor that shows Markdown | Optional, 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 account | Only for the fork route, which starts with GitHub’s Fork button |
| A programming language | You choose one. The owner used C and Python, and the README names C++, Java and Python as solid choices for interviews |
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
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.
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.
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.
The plan is only text, so nothing here runs on your computer. The questions are about what it links to.
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.
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 Rubytranslations/: one README-<code>.md per language, 30 in all, including languages the README still lists as in progress, plus a how-to.mdextras/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 checkSource: the repository's file tree (https://api.github.com/repos/jwasham/coding-interview-university/git/trees/main?recursive=1) and the README.
.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.
Nothing. The plan is text. The README gives no install line, and it does not name a coding agent.
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).
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.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
Updated by Mindket to the current version of this kit.
Listed GitHub projects in the same category that share the most topics with this one.
| Product | Stars | License |
|---|---|---|
| Coding Interview University This page | 364,052 | CC-BY-SA-4.0 |
| System Design 101Shares coding-interviews · computer-science · software-engineering | 91,048 | — |
| Hello AlgoShares algorithms · data-structures · algorithm | 131,980 | — |
| The Algorithms PythonShares algorithm · interview | 225,927 | MIT |
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.
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…
Qwen · Kit
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…
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…
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…
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…
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…