General Information

  • Location: WeWork, 600 California St, San Francisco
  • Instructor:
    • Name: Julien Delange
    • Instructor Email: julien - @ - gunnm.org with subject prefix: [CS5007]
    • Office Hours: to be announced.
  • Assisistant
    • Name: to be announced.
    • Assistant email: to be announced.
    • Office Hours: to be announced.

Materials Repository

You can find the Git repository for this class on GitHub at juli1/CS5007-materials.

Schedule

To be announced.

Modules

Module 1: Introduction & shell scripting

  • Concepts: Generalities on computer architecture, UNIX principles, what is POSIX, command line usage, shell scripting
  • Slides: to be added
  • Lab Project: shell script

Module 2: The C programming language

  • Concepts: data structure, header file, instructions, pointers, data types
  • Slides: to be added
  • Lab Project: c program with pointers manipulation

Module 3: Compiler Principles & Assembly Language

  • Concepts: what is a preprocessor, a linker, translating code from one language to the other. Introducion to Assembly Language. What is a library and how to create one.
  • Slides: to be added
  • Lab Project: source code analysis

Module 4: Process Management

  • Concepts: concept of a process, memory management/protection
  • Slides: to be added
  • Lab Project: mini-shell

Module 5: File and I/O

  • Concepts: concept of a process, memory management/protection
  • Slides: to be added
  • Lab Project: chat server/client

Module 6: Concurrency

  • Concepts: thread, mutex, semaphore, barrier. sync vs. async
  • Slides: to be added
  • Lab Project: concurrent chat server

Final Exam

To be added

Resources

Books

Websites