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