{{indexmenu_n>2}} ====== Lectures ====== Supporting materials for the lectures. **These supportive materials are not intended as a replacement for your own notes from the lectures. They are rather provided to help you to understand the studied problems.** 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.** The source codes presented in the lectures are attached in the particular ''.zip'' archive. It is highly recommended to become familiar with programs, implement complex programs by yourself and use the provided sources as a source of inspiration/receipt. \\ \\ | **Wednesday 9:15-10:45 KN:E-311 KN:E-2** ||| ^ ^ ^ Topic ^ | 01 | 25.09. | [[#Course information, Introduction to C programming|Lecture 01 - Course information, Introduction to C programming]]\\ K. N. King: chapters 1, 2, and 3 | | 02 | 02.10. | [[#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 | | 03 | 09.10. | [[#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 | | 04 | 16.10. | [[#Arrays, strings, and pointers|Lecture 04 - Arrays, strings, and pointers]]\\ K. N. King: chapters 8, 11, 12, 13, and 17 | | 05 | 23.10. | [[#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 | | 06 | 30.10. | [[#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 | | 07 | 06.11. | [[#Test|Implementation test]] | | 08 | 13.11. | [[#Implementation test summary|Lecture 07 - Implementation test summary]] | | 09 | 20.11. | [[#Parallel programming, parallel processing, and synchronizations primitives (semaphores, messages, shared memory)|Lecture 08 - Parallel programming, parallel processing, and synchronizations primitives (semaphores, messages, shared memory)]] | | 10 | 27.11. | [[#Multithreading programming, application models, POSIX threads and C11 threads|Lecture 09 - Multi-threading programming, application models, POSIX threads and C11 threads]] | | 11 | 04.12. | [[#Version Control Systems (VCSs)|Lecture 10 - Version Control Systems (VCSs) ]] | | 12 | 11.12. | [[#ANSI C, C99, C11, and differences between C and C++. Introduction to object-oriented programming in C++ |Lecture 11 - ANSI C, C99, C11, and differences between C and C++. Introduction to object-oriented programming in C++]] | | 13 | 18.12. | [[#Object oriented programming in C++: classes, objects, inheritance and polymorphism | Lecture 12 - Object-oriented programming in C++: classes, objects, inheritance and polymorphism]] | | 14 | 08.01. | Early exam date | ===== 1. Course Information, Introduction to C Programming ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec01-handout.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|}} * 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|}} * 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|}} * 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|}} * 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|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec06-codes.zip|}} * demo codes 2023: {{courses:be5b99cpl:lectures:main.c.txt|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:55// ===== Test ===== * task: {{courses:be5b99cpl:lectures:cpl_mid-term_test.pdf|}} * supplementary files: {{courses:be5b99cpl:lectures:test_cpl_2023.zip|}} * book: {{courses:be5b99cpl:lectures:book.pdf|}} * aftertest: {{courses:be5b99cpl:lectures:query.c.txt|}} ===== 8. 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|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec07-codes.zip|}} * video lecture: [[https://youtu.be/zIuaAenBB2o|Youtube video]] --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/11/15 08:32// ===== 9. 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|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec08-codes.zip|}} * video lecture: [[https://youtu.be/87Tm6DpH9aw|Youtube video]] --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/11/15 08:32// ===== 10. Version Control Systems (VCSs) ===== * slides: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-slides.pdf|}} * slides - handout: {{courses:be5b99cpl:lectures:be5b99cpl-lec09-handout.pdf|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:58// ===== 11. 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|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec10-codes.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/08/11 14:59// ===== 12. 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|}} * demo codes: {{courses:be5b99cpl:lectures:be5b99cpl-lec11-codes.zip|}} * video of the year 2021 lecture (part I): [[https://youtu.be/sJ5SwK1nR0Q|Youtube video]] * video of the year 2021 lecture (part II): [[https://youtu.be/AynG-xtTC90|Youtube video]] --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2017/20/12 21:18//