Project

Flashcards (Python)

Hard
732 completions
~ 23 hours
4.3

Develop a flashcard application that lets users create, test, and refine their knowledge with custom flashcards.

Provided by

JetBrains Academy JetBrains Academy

About

When learning a new language, it can be hard to remember all the new vocabulary, which is exactly where flashcards can help. Typically, flashcards show a hint (a task or a picture) on one side and the right answer on the other. Flashcards can be used to remember any sort of data, so if you want to create a useful tool to help your learning and your programming skills, this project is for you. You will practice concepts frequently tested in technical interviews at top tech companies.

Graduate project icon

Graduate project

This project covers the core topics of the Python Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Compare the lines and work with conditions: display the card and the user’s answer on the screen.
Practice arrays and loops: create a new card for the program to play with you.
Learn to use hashtables, display key values, and work with exceptions in order to fix the problem of repeating cards.
Work with files: create a menu that allows you to add, delete, save, and upload saved cards in your game.
Using statistics, set a correct answer for each card and teach the game to determine which card was the hardest to solve.
Enable the user to import files right upon starting the game, working with command-line arguments.

Reviews

Steven Davis
6 months ago
I think the project is good at challenging the user to manage state, I/O, and logging. I would say that there is a disconnect between the logging lessons and what the final project stages needed. I saw many people having to craft a custom handler for processing text to the stdout and in-memory and i ...
Dan Murphy avatar
Dan Murphy
6 months ago
This project provided solid practice in Python fundamentals (lists, dictionaries, functions, working with files) along with opportunities to use the collections, random and argparse modules.
Al Gladkov avatar
Al Gladkov
7 months ago
I'm really tired of constantly configuring PyCharm so that the tests can somehow run.

4.3

Learners who completed this project within the Python Developer course rated it as follows:
Usefulness
4.4
Fun
4.2
Clarity
4.4