From greet()
to grade
Build you own test for the course. Start from printing text to screen and and taking the user input. Pogress to developping a small but logically complete program that can administer and assess your final exam.
Make building blocks. Each exercise is a building block for the final application where we learn a useful part of the Python syntax and new programming concepts. There is a course checklist that can help navigate through these topics.
Read the docs. For preparation visit the Python official documentation including the Tutorial and the Python Standard Library sections.
Use LLMs wisely. We encourage you to write you own code then use LLM to enhance or explain it and find clues about where you are stuck. Check out models like Deepseek, Mistral, GigaChat and OpenAI before the course start.
Run code now
All in your browser. Your excercises will be in small boxes where you can run and edit provided code examples and write your own code.
The code is runs in you browser - you do not to install any other software on your computer for this course!
Run the code below using the ▶️ button. Press Enter
after typing your answer. Make any edits to the code and run it again.
# This is a demo program (this line is a comment)
print("Your course begins soon... Are you ready to start?")
answer = input("Type your answer and press Enter: ")
print("Proceeding with your", answer, "answer.")
Ready for some excercises?
Depending on your level of programming experience you may be able to do the following tasks.
- Translate the messages to other spoken language.
- Can you spot where the variable
answer
is used? You can change the variable nameanswer
toresponse
and make sure the program runs again. - Print a message
Your answer was
followed by the provided answer. - Evaluate if the answer was short or long. Use different criteria for length (eg number of characters or words). Ask a broader question and insist on a longer answer.
- Ask if the student visited the Python documentation and a small quote from a specific section.
- Which LLM does the student prefer? Print it is a good choice if the LLM name is famous, ask for more detail if it is a less known one.
INFO
The in-broswer Python editor functionality is possible through the Pyodide project and the VitePress add-on created by Em Zhan.
Course structure
The course proceeds with creating small building blocks that you should be able to reuse for the final program:
Block | Description | Link |
---|---|---|
greet() | Hello and get the user name | Link |
randomize() | Pick a random emoji from a list | |
motivate() | Try escape the while loop | Link |
quote() | Fetch a quote from a list or dictionary | |
decorate() | Print ornaments or underline headers | |
fill() | Fill in the blanks test | |
count() | Offer a 2+2 excercise | |
verify() | True or false test | |
score() | Calculate a score and give a letter grade (A-F) | |
run_test() | Provide a random set of questions as a final test | |
delay() | Make a user wait for the results but not too long | |
stamp() | Put a date, sign and save | |
Real or not? | Simplifications we made | |
What next? | Ideas about program enhancements |
The final set of blocks will appear on the sidebar menu.
Motivational quote

Before starting a big journey, remember:
A tree too big to embrace is created from the tiniest shoot.
A terrace of nine stories rises from a pile of dirt.
A journey of a thousand miles begins from under the feet.
You may want to use this quote as part of your exercises.
More information
Who is this course for? Anyone who wants to practice Python coding excercises without setting up a programming environment.
Is this course for beginners? Yes, our main audience are people who have no prior programming experience.
Can I study it myself? The excercises are fit for self-study but you can also join our open events to get tutoring assistance.
I like you exercises, can I use them in my class? As a teacher at a school or university you may freely use this material for your own course.
Are there any translations? Soon for the Kyzgyz and Russian languages.