Project

Flashcards (Python)

Challenging
694 completions
~ 23 hours
4.4

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

Will Costello
3 weeks ago
This required quite a bit of creativity to complete, and featured a helpful demonstration of the StringIO and ArgumentParser classes.
Konrad Kaczmarek
1 month ago
A very interesting project. It allowed me to apply what I'd learned so far, including OOP, IO, and argparse modules. The subsequent stages of implementation brought me a lot of joy. The assumptions behind each stage were described quite well. I didn't have many moments where I got stuck with the tas ...
Paweł Gałecki avatar
Paweł Gałecki
5 months ago
Nice project - last stage shouldn't remove feature to skip already existing cards on export.

4.4

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