Programátorské praktikum

Practical training in programming

PROP

Academic year 2025-2026

ČVUT ・ FJFI ・ KSI

Goal of the course

  • how to do some things correctly/better
  • try to work in a small team of programmers
  • show that programming can be fun and not just endless typing and finding errors

Motivation

The 4 things it takes to become an expert:

  • many repetitions
  • valid environment
  • timely feedback
  • deliberate practice

Motivation

The 4 things it takes to become an expert:

  • many repetitions
  • valid environment
  • timely feedback \rightarrow PROP
  • deliberate practice

Goal of the course

  • how to do some things correctly/better
  • try to work in a small team of programmers
  • show that programming can be fun and not just endless typing and finding errors

Motivation

Communication is the key to success.


Motivation

Communication is the key to success.


Goal of the course

  • how to do some things correctly/better
  • try to work in a small team of programmers
  • show that programming can be fun and not just endless typing and finding errors

Motivation

center

Teaching style

Basic information about the course (see the study plans):

Code Completion Credits Range Language
18PROP KZ 3 2C Czech English

According to the plans, PROP should be tutorials, but it will be a mixture of what is needed (tutorials, lectures, exercises, team work, independent work).

The success of this course depends on your active participation – discussion, sharing opinions and experience, etc.

Contents

The outline in the study plans can be divided in several topic groups:

  • General concepts
    • How to write clean code
    • Object oriented design, SOLID principles and design patterns
    • Defensive programming principles
  • Agile software development
    • unit tests – design, development and usage in practice
  • Code versioning using Git
    • branching and merging, usage patterns: GitFlow, GitHub Flow, GitLab Flow
  • Programmer's toolset
    • project build automation, modular architecture
    • refactoring, code quality assurance, bug detection, documentation

Supporting literature (from to the study plans)

  1. K. Fogel, Producing open source software: How to run a successful free software project, Second Edition, O'Reilly Media, 2022. https://producingoss.com/
  2. R.C. Martin, Clean Code: A Handbook of Agile Software Craftmanship, Prentice Hall 2009. ISBN 978-0132350884.
  3. S. Chacon, B. Straub, Pro Git, Second Edition, Apress, 2014.
    https://git-scm.com/book/en/v2
  4. D. Thomas, A. Hunt, The Pragmatic Programmer, 20th Anniversary Edition, Addison-Wesley, 2019. ISBN 978-0135957059.
  5. M. Fowler, Refactoring: Improving the Design of Existing Code, Second Edition, Addison-Wesley, 2018. ISBN 978-0134757599.
  6. P. Silén, Clean Code Principles and Patterns: A Software Practitioner's Handbook, 2023. ISBN 979-8373835732.

Requirements for successful completion

To receive a graded assessment ("klasifikovaný zápočet" in Czech), the following is required:

  • Personal attendance at exercises (at least 75% attendance)
  • Active participation during exercises
  • Completion of an assessment project (the assignment will be clarified during the semester)

The grading is based on the use of the Git version control system.

Survey

https://jlk.fjfi.cvut.cz/md/PROP-2025

echo "https://jlk.fjfi.cvut.cz/md/PROP-2025" | qrencode -o QR-scratch-pad.png