Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Solving Problems and other Games

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
B4B33RPH KZ 6 2P+3C Czech
Vztahy:
It is not possible to register for the course B4B33RPH if the student is concurrently registered for or has already completed the course AE4B99RPH (mutually exclusive courses).
In order to register for the course B4B33RPH, the student must have registered for the course BEZZ no later than in the same semester.
It is not possible to register for the course B4B33RPH if the student is concurrently registered for or has previously completed the course AE4B99RPH (mutually exclusive courses).
Garant předmětu:
Tomáš Svoboda
Lecturer:
Petr Pošík, Tomáš Svoboda
Tutor:
Jindřiška Deckerová, Jiří Horyna, Patrik Kolář, Jana Kostlivá, Petr Pošík, Václav Pritzl, Tomáš Svoboda, Petr Štibinger
Supervisor:
Department of Cybernetics
Synopsis:

The main motivation is to let students to deal with real-world problems properly. When working on real problems the student shall learn how to decompose the big problem, how to define interfaces, how to test and validate individual steps and so on. Many problems will actually be beyond the first-year-student skills. And many problem will not be solved in the optimal way. The unsolved parts should motivate the students to study difficult theoretical subjects. They should generate the important questions. Ideally, at the end of the subject, the student should be eager to study deeper about informatics. The course also explains the basis of the object oriented design, software testing, ways for writing readable and robust codes.

Requirements:

none

Syllabus of lectures:

1. Introducting course basis.

2. How to write a computer program, variables, execution.

3. Objects as the main building blocks.

4. Functions.

5. Conditionals.

6. Compound data types, iterators.

7. Iterators.

8. Exceptions, making programs robust

9. Testing and evaluating programs.

10. How to write a clean code

11. Motivation lecture I

12. Motivation lecture II

13. Motivation lecture III

14. Closing

Syllabus of tutorials:

Students will work independently on several programming assignments. They will regularly submit intermediate results and discuss the progress with teaching assistants. The list of assignements may change over time span of the course: Spam filter. How to represent frequency of bad words. Reversi (Othello). A two player game. Playing in tournaments against each other. Zip code optical character recognition. Finding the optimal path for a mobile robot through the labyrinth. Iterative prisoner's dilemma. Cooperate or not, all student players will play againts each other.

Study Objective:

The main motivation is to let students to deal with real-world

problems properly which includes Thinking about problem, its decomposition, testing, verification, evaluation.

Study materials:

1. Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. How to Think Like a Computer Scientist. 3rd edition, 2012, http://openbookproject.net/thinkcs/python/english3e/ český překlad Jaroslav Kubias, http://howto.py.cz

2. Mark Pilgrim. Dive intoPython 3. Český překlad Petr Přikryl, http://diveintopython3.py.cz

3. Doporučená tématická četba k jednotlivým úlohám.

Note:
Further information:
https://cw.fel.cvut.cz/wiki/courses/B4B33RPH
Time-table for winter semester 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
roomT2:C3-132
Svoboda T.
Pošík P.

09:15–10:45
(lecture parallel1)
Dejvice
T2:C3-132
roomKN:E-107
Svoboda T.
Pošík P.

09:15–10:45
(lecture parallel1)
Karlovo nám.
Zengerova posluchárna K1
Wed
Thu
roomKN:E-230
Kostlivá J.
07:30–10:00
(lecture parallel1
parallel nr.101)

Karlovo nám.
Laboratoř PC
roomKN:E-230
Kostlivá J.
10:00–12:30
(lecture parallel1
parallel nr.102)

Karlovo nám.
Laboratoř PC
roomKN:E-307
Deckerová J.
14:30–17:00
(lecture parallel1
parallel nr.104)

Karlovo nám.
HW-lab K307
roomKN:E-310

17:00–19:30
(lecture parallel1
parallel nr.110)

Karlovo nám.
Lab K310 Linux
roomKN:E-132
Horyna J.
07:30–10:00
(lecture parallel1
parallel nr.103)

Karlovo nám.
Laboratoř PC
roomKN:E-310
Svoboda T.
Pošík P.

14:30–17:00
(lecture parallel1
parallel nr.105)

Karlovo nám.
Lab K310 Linux
roomKN:E-132
Deckerová J.
10:00–12:30
(lecture parallel1
parallel nr.107)

Karlovo nám.
Laboratoř PC
room

14:30–17:00
(lecture parallel1
parallel nr.111)

Fri
roomKN:E-230
Kostlivá J.
08:15–10:45
(lecture parallel1
parallel nr.106)

Karlovo nám.
Laboratoř PC
roomKN:E-132
Pritzl V.
08:15–10:45
(lecture parallel1
parallel nr.108)

Karlovo nám.
Laboratoř PC
roomKN:E-311
Pošík P.
08:15–10:45
(lecture parallel1
parallel nr.109)

Karlovo nám.
Lab K311
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-05-23
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet4683706.html