DPS912 Course Outline

Course Code: DPS912
Course Name: Topics in UNIX Systems Programming
Offered Date: Winter - 2018 | Other versions
Print Outline
Course Description:
UNIX, the operating system of choice for much of the Internet, is the most versatile non-platform-specific, general-purpose computing environment available. This subject explores UNIX at a technical level. The primary focus will be system and network programming using C. Students will also learn to use development tools and utilities.
Credit Status: 1 credit in the BSD program.
Prerequisite: BTP300
Mode of Instruction: Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total)
Learning Outcomes:
  • Code UNIX client/server applications
  • Work with C programs and libraries to develop UNIX applications
  • Understand and use UNIX inter-process communication facilities
  • Make effective use of UNIX commands, utilities and filters
Employability Skills:
Respond to written, spoken, or visual messages in a manner that ensures effective communication.|Apply a systematic approach to solve problems.|Use a variety of thinking skills to anticipate and solve problems.|Manage the use of time and other resources to complete projects.|Take responsibility for one's own actions, decisions, and consequences.|
Topic Outline:
  • Unix Background
    • History (flavours, origins)
    • Shells (Bourne, Korn, Bash)
    • OS Functions (resource management)
  • Programming Facilities
    • Debugging (gdb, Electric Fence, Valgrind)
    • Makefiles
    • Libraries (Static vs. Dynamic)
    • Memory Management (Static, Stack, Heap)
  • UNIX File System and Environment
    • File system (Inode structure)
    • System Calls (Accessing and Maintaining files and directories)
    • Environment Variables
  • Terminals
    • Termcap
    • Terminfo
    • Curses Library
  • Processes and Signals
    • Process creation
    • Parent & Child processes
    • Signal handlers
    • Threads
  • Inter-Process Communications
    • Pipes
    • Semaphores
    • Shared Memory
    • Messge Queues
  • Sockets
    • Types
    • Client/Server
    • Common Functions
  • The Shell
    • Review functionality and basic commands
Prescribed Text(s):
  • Advanced Programming in the Unix Environment by Richard Stevens and Stephen Rago - Addison-Wesley Professional; 2nd edition - ISBN 0-321-52594-9
Reference Material:
  • None
  • None
Promotion Policy:
  • Pass the weighted average of all assessments
  • Pass the weighted average of the exam and the tests
  • Pass the final exam
  • Successfully complete all of the assignments and exercises. Submissions that do not meet specifications will be returned to the student for revision and resubmission.
Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Term Work 30%
Mid-Term Test 30%
Final Exam 40%
Approved By:
Mary-Lynn Manton
Cheating and Plagiarism:
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.
Discrimination and Harassment:
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.
Accomodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Program Information