How to take this course?#

How to take this course?#

This introductory programming course is designed for students with no prior programming experience. Our focus is on practical programming skills, with just enough theory to help you understand key concepts.

To develop your programming skills, regular practice is essential. This course provides a structured approach with various activities each week.

Preparation#

Activities to do before the in-class activities, estimated to take 2-3 hours per week. This includes:

  • Reading: Approximately one chapter from the textbook.

  • Copy-and-run exercises: Copy and run the provided code snippets to familiarize yourself with the concepts.

  • Self-quiz: Test your understanding of the reading material and exercises.

In-class#

Activities to do while in-class, facilitated by the class teachers and teaching assistants. This includes:

  • Start-up lecture: A brief 15-min lecture introducing the topic of the week.

  • In-class quiz: A 10-question quiz similar to the self-quiz.

  • Coding practice: Write small pieces of code to reinforce learning.

  • Live demo: Watch a demonstration focused on problem-solving.

  • Problem solving: Work on self-contained, larger coding problems.

Closure#

Activities to do after the in-class activities, estimated to take 1 hour per week. This includes:

  • Syllabus: Review what you’ve learned.

  • Voluntary assignments: Submit your solutions and receive feedback.

  • Advanced topics: Optional challenges if you want to learn more.

The fast track#

Our course is designed for absolute beginners, which includes the majority of our students. If you already have some programming experience, that’s great — but you should still make sure you meet all the learning objectives of the course. We recommend focusing on the following activities:

  • Self-quizzes: Use these to check your understanding of each week’s material. If you find any questions difficult, it’s a good idea to go back and review the readings and complete the copy-and-run exercises.

  • Syllabus: Make sure you’re familiar with what the course covers. None of the assignments or exam tasks will go beyond the official syllabus, so knowing what it covers is essential.

  • Voluntary assignments: Submit your solutions to receive feedback. We apply a strict scoring policy: solutions that don’t follow the specifications may score poorly — even if your solution does more than what is asked. Submitting regularly is the best way to understand how we evaluate your work.

  • Exam preparation: Near the end of the course, you’ll have the opportunity to submit solutions to previous exams. This is a great way to get familiar with the format and expectations.

  • Advanced topics: We’ve also gathered a collection of advanced topics. Feel free to explore — you might find something that challenges or inspires you.