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 James Wagner
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.
    Slack channel There is an unofficial slack channel within the organization set up by ACM, the CS student group. Anyone with a UNO email address can log in.
    #2467-systems channel on acmuno.slack.com.

    Spring 2020, University of New Orleans Department of Computer Science