Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

System Development in the UNIX Environment
605.734


Course Description
This course covers advanced software development (languages, methodology, and tools) in the Unix Operating System environment. Aspects of developing a software system containing several programs are covered. Topics include Unix system calls, managing Unix processes, basic and advanced interprocess communication, advanced makefile usage, and source code configuration control.

Syllabus

  1. Overview, UNIX History
  2. Make and Makefiles
  3. Libraries, UNIX Standards
  4. Basic File I/O
  5. Advanced File I/O
  6. Processes
  7. Processes (cont.)
  8. Basic Unix IPC
  9. Berkely Sockets
  10. Signals
  11. System V Shared Memory
  12. System V messages, Semaphores
  13. Terminal I/O
  14. Pseudo Terminals

Prerequisites
605.434 Software Development in the UNIX Environment or permission of instructor

Instructor
John Noble is currently a senior mathematician at the Johns Hopkins Applied Physics Laboratory. He has a M.S. in mathematics from the Pennsylvania State University.
E-mail the instructor.

Computer Lab Requirements
C, C++

Textbook
Advanced Programming in the UNIX Environment by W. Richard Stevens

Additional Course Information


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Fall 1997