Fundamentals of Programming 2

by Arkadiusz Chrobot published 2019/02/25 21:44:00 GMT+1, last modified 2026-05-07T18:35:40+01:00
Learning materials for the Fundamentals of Programming 2 course.

Be warned, that published here lecture notes were not reviewed and despite my best efforts may contain errors!

Lectures

Grading Rules

Formal Description of The Course

  1. Pointers And Dynamically Allocated Variables --- handout
  2. Recursion, Divide-And-Conquer --- handout
  3. Stack And Queue --- handout

Literature and other resources

Primary Literature:

  1. Brian W. Kernighan, Denis M. Ritchie,  “The C Programming Language”, Second Edition, Prentice-Hall Inc., Upper Saddle River, 2012
  2. Stephen Prata, “C Primer Plus”, 6th Edition, Addison-Wesley, Upper Saddle River, 2015
  3. Zed A. Shaw, “Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C)”, Addison-Wesley, Upper Saddle River, 2016
  4. Jon Bentley, “Programming Pearls” Addison-Wesley, Inc., Upper Saddle River, 2000
  5. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, “Data Structures and Algorithms”, Addison-Wesley Inc., Upper Saddle River, 1987

Additional Literature:

  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, “Introduction to Algorithms”, 3rd edition, MIT Press, Cambridge US, 2009
  2. Donald E. Knuth, “The Art of Programming”, Vol. 1 -3, Addison-Wesley Inc., Reading, Massachusetts, 2011
  3. Robert Sedgewick, Kevin Wayne, “Algorithms”, 4th edition, Addison-Wesley Inc., Reading, Massachusetts, 2011
  4. Steven S. Skiena, “The Algorithm Design Manual”, Springer-Verlag, London, 2008
  5. Jens Gustedt, "Modern C", Manning, New York, 2020 (online: https://gustedt.gitlabpages.inria.fr/modern-c/)

Source Code:

  1. The source code of programs from the first lecture (pointers and dynamically allocated variables)
  2. The source code of programs from the second lecture (recursion, divide-and-conquer)
  3. The source code of programs from the third lecture (stack and queue)
  4. The source code of a program that implements the shunting yard algorithm

Internet Resources

The C Language Related:
  1. Wikibooks: C Programming
  2. The GNU C programming tutorial
  3. Learning GNU C
  4. The GNU C Library
Programming Related in General:
  1. Computerphile
  2. MIT OpenCourseWare
  3. Udacity
  4. Coursea