ISA 563: Fundamentals of Systems Programming

Spring 2013
Muhammad Abdulla
General Information | Textbooks | Schedule & Notes | Projects | Policies


  • 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.

BulletCourse 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.


  • 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.


Name Role Email Office Hours
Muhammad Abdulla Instructor Tuesdays 4:30--6:30 PM (Location TBD)

BulletTime and Location

Class Time: Tuesdays 19:20 -- 22:00
Class Duration: Jan 22, 2013 - May 14, 2013
Final Exam: May 14, 2013
Class Location: IN 136

Date & Time
bullet (EST)
What is New?
© 2008-2010 Muhammad Abdulla
Last Modified: January 21, 2013