Faculty of Technical Sciences

Subject: (22.EAI023)

General information:
 
Category Scientific-professional
Scientific or art field Computer Engineering and Computer Communication
ECTS 6

The aim is to help students develop understanding of hardware-software interaction through mechanisms of C programing language. Intention is to make students capable of developing software in C, independently and meticulously, with deeper understanding of their code.

After finishing this course it is expected that students will be able to design and implement industrial grade software of average complexity, using C language and for a variety of target platform.

Characteristics of software that directly relays on hardware. Software debugging and role of the processor simulator. More detailed knowledge of some elements of C programming language: size and representation of basic types; variable representation in hardware; memory allocation mechanisms; functions and calling convention; pointers and their relation to arrays; little and big endian; structures, unions and address alignment; build process and pre-processing. Revision control systems. Basic data structures that are frequently used in special purpose real-time systems. Special C language extensions: standard extension and compiler specific. Safety and reliability related topics: testing procedures, MISRA (and similar) rules and static code analysis.

Lectures. Computer labs. Office hours. Pre-exam obligations include a student project. Final exam covers theoretical knowledge.

Authors Title Year Publisher Language
Milan Stevanovic Advanced C and C++ Compiling 2014 Apress English
David J. Agans Debugging—The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems 2002 Amacom English
Nermann Kopetz REAL-TIME SYSTEMS Design Principles for Distributed Embedded Applications 2002 Kluwer Academic Publishers English
-- ISO/IEC 18037:2008 Programming languages - C - Extensions to support embedded processors, Technical report, ISO/IEC 2008 ISO/IEC English
-- ISO/IEC 9899:2018 Programming languages — C, International standard 2018 ISO/IEC English
Course activity Pre-examination Obligations Number of points
Computer excersise defence Yes Yes 20.00
Project Yes Yes 30.00
Theoretical part of the exam No Yes 50.00

Asst. Prof. Đukić Miodrag

Assistant Professor

Lectures

Assistant - Master Matić Milica

Assistant - Master

Computational classes

Faculty of Technical Sciences

© 2024. Faculty of Technical Sciences.

Contact:

Address: Trg Dositeja Obradovića 6, 21102 Novi Sad

Phone:  (+381) 21 450 810
(+381) 21 6350 413

Fax : (+381) 21 458 133
Emejl: ftndean@uns.ac.rs

© 2024. Faculty of Technical Sciences.