Subject description - B4B33RPH
Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
B4B33RPH | Solving Problems and other Games | ||
---|---|---|---|
Roles: | P | Extent of teaching: | 2P+3C |
Department: | 13133 | Language of teaching: | CS |
Guarantors: | Svoboda T. | Completion: | KZ |
Lecturers: | Pošík P., Svoboda T. | Credits: | 6 |
Tutors: | Too many persons | Semester: | Z |
Web page:
https://cw.fel.cvut.cz/wiki/courses/B4B33RPHAnotation:
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.Study targets:
The main motivation is to let students to deal with real-world problems properly which includes Thinking about problem, its decomposition, testing, verification, evaluation.Course outlines:
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 |
Exercises outline:
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.Literature:
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. |
Requirements:
noneNote:
http://cw.fel.cvut.cz/wiki/courses/b4b33rph/start |
Keywords:
Problem solving, problem decomposition, testing, programming, Python, Java. Subject is included into these academic programs:Program | Branch | Role | Recommended semester |
BPOI1_2016 | Computer and Information Science | P | 1 |
BPOI_BO_2016 | Common courses | P | 1 |
BPOI4_2016 | Computer Games and Graphics | P | 1 |
BPOI3_2016 | Software | P | 1 |
BPOI2_2016 | Internet of Things | P | 1 |
BPOI_BO_2018 | Common courses | P | 1 |
BPOI4_2018 | Computer Games and Graphics | P | 1 |
BPOI3_2018 | Software | P | 1 |
BPOI2_2018 | Internet of Things | P | 1 |
BPOI1_2018 | Artificial Intelligence and Computer Science | P | 1 |
Page updated 3.12.2024 17:51:38, semester: L/2024-5, L/2023-4, Z/2025-6, Z/2024-5, Send comments about the content to the Administrators of the Academic Programs | Proposal and Realization: I. Halaška (K336), J. Novák (K336) |