Programming 1
General Info
Lectures | mgr inż. Paweł Aszklar | Wednesdays, 4:15 p.m. - 6:00 p.m., on-line |
---|---|---|
Tutorials | dr inż. Rafał Jóźwiak | Fridays, 4:15 p.m. - 6:00 p.m., on-line |
dr inż. Grzegorz Ostrek | Fridays, 4:15 p.m. - 6:00 p.m., r. 107 (*,†) | |
mgr inż. Paweł Aszklar | Fridays, 4:15 p.m. - 6:00 p.m., r. 210 (*,†) | |
Laboratories | dr inż. Rafał Jóźwiak | Fridays, 12:15 p.m. - 2:00 p.m., on-line |
Fridays, 2:15 p.m. - 4:00 p.m., on-line | ||
dr inż. Grzegorz Ostrek | Fridays, 12:15 p.m. - 2:00 p.m., r. 203(†) | |
Fridays, 2:15 p.m. - 4:00 p.m., r. 203(†) | ||
inż. Przemysław Włodarski | Fridays, 12:15 p.m. - 2:00 p.m., on-line | |
Fridays, 2:15 p.m. - 4:00 p.m., on-line | ||
Aleksander Płocharski | Fridays, 12:15 p.m. - 2:00 p.m., r. 219(†) | |
Fridays, 2:15 p.m. - 4:00 p.m., r. 202(†) | ||
mgr inż. Paweł Aszklar | Fridays, 12:15 p.m. - 2:00 p.m., r. 218(†) | |
Fridays, 2:15 p.m. - 4:00 p.m., r. 201(†) | ||
(*) - 7 classess, schedule below. | ||
(†) - remote classes starting Friday, October 23rd |
To access on-line lectures, please log in to your university MS Teams account to see if you are part of the team for this subject. If not, please regularly check your university, faculty and personal e-mail accounts for an invitation link. If you still don't have access before the date of the first lecture, please e-mail me directly to the address listed on the about me page.
Important Notice
Starting October 23rd 2020 all classes and tests will be held remotely until January 29th 2021 at least November 15th 2020. Information if the period will be extended further will be provided on November 9th at the latest.
Laboratory and Tutorial Schedule
October 9th
- Tutorial Laboratory 0 - Intro
- Tutorial Exercises 1 - C Language Basics
October 16th
- Tutorial Laboratory 1 - C Language Basics
- Tutorial Exercises 2 - Functions and Arrays
October 23rd
- Graded Laboratory 1 - C Language Basics
- Tutorial Exercises 3 - Pointers and Arrays
October 30th
- Tutorial Laboratory 2 - Functions, Arrays and Pointers
- Tutorial Excercises - Early Final Test, Written Part
November 6th
- Graded Laboratory 2 - Functions, Arrays and Pointers
- Tutorial Exercises 4 - Character Strings
November 20th
- Graded Laboratory 3 - Character Strings
- Tutorial Exercises 5 - Data Structures
November 27nd
- Tutorial Laboratory 3 - Data Structures
December 4th
- Graded Laboratory 4 - Data Structures
- Tutorial Exercises 6 - Memory Allocation
December 11th
- Tutorial Laboratory 4 - Memory Allocation
December 18th
- Graded Laboratory 5 - Memory Allocation
- Tutorial Exercises 7 - Linked Lists
January 8th
- Tutorial Laboratory 5 - Linked Lists
January 15th
- Graded Laboratory 6 - Linked Lists
January 22nd
- Tutorial Laboratory 6 - Files
- Tutorial Exercises - Final Test
January 29th
- Graded Laboratory 7 - Files
- Tutorial Exercises - 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
Downloads
- Rules
- Introduction to recommended development environments
- C Project Template for Visual Studio 2017 and Visual Studio 2019 — installation instruction in the Introduction above
Links
- C Reference - documentation of C language and its standard library (Local copy)