Course detail

Computers and Programming 1

FEKT-BPC-PC1MAcad. year: 2025/2026

Basic terminology of computer technology, computer architecture, personal computer peripherals, computer bus, networks, communication protocols, Internet services, information education. Specifics of operational systems, evolution of the processor, its internal structure and the types of architecture, instruction set. Number systems and conversions between them, interpretation of numbers. Algorithms, write algorithms, optimization algorithms with respect to computational unit. Branching program cycle, conditions, jumps, recursion. Program parameters.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

The subject knowledge on the secondary school level is required.

Rules for evaluation and completion of the course

Extent and forms are specified by guarantor’s regulation updated for every academic year.

Aims

The aim of the course is to familiarize students with computer technology, including its practical application and programming from the level microcontroller and applications utilizing the processing power of personal computers grafickcýh cards. Students will get acquainted with the structure of a personal computer, which is composed of components and their interconnectivity. Get an overview of used buses and data repositories. At the same time the student will be informed about the functioning of operating systems and computer networks. An integral part of the structure is the explanation and understanding of the concepts CPU processor and controller. At the same time the aim is to teach students how to convert from one number system and explain the methods of presentation of digital numbers. Explain how the program branch, generally form loops, conditions and computational algorithms and their applications in the programming language. Explain how it works processor interrupt system. Explain the difference between serial and parallel, synchronous and asynchronous communication, how it works on the most common communication buses. Inquire about the use of peripherals for analog-to-digital and digital-to-analog conversion. UML outline possibilities for programming.
1. Student knows from what component consists of personal computer, is able to identify and understand their specifications.
2. He can name the most popular operating systems and has an overview of their differences.
3. Can a name commonly used wireless network.
4. Can explain the difference between Harvard and Von Neumann processor structure.
5. It can convert numbers from one number system.
6. Can explain the difference between processor and microcontroller.
7. Can name common microcontroller peripherals.
8. Can explain the notions instruction and program counter.
9. He can create a flowchart algorithm.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

KAČMÁŘ, Dalibor. Jazyk C. Praha: Computer Press, 2001. ISBN 9788072262953. (CS)
Kernighan B.W., Ritchie D. Programovací jazyk C, Computer Press, 2008, ISBN 80-251-0897-X (CS)
Ličev, L., Morkes, D. Procesory - architektura, funkce, použití. Computer Press, ISBN: 80-7226-172-X (CS)
PROKOP, Jiří. Algoritmy v jazyku C a C++: praktický průvodce. Průvodce (Grada). Praha: Grada, 2009. ISBN 978-80-247-2751-6. (CS)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme BPC-NCP Bachelor's 1 year of study, winter semester, compulsory
  • Programme BPC-MET Bachelor's 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Introduction to the subject, information systems used at FEEC/BUT and their corresponding user accounts. Rules and guidelines of the FEKT/VUT computer network. 
  2. Number systems, conversions between number systems. Representation of negative numbers. Arithmetic operations in the binary system. Representation of decimal numbers, standard IEEE 754. Fractional representation of decimal numbers, rounding, character representation, character sets.
  3. Processor development and its architecture, processor core, ALU, memory, Von Neumann and Harvard processor architecture, machine instruction, instruction file, interrupt system.
  4. Algorithm, algorithm notation, flowcharts, program branching, cycles, conditions, jumps, recursive notation
  5. PC architecture, basic types, computer peripherals, computer development
  6. Programming and markup languages. Division of programming languages. Structured and object-oriented programming.
  7. Operating system I. - role of the OS, abstractions provided by the OS,
  8. Operating system II - memory management, resource virtualization, specifics of operating systems
  9. Computer networks I. - history, structures, OSI ISO model, Ethernet IEEE 802.3,
  10. Computer networks II. - WiFi, VLAN, VPN
  11. Modeling the structure of the program through UML, Use Case diagram, class diagram, data packages

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Introduction to the computer classroom and the evaluation kit with the AVR microcontroller
2. Deeper familiarization with AVR microcontrollers and the AVR Studio development environment, establishing a project, explaining the principles of writing the basic structure of a program
3. Creating a simple program in the C language, configuring I/O gates of the microcontroller, switching on the LED
4. Reserve (holidays)
5. Time delay using cycle (active waiting), effects with LED field
6. Microcontroller interrupt system, timing interrupt event synchronization, LED array effects
7. Algorithm for selecting a value from a table - indirect addressing. Show the number on the seven-segment display.
8. Algorithm for selecting a value from a table - indirect addressing. Show the number on the seven-segment display.
9. Writing information to the built-in EEPROM memory - backup settings
10. Number display on a four-digit, seven-segment display - time multiplex
11. Processing the state of connected buttons - siren program
12. Data transfer via serial channel to PC