This page is located in a preparation section till 20.09.2021.

be5b33prg -- Programming Essentials

The course focuses on understanding and mastering basic design principles of algorithms. It develops data abstraction coupled with the essential programming patterns. The emphasis is on creating readable and reusable programs in Python.

( labs | tutorials | resources BE5B33PRG TIME SCHEDULE (EN))


Information announced during the semester will be put here


Where and when: KN:E-112 (Charles Square, building E), Friday 09:15-10:45

Teaching: Tomas Jenicek

PDF slides and other lecture materials will be made available during the semester. The lectures, however, will also include blackboard sessions as well as live coding demonstrations. Active participation in lectures is strongly recommended based on our experience from previous years. Two tests will be written during the lectures (05.11. and 10.12.); attending those lectures is required.

week date topic materials
1. 24.09.2021 Introduction. Variables, expressions.
2. 01.10.2021 Primitive data types, program flow
3. 08.10.2021 Program structure, functions
4. 15.10.2021 Sequence data types, traversals
5. 22.10.2021 Collections (sets, dictionaries), iterators
6. 29.10.2021 Modules, namespaces, conventions
7. 05.11.2021 Mid-term test
8. 12.11.2021 Filesystem, file reading and writing
9. 19.11.2021 Debugging, code testing, exceptions
10. 26.11.2021 Objects, classes I
11. 03.12.2021 Objects, classes II
12. 10.12.2021 End-of-term test
13. 17.12.2021 Advanced concepts
14. 07.01.2021 Revision for the exam

Individual Consultations

After agreement. Specific problems will be discussed hence come with open problems you are struggling with. You may consider studying one of the recommended online resources first.

Exams and Tests

There will be two tests during the semester (mid-term and end-of-term) and a final exam during the exam period. The format of both the exam and the mid-term/end-of-term tests will be specified during the semester. It is recommended that you go through pages Preparing Yourself for the Tests and Plagiarism.

The content of the exam / test will be based on the content of:

  1. Lectures before the date of the exam / test (not limited but including the slides released after each lecture)
  2. Exercises and home-works practiced before the date of the exam / test
  3. Relevant chapters of the Wentworth2012 book
  4. Collection of Python multiple-choice question to practice for the exam related to the content of the lectures


Points: 50 homework (mostly coding), 20 tests during the term (2 tests, 10 points each), 30 final exam.

At least 30 points (out of 70) and regular lab attendance are needed before going to the final exam (in order to obtain “zapocet”). At least 10 points (out of 30) are needed to pass the final exam. To pass the course and get a grade, “zapocet” must be obtained, exam passed and at least 51 points gained in total (see the table below). It is possible to get additional up to 20 points for extra activity during the semester, such as completing a bonus homework.

100-91 90-81 80-71 70-61 60-51 50-0

F means fail.

courses/be5b33prg/start.txt · Last modified: 2021/09/16 13:00 by jenicto2