mgr inż. Paweł Aszklar

Zakład Projektowania Systemów CAD/CAM i Komputerowego Wspomagania Medycyny Faculty of Mathematics and Information Science Warsaw University of Technology

Programming 1

General Info

LecturesPaweł AszklarWednesday, 4:30 p.m. - 6:00 p.m., 328
TutorialsGrzegorz OstrekMondays, 6:15 p.m. - 8:00 p.m., r. 216 (*)
Rafał JóźwiakFridays, 4:15 p.m. - 6:00 p.m., r. 216 (*)
Paweł AszklarFridays, 4:15 p.m. - 6:00 p.m., r. 213 (*)
LaboratoriesRafał JóźwiakFridays, 12:15 p.m. - 2:00 p.m., r.302
Fridays, 2:15 p.m. - 4:00 p.m., r. 302
Aleksander PłocharskiFridays, 12:15 p.m. - 2:00 p.m., r. 303
Paweł AszklarFridays, 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

Laboratories

Downloads

Links