Course: Fundamentals of Programming for Electrical Engineering

« Back
Course title Fundamentals of Programming for Electrical Engineering
Course code KEP/ZPEL
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech, English
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Šroubová Lenka, Ing. Ph.D.
  • Juřík Martin, Ing.
  • Matoušek Radek, Ing.
  • Slobodník Karel, Ing. Ph.D.
  • Kropík Petr, Ing. Ph.D.
  • Vítek Martin, Ing.
  • Podestát Jaroslav, Ing.
  • Lapuník Vojtěch, Ing.
  • Tureček Jakub, Ing.
  • Klesa Radek, Ing.
Course content
1. Computer from the point of view of the programmer, operating systems, presentation of information. Example of a simple program. Problem analysis and programming, algorithm concept. 2. Program architecture in C language, flow control structures, loops. Basic data types. Type conversion, casting. Debugging and testing programs. 3. Data types - ranges, accuracy, rounding. Expressions. Functions, simple parameters. Arrays, text strings, basic functions for string handling. 4. Pointers, location of data in memory. Arrays and pointers. Array manipulating algorithms. Multidimensional arrays. 5. Structures, unions, enumeration types, bit structures. Working with files, formatting input and output. 6. More complex data types - linked structure, tree, queue, stack, circular queue. Mutual typing of data types. Memory Alignment. Packed structures. 7. Differences between C and C ++ at a basic syntax level - additional data types and operators. Object-oriented approach to the programming. Reasons for using object style, principles. Implementation of object programming in C++. 8. Conceptual model of the object. Abstract data type. Implementation of abstract data type - class. Objects, their properties. 9. Object programming tools for encapsulation, inheritance, polymorphism, genericity. Implementation of inheritance. Exception mechanism. 10. Polymorphism, usage. Implementing more complex structures with object programming tools. 11. Standard C++ libraries. 12. Work with input and output streams. 13. Preparation of the final application. Code optimization. Documentation.

Learning activities and teaching methods
  • Undergraduate study programme term essay (20-40) - 8 hours per semester
  • Contact hours - 52 hours per semester
  • unspecified - 36 hours per semester
  • Contact hours - 16 hours per semester
  • Preparation for formative assessments (2-20) - 6 hours per semester
  • Preparation for comprehensive test (10-40) - 10 hours per semester
  • Preparation for an examination (30-60) - 30 hours per semester
prerequisite
Knowledge
to have basic knowledges in mathematics for grammar schools
Skills
to have basic skills in mathematics for grammar schools
to control commonly available computers
Competences
N/A
N/A
N/A
learning outcomes
Knowledge
define the list of basic data types, control structures
explain basic algorithms (loops, work with arrays and strings, searching and sorting, input / output operations, using methods, classes and objects)
Skills
use basic algorithms, data and control structures (loops, work with arrays and strings, searching and sorting, input / output operations, using methods, classes and objects)
apply acquired knowledge to create programs with focus to application in branch of electrical engineering
design, develop and debug a simple program based on verbal description
Competences
N/A
N/A
teaching methods
Knowledge
Lecture supplemented with a discussion
Practicum
Multimedia supported teaching
Skills
Lecture supplemented with a discussion
Practicum
Individual study
Multimedia supported teaching
Competences
Lecture supplemented with a discussion
Practicum
Multimedia supported teaching
assessment methods
Knowledge
Combined exam
Project
Test
Skills
Combined exam
Project
Test
Competences
Combined exam
Project
Test
Recommended literature
  • Herlihy, Maurice; Shavit, Nir. The art of multiprocessor programming. Boston : Elsevier, 2012. ISBN 978-0-12-397337-5.
  • Herout, Pavel. Učebnice jazyka C. 1. díl. České Budějovice : Kopp, 2004. ISBN 80-7232-220-6.
  • Jeganathan Swaminathan. Mastering C++ Programming. Packt Publishing Limited., Birmingham, United Kingdom, 2017. ISBN 9781786461629.
  • Kernighan, Brian W.; Ritchie, Dennis M. Programovací jazyk C. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0897-X.
  • Virius, Miroslav. Programování v C++ : od základů k profesionálnímu použití. První vydání. 2018. ISBN 978-80-271-0502-1.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester