{{indexmenu_n>2}} ====== Lectures ====== Supporting materials for the lectures of the academic year 2017/2018. The materials are slides, also available in printer safe version as handouts with 2x2 and 3x3 slides on a single page. **These supportive materials are not intended as a replacement of your own notes from the lectures. They are rather provided to help you to understand the studied problems.** The most of the lectures are covered in the book: **K. N. King: C Programming A Modern Approach, Second Edition. W. W. Norton & Company, Inc., 2008.**, which is the main course textbook. The source codes presented in the lectures are attached in the particular ''.zip'' archive. It is highly recommended to become familiar programs, implement complex programs by yourself and use the provided sources as a source of inspiration.receipt ^ #TWeek ^ Week ^ Topic ^ Wednesday \\ 9:15-10:45 \\ KN:E-331 ^ | 01 | 40. |[[#Course information, Introduction to C programming|Lecture 01 - Course information, Introduction to C programming]]\\ K. N. King: chapters 1, 2, and 3 | **04.10.** - lec01 | | 02 | 41. |[[#Writing your program in C, expressions, control structures (loops)|Lecture 02 - Writing your program in C, expressions, control structures (loops)]]\\ K. N. King: chapters 4, 5, 6, and 20 | **04.10.**11.10. - lec02 //(11.10. lab01+lab02)// | | 03 | 42. |[[#Data types, arrays, pointer, memory storage classes, function call|Lecture 03 - Data types, arrays, pointer, memory storage classes, function call]] \\ K. N. King: chapters 7, 8, 9, 10, 11, and 18 | **25.10.**18.10. - lec03 //(11.10. lab03+lab04)// | | 04 | 43. |[[#Arrays, strings, and pointers|Lecture 04 - Arrays, strings, and pointers]]\\ K. N. King: chapters 8, 11, 12, 13, and 17 |** 25.10.** - lec04 | | 05 | 44. |[[#Data types: Struct, Union, Enum, Bit fields. Preprocessor and Building Programs.|Lecture 05 - Data types: Struct, Union, Enum, Bit fields. Preprocessor and Building Programs.]] \\ K. K. King: chapters 10, 14, 15, 16, and 20 | **01.11**. - lec05 | | 06 | 45. |[[#6. Data types: Input/Output and Standard C Library|Lecture 06 - Input/Output and Standard C Library]] \\ K. N. King: chapters 21, 22, 23, 24, 26, and 27 | **08.11.** - lec06 | | 07 | 46. | TEST | **08.11.**15.11. - TEST | | 08 | 47. |[[#Parallel programming, parallel processing, and synchronizations primitives (semaphores, messages, shared memory)|Lecture 07 - Parallel programming, parallel processing, and synchronizations primitives (semaphores, messages, shared memory)]] | **15.11.**22.11. - lec07 | | 09 | 48. |[[#Multithreading programming, application models, POSIX threads and C11 threads|Lecture 08 - Multi-threading programming, application models, POSIX threads and C11 threads]] | **15.11.**29.11. - lec08 | | 10 | 49. | Lecture 09 - [[#Version Control Systems (VCSs) | Version Control Systems (VCS) or Summary of the topics ]] | 06.12. - lec09 | | 11 | 50. | Lecture 10 - [[#ANSI C, C99, C11, and differences between C and C++. Introduction to object oriented programming in C++ | ANSI C, C99, C11, and differences between C and C++. Introduction to object oriented programming in C++]] | 13.12. - lec10 | | 12 | 51. | [[#Object oriented programming in C++: classes, objects, inheritance and polymorphism | Lecture 11 - Object oriented programming in C++: classes, objects, inheritance and polymorphism]] | 20.01. - lec11 | | -- | 52. | //Winter holidays// | | 13 | 01. | Finalization, evaluation, and defense of homeworks | 03.01. - labs | | 14 | 02. | Finalization, evaluation, and defense of homeworks | 10.01. - labs | ===== 1. Course Information, Introduction to C Programming ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/10/03 21:40// ===== 2. Writing your program in C, expressions, control structures (loops) ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec02-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec02-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec02-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec02-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec02-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/10/03 21:41// ===== 3. Data types, arrays, pointer, memory storage classes, function call ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/10/25 09:10// --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/10/26 09:45// **Update**: FIX typos and formatting ===== 4. Arrays, strings, and pointers ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec04-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec04-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec03-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec04-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec04-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:53// --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/10/26 09:45// **Update**: FIX typos and formatting ===== 5. Data types: Struct, Union, Enum, Bit fields. Preprocessor and Building Programs ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec05-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec05-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec05-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec05-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec05-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:54// ===== 6. Data types: Input/Output and Standard C Library ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:55// ===== 7. Parallel programming, parallel processing, and synchronizations primitives (semaphores, messages, shared memory) ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/11/15 08:32// ===== 8. Multithreading programming, application models, POSIX threads and C11 threads ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/11/15 08:32// ===== 9. Version Control Systems (VCSs) ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-handout-3x3.pdf|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:58// ===== 10. ANSI C, C99, C11, and differences between C and C++. Introduction to object oriented programming in C++ ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:59// ===== 11. Object oriented programming in C++: classes, objects, inheritance and polymorphism ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-handout.pdf|}} * slides - handout 2x2: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-handout-2x2.pdf|}} * slides - handout 3x3: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-handout-3x3.pdf|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/20/12 21:18// Sources from the lecture on 2017/12/20 - : {{:courses:be5b99cpl:lectures:be5b99cpl-lec11-sources-2017-12-20.zip|}}