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
Supervisor
Department
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:
- Analyze the specifications of a simple engineering problem, identify its inputs and outputs, and propose an algorithmic solution.
- Develop and execute a Python program utilizing basic data types, operators, conditional statements, and loops.
- Decompose a program into functions, appropriately employ composite data types, and implement simple algorithms.
- Read, process, and save data using files, and perform basic numerical and matrix computations using the NumPy library.
- 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.
- 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.