explaingit

jwasham/computer-science-flash-cards

9,034HTMLAudience · developerComplexity · 2/5Setup · easy

TLDR

A self-hosted browser flash card website for studying computer science topics, from algorithms and data structures to design patterns, with a 1,700-card extreme set and Anki export support included.

Mindmap

mindmap
  root((CS Flash Cards))
    What it does
      Self-hosted quiz site
      Flip card interface
      Login protected
    Topics
      Data structures
      Algorithms
      Design patterns
    Card Sets
      Moderate set
      Extreme 1700 cards
    Tech Stack
      Python Flask
      SQLite
    Export
      CSV export script
      Anki compatible
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Host your own flash card study site locally to quiz yourself on data structures, algorithms, and CS vocabulary using a flip-card interface

USE CASE 2

Import the included 1,700-card extreme set into Anki for offline spaced-repetition study on any device

USE CASE 3

Create your own custom flash card set covering topics you are actively learning, organized by category

USE CASE 4

Export any card set to CSV using the included script and import it into any flash card app that accepts CSV files

Tech stack

PythonFlaskSQLiteHTML

Getting it running

Difficulty · easy Time to first run · 30min

Requires Python and Flask installed locally, runs on your own machine with no cloud account or external services needed.

In plain English

This is a small personal website built to help someone study computer science topics using digital flash cards. The site lets you create flash cards, organize them, and quiz yourself in a flip-card style, showing the question on one side and the answer on the other. It covers two broad categories: general computer science knowledge like vocabulary, design patterns, and memory concepts, and practical coding topics like data structures, algorithms, and bitwise operations. The site runs in a browser and works on desktop, phone, and tablet. It is built with Python, a web framework called Flask, and SQLite, which is a simple type of database that stores data in a single file. You run it yourself on a server or on your own computer, log in with a username and password you set, and then manage your own set of cards. The repository includes two sample card sets as database files. One is a moderate set built by the author. The other, labeled extreme, contains over 1,700 cards covering a very wide range of topics including machine learning, assembly language, and obscure programming trivia. The author recommends making your own set rather than using these, since memorizing 1,700 cards is impractical for most people. If you do not want to run a server, a community-contributed script lets you convert the included card sets to CSV format for import into Anki, which is a popular standalone flash card application. There are also pre-built Anki card sets available made from this project's content, linked from the README.

Copy-paste prompts

Prompt 1
Help me set up the computer-science-flash-cards Flask app on my local machine, including creating a login user and loading the included card database.
Prompt 2
I'm preparing for coding interviews. Which categories in the computer-science-flash-cards project cover data structures and algorithms, and how do I limit my study session to those?
Prompt 3
Show me how to export the computer-science-flash-cards SQLite database to a CSV file and import it into Anki for mobile study.
Prompt 4
Help me add 20 new flash cards about binary trees to my local computer-science-flash-cards instance using the web interface.
Open on GitHub → Explain another repo

← jwasham on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.