Faculty of Information Technology, BUT

Course details

The C Programming Language

IJC Acad. year 2011/2012 Summer semester 5 credits

The C programming language as defined by ISO standard. The definition of C language, pointers, modularity, C standard library. Debugging and testing of programs. Basic overview of C++, using the C++ standard library.

Guarantor

Peringer Petr, Dr. Ing. (DITS FIT BUT)

Language of instruction

Czech

Completion

Examination (written)

Time span

39 hrs lectures, 13 hrs projects

Assessment points

70 exam, 30 projects

Department

Lecturer

Peringer Petr, Dr. Ing. (DITS FIT BUT)

Instructor

Müller Petr, Ing. (DITS FIT BUT)

Subject specific learning outcomes and competences

Basic knowledge of C programming language, including pointers, address arithmetic, and dynamic memory allocation/deallocation. Modular programming in C.

Learning objectives

The goal is to introduce students to ISO C programming language and programming techniques in C.

Prerequisites

Study literature

  • Herout, P.: Učebnice jazyka C, 3. vydání, Kopp, 1998
  • Kernighan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989

Fundamental literature

  • Kernighan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989
  • Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997
  • Plauger, P.J.: The Standard C Library, Prentice-Hall, 1992
  • ISO: Programming languages - C, WG14/N869 Committee Draft, 1999
  • ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988

Syllabus of lectures

  1. Introduction. Overview of C language (K&R, ANSI C, ISO C90, ISO C99). Basic language constructs, examples of C programs.
  2. Definition of C language: lexical elements, declaration syntax, basic types, variables.
  3. Array, address space, address, pointer. Pointers and arrays, address arithmetic. Alignment, little/big endian. Dynamic memory allocation.
  4. C-strings, multi-dimensional arrays, structures, unions.
  5. Enumerations. Expressions, operators, type casting, operator precedence. Statements.
  6. Functions, argument passing. Pointers to functions. Command line arguments. The C preprocessor: macros, conditional compilation.
  7. Program structure, compilation units. Linking. Program "make".
  8. The C standard library. Debugging support, character classification, internationalization. Input/output, files.
  9. The examples of standard library use. String and memory management. Time functions. Math library, complex library.
  10. Creation of shared libraries. Linking of code written in various languages. 
  11. C++ basics, typical differences of C and C++. New operators of C++, overloading, namespaces.
  12. Input/output in C++, streams. Basic use of C++ standard library (containers, iterators, algorithms, strings). Simple examples.
  13. Profiling and program optimization. Rules for writing portable code. Program checking tools. Program documentation tools.

Syllabus - others, projects and individual work of students

  • 2 assignments

Progress assessment

assignments

Course inclusion in study plans

  • Programme IT-BC-3, field BIT, 1st year of study, Elective
Back to top