Course detail

Computer Science

FSI-1IN Acad. year: 2027/2028 Winter semester

This course provides an introduction to algorithmization and imperative programming in Python, focusing on solving simple engineering problems. Students learn to analyze problems, design algorithms, and implement them using basic and composite data types, control structures, and functions. The course covers file handling, numerical data processing, basic matrix and numerical computations (using the NumPy and SciPy libraries), and data visualization (using Matplotlib).

Instruction combines lectures with practical computer-based exercises, during which students independently implement and test programs designed to solve simple technical problems. Emphasis is placed on algorithmic thinking, the correctness and readability of the code, and the interpretation of the obtained results.

Language of instruction

Czech

Number of ECTS credits

5

Entry knowledge

Basic user-level computer literacy—including familiarity with files and directory structures—and the ability to use common software applications are expected. Students should have a grasp of high school-level mathematics, particularly regarding mathematical expressions, functions, and graphs. No prior programming experience is required.

Rules for evaluation and completion of the course

The maximum score is 100 points (ECTS), distributed across 2 interim tests (totaling 50 points) and one final project (50 points). To successfully complete the course, a student must earn a total of at least 50 points, including at least 25 points from the final project. Failure to meet any of these conditions results in failing the course.

Attendance at lectures is encouraged, while attendance at practical sessions (exercises) is mandatory. Instruction follows a weekly schedule. The procedure for making up missed practical sessions is entirely at the instructor's discretion.

Aims

Upon successfully completing the course, the student will be able to:

  1. Analyze the specifications of a simple engineering problem, identify its inputs and outputs, and propose an algorithmic solution.
  2. Develop and execute a Python program utilizing basic data types, operators, conditional statements, and loops.
  3. Decompose a program into functions, appropriately employ composite data types, and implement simple algorithms.
  4. Read, process, and save data using files, and perform basic numerical and matrix computations using the NumPy library.
  5. Create and describe graphical representations of data or computational results using the Matplotlib library, and interpret the findings within the context of the problem being solved.
  6. Verify the correctness of the developed program using selected input data, identify common programming errors, and propose solutions to fix them.

Study aids

Study materials for lectures and computer exercises are provided via the BUT e-learning system. They include instructional presentations, practical task assignments, sample programs, and data files.

The study programmes with the given course

Programme B-PRP-P: Professional Pilot, Bachelor's, elective

Programme B-ENE-P: Energy, Bachelor's, compulsory

Programme B-FIN-P: Physical Engineering and Nanotechnology, Bachelor's, compulsory

Programme B-KSI-P: Mechanical Engineering Design, Bachelor's, compulsory

Programme B-STR-P: Engineering, Bachelor's
specialization AIŘ: Applied Computer Science and Control, compulsory

Programme B-STR-P: Engineering, Bachelor's
specialization KSB: Quality, Reliability and Safety, compulsory

Programme B-ZSI-P: Fundamentals of Mechanical Engineering, Bachelor's
specialization MTI: Materials Engineering, compulsory

Programme B-STR-P: Engineering, Bachelor's
specialization SSZ: Machine and Equipment Construction, compulsory

Programme B-STR-P: Engineering, Bachelor's
specialization STG: Manufacturing Technology, compulsory

Programme B-ZSI-P: Fundamentals of Mechanical Engineering, Bachelor's
specialization STI: Fundamentals of Mechanical Engineering, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Syllabus

1. Introduction to computer science and Python.
2. System modeling, problem analysis.
3. Basic data types, operations and functions.
4. Control structures.
5. Variables and composite data types.
6. Algorithmization and solving simple engineering problems.
7. Numpy, Scipy, matrix operations.
8. Collaboration with Artificial Intelligence. 
9. Matplotlib, visualization.
10. Working with files.
11. Testing, debugging, exceptions.
12. Software Engineering.
13. Current trends, final summary and discussion.

Computer-assisted exercise

26 hours, compulsory

Syllabus

1. Python language, simple expressions.
2. Operators and variables.
3. Functions.
4. Control structures I.
5. Control structures II.
6. Variables and composite data types.
7. Algorithmization.
8. Numpy, Scipy, matrix operations.
9. Matplotlib, visualization.
10. Working with files.
11. Work on the final project.
12. Work on the final project.
13. Credit.