Home
  • Info
    • Requirements
    • Login to the portal
    • Schedule of classes & tests
    • Homework
    • Recommended IDE
    • Recommended reading
  • Classes
    • Lectures
    • Laboratories
      • week 1: Operating systems, IDE
      • week 2: Simple programs
      • week 3: Loops
      • week 4: Arrays
      • week 5: Functions
      • week 6: Structures
      • week 7: Pointers
      • week 8: Simple string manipulation
      • week 9: Dynamic strings
      • week 10: Files
      • week 11: Linked lists
      • week 12: Recursion
      • week 13: Binary trees
      • week 14: Firework
    • Classroom practices
      • week 1: Algorithms, data, expressions
      • week 2: Basic loops
      • week 3: Basic algorithms in C
      • week 4: Arrays
      • week 5: Functions
      • week 6: Structures
      • week 7: Pointers
      • week 8: Strings, dynamic strings
      • week 9: Strings, dynamic strings
      • week 10: Dynamic arrays, part I.
      • week 11: Dynamic arrays, part II.
      • week 12: Linked lists
      • week 13: Binary trees
      • week 14: State machines
  • Extras
    • SDL
    • learning tasks
      • Topic 1: Print/scan tasks
      • Topic 2: If/else, switch, loops tasks
      • Topic 3: Static arrays tasks
      • Topic 4: Functions tasks
      • Topic 5: Simple strings tasks
      • Topic 6: Pointers tasks
      • Topic 7: Dynamic Strings tasks
      • Topic 8: Dynamic arrays tasks
      • Topic 9: File I/O tasks
      • Topic 10: Recursion tasks
      • Topic 11: linked lists tasks
      • Topic 12: Binry trees tasks
  • CProg portal

Lecture slides

WeekHandout
1. Introduction
2. Structured programs - Elements of C language
3. Arithmetic types in C
4. Vector algorithms - Arrays
5. Functions
6. Structures - Operators
7. Pointers - Strings
8. No lecture
9. Strings - Dynamic memory management
10. Enums - File handling
11. Dynamic data structures - Linked lists
12. Multi-dimensional arrays - Recursion
13. Binary trees
14. Doubly linked lists - Special lists