Programming 1
General Info
Lectures | Paweł Aszklar | Wednesday, 4:30 p.m. - 6:00 p.m., 328 |
---|---|---|
Tutorials | Grzegorz Ostrek | Mondays, 6:15 p.m. - 8:00 p.m., r. 216 (*) |
Rafał Jóźwiak | Fridays, 4:15 p.m. - 6:00 p.m., r. 216 (*) | |
Paweł Aszklar | Fridays, 4:15 p.m. - 6:00 p.m., r. 213 (*) | |
Laboratories | Rafał Jóźwiak | Fridays, 12:15 p.m. - 2:00 p.m., r.302 |
Fridays, 2:15 p.m. - 4:00 p.m., r. 302 | ||
Aleksander Płocharski | Fridays, 12:15 p.m. - 2:00 p.m., r. 303 | |
Paweł Aszklar | Fridays, 12:15 p.m. - 2:00 p.m., r. 301 | |
Fridays, 2:15 p.m. - 4:00 p.m., r. 301 | ||
(*) - 7 classess, schedule below. | ||
Tutorial and Laboratory Schedule
October 8th
- Exercise Lab 1 - Intro
- Tutorial 1 - C Language Basics (Friday groups)
October 11th
- Tutorial 1 - C Language Basics (Monday group)
October 15th
- Exercise Lab 2 - C Language Basics
- Tutorial 2 - Functions and Arrays (Friday groups)
October 18th
- Tutorial 2 - Functions and Arrays (Monday group)
October 22nd
- Graded Lab 1 - C Language Basics
- Tutorial 3 - Pointers and Arrays (Friday groups)
October 25th
- Tutorial 3 - Pointers and Arrays (Monday group)
October 27th
- Early final - Written test part, 6:15 p.m. - 8:00 p.m., r. 103
October 29th
- Exercise Lab 3 - Functions, Arrays and Pointers
November 3rd
- Early final - Laboratory part, 2:15 p.m. - 4:00 p.m., r. 303
November 5th
- Graded Lab 2 - Functions, Arrays and Pointers
- Tutorial 4 - Character Strings (Friday groups)
November 15th
- Tutorial 4 - Character Strings (Monday group)
November 19th
- Graded Lab 3 - Character Strings
- Tutorial 5 - Data Structures (Friday groups)
November 22nd
- Tutorial 5 - Data Structures (Monday group)
November 26th
- Exercise Lab 4 - Data Structures
December 3rd
- Graded Lab 4 - Data Structures
- Tutorial 6 - Memory Allocation (Friday groups)
December 6nd
- Tutorial 6 - Memory Allocation (Monday group)
December 10th
- Exercise Lab 5 - Memory Allocation
December 17th
- Graded Lab 5 - Memory Allocation
- Tutorial 7 - Linked Lists (Friday groups)
December 20th
- Tutorial 7 - Linked Lists (Monday group)
December 21st
- Exercise Lab 6 - Linked Lists
January 10th
- Graded Lab 6 - Linked Lists
January 14th
- Exercise Lab 7 - Files
January 19th
- Final Test, 4:15 p.m. - 6:00 p.m., r. 107 - No lecture this day
January 21st
- Graded Lab 7 - Files
January 26th
- Final Test Retake, 6:15 p.m. - 8:00 p.m., r. 329
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 1
- Exercise Task 2
- Graded Task 1
- Exercise Task 3
- Graded Task 2
- Graded Task 3
- Exercise Task 4
- Graded Task 4
- Exercise Task 5
- Graded Task 5
- Exercise Task 6
- Graded Task 6
- Exercise Task 7
- Graded Task 7
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)