CS270 - System Software

Instructor: Bob Rinker
Office: Moscow: JEB 235, CdA: Innovation Den, 418 E Lakeside
Email: rinker@cs.uidaho.edu
Phone: (208)885-7378
Office Hours (Spring 2021): 10:00-11:00 MWF via Zoom or by appointment
Office hours will be conducted online via zoom. Go to zoom.uidaho.edu and enter ID: 139-231-823 This will put you into the "waiting room." I will then invite you into the session when I'm free. If you get the message "Please wait for the host to start this meeting," it means that I am not available for a video session - please email me to make an appointment.

Catalog Description:

CS270 System Software (3 CR) Programming productivity tools such as make. Debugging tools. Linking and loading. Shell Programming and scripting languages. Process management and interprocess communication. Concurrent programming using threads. Exception handling. Prereq: CS121.


Syllabus:

Downloadable from here ( pdf ).


Grading:

Your grade will be calculated using the following percentages:
Mini Exams (7 @ 7% each) 49%
Final exam (comprehensive) 20%
Homework/Programming Assignments 30%
Bonus for doing all assignments 6%
Total 100%

The letter grade you receive from the course will be determined as follows:
90%-100%A
89.9%-80%B
79.9%-70%C
69.9%-60%D
Below 60%F
The instructor reserves the right to adjust these percentages lower if deemed necessary.


Announcements:

Any announcements for the class will appear here.
Welcome to the class!

I believe that you can now see the correct answers and your answers to each of the mini exams, to facilitate your study for the final.

The final is scheduled for friday, May 14, 10:15am-12:15pm. The time on the syllabus is wrong.

I will make the final exam available starting at 10:15 - you can take it any time the rest of the day - you will have two hours after you start. I will be available via my zoom advising/office hours link during the regular final time (10:15-12:15) if you have any questions. The link is 139 231 823 .

For your convenience, lectures are being recorded. To watch the recording of a particular lecture, go to stream.uidaho.edu . Once you log in with your UI ID and Password, Choose "Groups" from the "My Content" pulldown. One of the groups should be the CS270 group. Once you click on that group, you will see the recordings. Lectures will show up shortly after they are recorded, usually in a few hours.

Notes and Handouts:

Will appear here when needed in class.
- Slides on UNIX and Operating System history ( pdf ) and ( pdf )
- Some intro slides ( pdf )
- Main differences between C and C++ ( pdf )
- Slides on the C/C++ Compiler and runtime environment ( pdf )
A tar file containing the files used in class are available ( here )
- Basic UNIX commands ( pdf )
- UNIX File system ( pdf )
- Slides on C strings and command line arguments ( pdf )
- Slides on advanced UNIX commands ( pdf )
- Slides on the shell ( pdf )
- Slides on the shell as a programming language, shell scripts ( pdf )
- Slides on networking ( pdf )
- Slides on disk formats ( pdf )
- Slides on the make utility ( pdf )
- Slides on Operating System functions ( pdf )
- Slides on System Calls - what are they? ( pdf )
- Slides on Programming tools ( pdf )
- Slides on UNIX System Calls ( pdf )
- Slides on UNIX Socket System Calls ( pdf )
- The code for the cook/chef example (CTRL-click to download) ( tar )
- Slides on PERL ( pdf )
- The code used in the gdb example from chapter 11 in the book ( tar )


Assignments:

Will appear here sometime after they are assigned.
- Submitting programs using cscheckin ( pdf )
- Assignment #0: ( pdf )
- Assignment #1: ( pdf ) Due: February 1
- Assignment #2: ( pdf ) Due: February 19 - NOTE CHANGE!!!
- Assignment #3: ( pdf ) Due: March 1
- Assignment #4: ( pdf ) Due: April 2
- Assignment #5: ( pdf ) Due: April 12
- Assignment #6: ( pdf ) Due: April 19
- Assignment #7: ( pdf ) Due: April 26
- Assignment #8: ( pdf ) Due: May 7


Links to other useful information

Network vocabulary ( pdf )
ELF file format description pdf
An ASCII code chart ( pdf or ps )
A decent vi editor Cheat Sheet (pdf or ps)
Unix tutorial (from the University of Edinburgh) here.


Last updated Monday, April 12, 2021