As an open-source project, jwasham/computer-science-flash-cards has picked up 9.2k stars on GitHub (HTML). Mini website for testing both general CS knowledge and enforce coding practice and common algorithm/data structure memorization.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This is a little website I've put together to allow me to easily make flash cards and quiz myself for memorization of:
General cs knowledge
vocabulary
definitions of processes
powers of 2
design patterns
Code
data structures
algorithms
solving problems
bitwise operations
Will be able to use it on:
desktop
mobile (phone and tablet)
It uses:
Python 3
Flask
SQLite
About the Site
Here's a brief rundown: https://startupnextdoor.com/flash-cards-site-complete/
Screenshots
UI for listing cards. From here you can add and edit cards.
The front of a General flash card.
The reverse (answer side) of a Code flash card.
Important Note
The set included in this project (cards-jwasham.db) is not my full set, and is way too big already.
Thanks for asking for my list of 1,792 cards. But it’s too much. I even printed them out. It’s 50 pages, front and back, in tiny text. It would take about 8 hours to just read them all.
My set includes a lot of obscure info from books I’ve read, Python trivia, machine learning knowledge, assembly language, etc.
I've added it to the project if you want it (cards-jwasham-extreme.db). You've been warned.
Please make your own set, and while you’re making them, only make cards for what you need to know. Otherwise, it gets out of hand.
How to convert to Anki or CSV
If you don't want to run a server, you can simply use Anki or a similar service/app. Use this script to convert from my sets (SQLite .db file), or yours, to CSV:
Edit the config.txt file. Change the secret key, username and password. The username and password will be the login
for your site. There is only one user - you.
Follow this long tutorial to get Flask running. It was way more work than it should be:
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04
wsgi.py is the entry point. It calls flash_cards.py
This is my systemd file /etc/systemd/system/flash_cards.service: view
you can see the paths where I installed it, and the name of my virtualenv directory
Click the "General" or "Code" button and make a card!
When you're ready to start memorizing, click either "General" or "Code"
in the top menu.
How to run it on local host (Quick Guide)
Provided by @devyash - [email protected] - Reach out to this contributor if you have trouble.
Install dependencies:
Install Python
Add python as environment variable windows
To install pip, securely download get-pip.py
Run python get-pip.py in terminal
Add pip to your PATH system variable windows
Run pip install -r requirements.txt in terminal after going to correct folder
Type python flash_cards.py - if you get error for flask then use python -m pip install Flask first then run flash_card.py file
Open localhost:5000/
Login using 'admin' and 'default' for the username and password, respectively.
NOTE: If you wish to use John's flash cards then also do following steps:
Copy db files such as cards-jwasham-extreme OR cards-jwasham and paste them in db folder
Edit file flash_cards.py line 8 and replace 'cards.db' with any of the other database files e.g.('cards-jwasham.db')
Repeat the above steps from step 3
Every time you wish to run your db just open folder in terminal and run python flash_cards.py
How to run with Docker
Provided by @Tinpee - [email protected] - Reach out to this contributor if you have trouble.
Make sure you already installed docker and optionally docker-compose
Clone project to any where you want and go to source folder.
Edit the config.txt file. Change the secret key, username and password. The username and password will be the login for your site. There is only one user - you.
Build image:
Docker: docker build . -t cs-flash-cards
Compose: docker-compose build
Run container:
Docker: docker run -d -p 8000:8000 --name cs-flash-cards cs-flash-cards
Compose: docker-compose up
Go your browser and type http://localhost:8000
If you already had a backup file cards.db. Run following command:
Note: We don't need to rebuild image, just delete old container if you already built.
docker run -d -p 8000:8000 --name cs-flash-cards -v <path_to_folder_contains_cards_db>:/src/db cs-flash-cards
<path_to_folder_contains_cards_db>: is the full path contains cards.db.
Example: /home/tinpee/cs-flash-cards/db, and cards.db is inside this folder.
For convenience, if you don't have cards.db, this container will auto copy a new one from cards-empty.db.
How to backup data ?
We just need store cards.db file, and don't need any sql command.
If you run container with -v <folder_db>:/src/db just go to folder_db and store cards.db anywhere you want.
Without -v flag. Type: docker cp <name_of_container>:/src/db/cards.db /path/to/save
How to restore data ?
Delete old container (not image): docker rm cs-flash-cards
Build a new one with -v flag:
docker run -d -p 8000:8000 --name cs-flash-cards -v <path_to_folder_contains_cards_db>:/src/db cs-flash-cards
Does jwasham/computer-science-flash-cards have a project website?
No homepage URL was recorded for jwasham/computer-science-flash-cards in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does jwasham/computer-science-flash-cards have any tags?
TopGit's last sync did not record any GitHub topics for jwasham/computer-science-flash-cards. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on jwasham/computer-science-flash-cards?
The most recent commit recorded on jwasham/computer-science-flash-cards was 1.7 years ago, based on the GitHub push timestamp. The repository has 2.1k forks — one of the better signals of community interest.
Is jwasham/computer-science-flash-cards open source?
Yes — jwasham/computer-science-flash-cards ships under the CC-BY-SA-4.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/jwasham/computer-science-flash-cards.
What license does jwasham/computer-science-flash-cards use?
jwasham/computer-science-flash-cards is released under the CC-BY-SA-4.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about jwasham/computer-science-flash-cards?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/jwasham/computer-science-flash-cards is the definitive source.
Read full README in the tab above.
Is computer-science-flash-cards worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of computer-science-flash-cards.