Fundamentals of Programming 2

by Arkadiusz Chrobot published 2019/02/25 21:44:00 GMT+1, last modified 2024-04-16T11:40:41+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 Course Description

  1. Pointers And Dynamically Allocated Variables --- handout
  2. Recursion, Divide-And-Conquer --- handout
  3. Stack and Queue --- handout
  4. Singly Linked List And Doubly Linked List --- 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 arrays)
  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 programs from the fourth lecture (singly linked list and doubly linked list)

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. Programmers Heaven
  3. MIT OpenCourseWare
  4. Udacity
  5. Coursea