Programming 1
General Info
Lectures | Paweł Aszklar | Wednesday, 2:15 p.m. - 4:00 p.m., r. 329 |
---|---|---|
Tutorials | Maciej Spychała | Fridays, 4:15 p.m. - 6:00 p.m., r. 213 (*) |
Szymon Zyguła | Fridays, 4:15 p.m. - 6:00 p.m., r. 213 (*) | |
Paweł Aszklar | Fridays, 4:15 p.m. - 6:00 p.m., r. 212 (*) | |
Laboratories | Maciej Spychała | Fridays, 12:15 p.m. - 2:00 p.m., r.201 |
Fridays, 2:15 p.m. - 4:00 p.m., r. 201 | ||
Szymon Zyguła | Fridays, 2:15 p.m. - 4:00 p.m., r. 301 | |
Paweł Aszklar | Fridays, 12:15 p.m. - 2:00 p.m., r. 203 | |
Fridays, 2:15 p.m. - 4:00 p.m., r. 203 | ||
(*) - 7 classes, schedule below. | ||
Tutorial and Laboratory Schedule
October 4th
- Exercise Lab 0 - Intro
- Tutorial 1 - C Language Basics
October 11th
- Exercise Lab 1 - C Language Basics
- Tutorial 2 - Functions and Arrays
October 18th
- Graded Lab 1 - C Language Basics
- Tutorial 3 - Pointers and Arrays
October 23rd
- Early final - Written test part, 4:15 p.m. - 6:00 p.m., r. 329
October 25th
- Exercise Lab 2 - Functions, Arrays and Pointers
- Early final - Laboratory part, 4:15 p.m. - 6:00 p.m., r. 302
November 8th
- Graded Lab 2 - Functions, Arrays and Pointers
- Tutorial 4 - Character Strings
November 15th
- Graded Lab 3 - Character Strings
- Tutorial 5 - Data Structures
November 22nd
- Exercise Lab 4 - Data Structures
November 29th
- Graded Lab 4 - Data Structures
- Tutorial 6 - Memory Allocation
December 6th
- Exercise Lab 5 - Memory Allocation
December 13th
- Graded Lab 5 - Memory Allocation
- Tutorial 7 - Linked Lists
December 20th
- No Classes - Merry Christmas!
January 3rd
- Exercise Lab 6 - Linked Lists
January 10th
- Graded Lab 6 - Linked Lists
January 17th
- Exercise Lab 7 - Files
- Tutorial - Final Test
January 24th
- Graded Lab 7 (Retake) - Files
- Tutorial - Final Test Retake
Lectures
Lecture 1 (Source code)
- Course overview
- Stages of creation of a program
- Simple C program structure
Lecture 2 (Source code)
- C language elements
- C statemets
- Program flow control
Lecture 3 (Source code)
- C statements continued
- Function definitions
- Pointers and arrays
- Variable declarations
Lecture 4 (Source code)
- Basic built-in types
- C constants
- Enumerated types
Lecture 5 (Source code)
- Multiple source files
- Build process in C
- Preprocessor directives
Lecture 6 (Source code)
- C operators
- Data structures
Lecture 7 (Source code)
- Unions
- typedef declarations
- Pointer arithmetics
- Memory managements
Lecture 8 (Source code)
- Sorting algorithms
- Standard formatted input and output
(printf and scanf functions)
Lecture 9 (Source code)
- Singly and doubly linked list
- Circular lists
- Implementation of doubly linked list
Lecture 10 (Source code)
- Generalization of linked list data structure
- File streams
Lecture 11 (Source code)
- Character string handling functions
(<string.h> library) - Variable visibility, lifetime and linkage
- Declarations with initializers
Lecture 12 (Source code)
- Function pointers
- C standard library overview
Lecture 13
- C standard library overview contd.
- Multidimensional arrays
- main function parameters
Lecture 14 (Source code)
- Bitwise operators
- Variadic functions
- Recursion
Lecture 15
- _Bool and _Complex types
- Fixed-width integer types
- Type generic expressions
- Type generic math library
- C vs C++
Exercises
- Exercise Set 1
- Exercise Set 2
- Exercise Set 3
- Exercise Set 4
- Exercise Set 5
- Exercise Set 6
- Exercise Set 7
- Exercise Set 8
Laboratories
- Exercise Task 0
- Exercise Task 1
- Graded Task 1
- Exercise Task 2
- Graded Task 2
- Exercise Task 3
- Graded Task 3
- Exercise Task 4
- Exercise Task 6
- Exercise Task 7
Downloads
- Rules
- Introduction to recommended development environments
- C Project Template for Visual Studio 2019, and 2022 — installation instruction in the Introduction above
Links
- C Reference - documentation of C language and its standard library (Local copy)