Project

Generating Randomness

Medium
509 completions
~ 11 hours
4.2

In addition to raising the metaphysical question of free will, this project will introduce the basics of Python data types and probability theory, including randomness. Get a grasp of the necessary math concepts, learn about geometrical probability, and see how simple statistics can predict a particular outcome. From a programmer's perspective, sharpen your skills with list comprehensions, strings, and dictionaries.

Provided by

JetBrains Academy JetBrains Academy

About

Everyone knows that people are bad at generating random things. In this project, we will check this assumption using a small self-written program that will predict "random" user actions. We'll see if you can beat it!

Graduate project icon

Graduate project

This project covers the core topics of the Python for Science 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:
Write a module that will form a “user profile” based on the data collected in the previous stage.
Create a predictor that will guess the user's next input based on their previous key presses. We will also validate the performance of this predictor.
Now we are ready to try to beat our system in pressing random keys. Try to be as unpredictable as you can!

Reviews

Tomas Kanuch avatar
Tomas Kanuch
1 month ago
I have learned predictions based on statistics, using sliding window method for going through input.
Neil avatar
Neil
4 months ago
Just when I think I am starting to understand everything and my Python is quite good, a project like this comes along and smacks me to the ground! 😵‍💫🤕Love it! 😁 Great project, challenging but interesting!
Guillaume Konen avatar
Guillaume Konen
10 months ago
Although the project is not complex, it give a good practice about data manipulation and give a basis about Machine Learning, an algorithme wich train about dataset to predict future input

4.2

Learners who completed this project within the Python for Science course rated it as follows:
Usefulness
4.3
Fun
4.2
Clarity
4.0