Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Fundamentals of Programming

The course is not on the list Without time-table
Code Completion Credits Range Language
00ZPR Z 4 0+4 English
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Faculty of Nuclear Sciences and Physical Engineering
Synopsis:
Requirements:
Syllabus of lectures:

Outline:

I. The basics of writing clean code

1. Formatting

2. Data structures

3. Naming of variables

4. Rules for writing functions

5. Handling of errors, exceptions

6. Comments

II. Code development

1. Coding conventions

2. Specification and design

3. Testing of code

4. Refactoring

5. Documentation

Outline (exercises):

The excercise is an integral part of the course, its contents is given by the subject's sylabus.

Syllabus of tutorials:
Study Objective:

Knowledge:

How to write clean code, coding conventions. Principles of defensive programming, code management and guidelines for refactoring. How to write documentation. Code structure and functionality, creating of consistent blocks and their testing. Object-oriented design, open for changes. Development of clean and comprehensible code.

Skills:

The student learns to write transparent code, which is easy to understand by other developers, flexible in terms of adding new functionality and easy for debugging.

Requirements:C/C++ programming, object-oriented programming

Key words:Clean code, coding conventions, defensive programming, test driven development, object-oriented design, refactoring, documentation.

Study materials:

Key references:

[1] R.C. Martin, Clean Code: A Handbook of Agile Software Craftmanship, Prentice Hall 2009

[2] S. McConnell, Code Complete, Second Edition, Microsoft Press, 2004

Recommended references:

M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2002

Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-10-22
For updated information see http://bilakniha.cvut.cz/en/predmet5240706.html