Welcome!
Prerequisites
- INFS 590 (Program Design and Data Structures) or permission of instructor.
Further Assumptions:
- Access to recent (2.6.x) Linux environment.
- Familiarity with a decent editor (VIM or Emacs) or an IDE, and the GCC.
|
Course Description
This course is a hands-on in-depth introduction to the structure of the Unix operating system with emphasis to the system libraries using ANSI C. It is appropriate for students who want to learn the principles of how to design and implement system applications. The course begins with an introduction of the C programming language and continues with the basic Unix Operating System data structures and Application Programming Interfaces (APIs). Using hands-on laboratory exercises students will be exposed to the concepts of inter-process communications, synchronization, and process and thread management with emphasis on security applications.
Goals
- Demystify systems programming
- Focus on principles, methods, and tools
- Sound application design principles
- Efficient and secure implementation strategies
- Concepts and mechanics of secure programming.
- UNIX operating system programming environment.
- Develop applications using popular tools and systems including C, UNIX, IPC, and threading.
Personnel
Name | Role | Email | Office Hours |
Muhammad Abdulla |
Instructor |
|
By appointments only. |
Emad Albassam |
TA |
|
By appointments only. |
Time and Location
Class Time: | Tuesdays 19:20 - 22:00 |
Class Duration: | Jan 21, 2014 - May 13, 2014 |
Final Exam: | May 13, 2014 |
Class Location: | ENGR 1108 |
|
Date & Time
(EST)
|