Code: BE5B33PRG |
Programming Essentials |
Lecturer: prof. Ing. Tomáš Svoboda Ph.D. |
Weekly load: 2P+2C |
Completion: A, EX |
Department: 13133 |
Credits: 6 |
Semester: W |
- Description:
-
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.
- Contents:
-
Introduction and course organization, evolution of programming languages.
Algorithm design, the way of writing, flowcharts. Structure of a computer program. Problem decomposition.
Variables, expressions, basic data types and their representation. Type conversions.
Functions, pure and modifiers.
Branching and loops, if-then-else, case, for, while.
Data structures, arrays, strings. Pointers.
I/O operations, reading and writing text and binary files.
Programming styles, coding conventions, estimating complexity of the implementation, asymptotic notation.
Advanced data structures - structs, hash arrays.
Debugging and testing.
Making code human readable and programs reusable.
Overview of programming languages variety.
- Seminar contents:
-
Computer Lab 01, first steps
Computer Lab 02, variables, conditionals
Computer Lab 03, Functions
Computer Lab 04, Iterables
Computer Lab 05, Non-trivial loops
Computer Lab 06, Modules and testing
Computer Lab 07, Files
Computer Lab 08, Automated testing
Computer Lab 09, Spam Filter I
Computer Lab 10, Spam Filter II
Computer Lab 11, Spam Filter III
Computer Lab 12, Spam Filter IV
Computer Lab 13, Spam Filter V
- Recommended literature:
-
Allen Downey. Think Python, How to Think Like a Computer Scientist. Green Tea Press, 2009
http://cw.fel.cvut.cz/wiki/courses/be5b33prg/literature
- Keywords:
- Basic programming, Python
Abbreviations used:
Semester:
- W ... winter semester (usually October - February)
- S ... spring semester (usually March - June)
- W,S ... both semesters
Mode of completion of the course:
- A ... Assessment (no grade is given to this course but credits are awarded. You will receive only P (Passed) of F (Failed) and number of credits)
- GA ... Graded Assessment (a grade is awarded for this course)
- EX ... Examination (a grade is awarded for this course)
- A, EX ... Examination (the award of Assessment is a precondition for taking the Examination in the given subject, a grade is awarded for this course)
Weekly load (hours per week):
- P ... lecture
- C ... seminar
- L ... laboratory
- R ... proseminar
- S ... seminar