| Title: | The C Programming Language |
|---|
| Code: | IJC |
|---|
| Ac.Year: | 2012/2013 |
|---|
| Term: | Summer |
|---|
| Study plans: | |
|---|
| Language: | Czech |
|---|
| Public info: | http://www.fit.vutbr.cz/study/courses/IJC/public/ |
|---|
| Credits: | 5 |
|---|
| Completion: | examination (written) |
|---|
Type of instruction: | | Hour/sem | Lectures | Sem. Exercises | Lab. exercises | Comp. exercises | Other |
|---|
| Hours: | 39 | 0 | 0 | 0 | 13 |
|---|
| | Examination | Tests | Exercises | Laboratories | Other |
|---|
| Points: | 70 | 0 | 0 | 0 | 30 |
|---|
|
|---|
| Guarantee: | Peringer Petr, Dr. Ing., DITS |
|---|
| Lecturer: | Peringer Petr, Dr. Ing., DITS |
| Instructor: | Müller Petr, Ing., DITS |
|---|
| Faculty: | Faculty of Information Technology BUT |
|---|
| Department: | Department of Intelligent Systems FIT BUT |
|---|
| Prerequisites: | |
|---|
| Schedule: | | Day | Lesson | Week | Room | Start | End | Lect.Gr. | St.G. | EndG. |
|---|
| Tue | exam - řádný termín + SNT | 2013-05-21 | D105 | 15:00 | 16:50 | 1BIA | | |
| Tue | exam - řádný termín + SNT | 2013-05-21 | D105 | 15:00 | 16:50 | 1BIB | | |
| Thu | exam - 1. opravný termín + SNT | 2013-05-30 | E112 | 15:00 | 16:50 | 1BIB | | |
| Thu | exam - 1. opravný termín + SNT | 2013-05-30 | E112 | 15:00 | 16:50 | 1BIA | | |
| Fri | exam - 2. opravný termín + SNT | 2013-06-07 | A112 | 10:00 | 11:50 | 1BIA | | |
| Fri | exam - 2. opravný termín + SNT | 2013-06-07 | A112 | 10:00 | 11:50 | 1BIB | | |
|
|---|
| | | Learning objectives: |
|---|
The goal is to introduce students to ISO C programming language and programming techniques in C. | | Description: |
|---|
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. | | Learning outcomes and competences: |
|---|
Basic knowledge of C programming language, including pointers, address arithmetic, and dynamic memory allocation/deallocation. Modular programming in C. | | Syllabus of lectures: |
|---|
- Introduction. Overview of C language (K&R, ANSI C, ISO C90, ISO C99, ISO C11). Basic language constructs, examples of C programs.
- Definition of C language: lexical elements, declaration syntax, basic types, variables.
- Array, address space, address, pointer. Pointers and arrays, address arithmetic. Alignment, little/big endian. Dynamic memory allocation.
- C-strings, multi-dimensional arrays, structures, unions.
- Enumerations. Expressions, operators, type casting, operator precedence. Statements.
- Functions, argument passing. Pointers to functions. Command line arguments. The C preprocessor: macros, conditional compilation.
- Program structure, compilation units. Linking. Program "make".
- The C standard library. Debugging support, character classification, internationalization. Input/output, files.
- The examples of standard library use. String and memory management. Time functions. Math library, complex library.
- Creation of shared libraries. Linking of code written in various languages.
- C++ basics, typical differences of C and C++. New operators of C++, overloading, namespaces.
- Input/output in C++, streams. Basic use of C++ standard library (containers, iterators, algorithms, strings). Simple examples.
- 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
| | 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, N1570 Committee Draft, 2011
| | 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
- Teaching materials available on WWW.
| | Progress assessment: |
|---|
assignments | | |
|