CSCI2467: Systems Programming Concepts (Spring 2020)

UPDATE: Click HERE for online class information.

Course Information

For details See the course syllabus (links below) for details.
Class meetings Section 001 (syllabus): Mondays, Wednesdays and Fridays, 10:00am - 10:50am
Section 002 (syllabus): Mondays, Wednesdays and Fridays, 12:00pm - 12:50pm
Course Instructors David Guy
Summary This course is an introduction to systems programming, specifically using the C programming language in the Unix environment. This semester we will look “under-the-hood” of a modern computer system which will prepare students for future courses in systems topics such as operating systems, networks, security, computer architecture and compilers. Systems skills will also be useful in most other academic or professional topics you will face as a computer scientist. Topics will include machine-level representation of data and programs, debuggers, process control, system calls, signals and shells.
Prerequisites: CSCI 2120 (Software Design and Development II)
CSCI 2450 (Machine Structure and Assembly Language Programming)
Required Text Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A Programmer's Perspective, Third Edition, Pearson, 2016
Optional Text Brian W. Kernighan and Dennis M. Ritchie,
The C Programming Language, Second Edition, Prentice Hall, 1988
Required Downloads Parlante, Nick, Essential C Stanford CS Library, 2003
Parlante, Zelenski, et al., Unix Programming Tools Stanford CS Library, 2001
Grading Composed from total lab performance (50%) and total exam performance (50%).
Labs There are 5 labs of 40 points each (10% of total score per lab). See the assignments page for details.
Exams There are two written exams for the course:
  • One midterm exam, in class, worth 100 points (25% of total).
  • One final exam, during exam week, worth 100 points (25% of total).
  • Moodle We are not using Moodle for this course. All course information will be available on this site, all handins will be via AutoLab. (see below)
    AutoLab AutoLab is our new web-based system for handing in and grading programming assignments.

    Spring 2025, University of New Orleans Department of Computer Science