General Information
- Location: WeWork, 600 California St, San Francisco
- Instructor:
- Name: Julien Delange
- Instructor Email: julien - @ - northeastern.edy 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
The class takes place in Summer 2, which starts on June,29 2020.
This is the schedule for the incoming classes.
- Module 1: July, 1 2020 - 6:00pm to 9:00pm
- Module 2: July, 8 2020 - 6:00pm to 9:00pm
- Module 3: July, 15 2020 - 6:00pm to 9:00pm
- Module 4: July, 22 2020 - 6:00pm to 9:00pm
- Module 5: July, 29 2020 - 6:00pm to 9:00pm
- Module 6: August, 05 2020 - 6:00pm to 9:00pm
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