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

Lecturesmgr inż. Paweł AszklarWednesdays, 4:15 p.m. - 6:00 p.m., on-line
Tutorialsdr inż. Rafał JóźwiakFridays, 4:15 p.m. - 6:00 p.m., on-line
dr inż. Grzegorz OstrekFridays, 4:15 p.m. - 6:00 p.m., r. 107 (*,†)
mgr inż. Paweł AszklarFridays, 4:15 p.m. - 6:00 p.m., r. 210 (*,†)
Laboratoriesdr inż. Rafał JóźwiakFridays, 12:15 p.m. - 2:00 p.m., on-line
Fridays, 2:15 p.m. - 4:00 p.m., on-line
dr inż. Grzegorz OstrekFridays, 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łodarskiFridays, 12:15 p.m. - 2:00 p.m., on-line
Fridays, 2:15 p.m. - 4:00 p.m., on-line
Aleksander PłocharskiFridays, 12:15 p.m. - 2:00 p.m., r. 219(†)
Fridays, 2:15 p.m. - 4:00 p.m., r. 202(†)
mgr inż. Paweł AszklarFridays, 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

Laboratories

Downloads

Links