Sonoma State University

Department of Computer Science

CS-210: Introduction to Unix

Fall 2026

Course Description

This course is an introduction to the use of Linux/Unix as a programming environment. Communicating with a Linux host, shells and shell commands, files and directories, jobs and processes, scripting, programming utilities (compiler, linker, debugger, make, hex dump, etc.).

Prerequisites

Prerequisites: Grade of C- or better in CS 115 and previous or concurrent enrollment in CS 215, or consent of instructor.

Instructor

Robert Bruce

Learning Outcomes

Upon successful completion of this course, students will be able to:

  1. Use a Unix command line interface.
  2. Navigate the Unix file system and perform common file operations.
  3. Use standard Unix commands and utilities.
  4. Write basic shell scripts.
  5. Use regular expressions in Unix commands.
  6. Use Unix development tools (vim, gcc, gdb, make).
  7. Demonstrate technical fluency in speaking about the Unix environment.

Required Texts/Readings

Course Requirements

Midterm Examination

The midterm exam covers chapters 1 through 12 (inclusive), chapter 17, and chapter 18 of Shotts' The Linux Command Line. The midterm exam will be comprised of open-ended questions. The exam will be closed-book. You may use one A4 sheet of paper (8.5 inches width by 11 inches length) for notes during the midterm examination. You may write notes on both sides of the sheet of paper.

Final Examination

The final exam will covers chapter 19, chapter 20, and chapters 23 through 35 (inclusive) of Shotts' The Linux Command Line. The final exam will be comprised of open-ended questions. The exam will be closed-book. You may use one A4 sheet of paper (8.5 inches width by 11 inches length) for notes during the midterm examination. You may write notes on both sides of the sheet of paper.

Grading Information

Assignment Percentage of Grade
Exercises 60%
Midterm exam
midterm_exam_study_guide
20%
Final exam
Final exam study guide
Real final exam from former semester
20%
TOTAL 100%

Determination of Grades

Ultimately this course is graded A, B, C, D, or F. Percentage grades are rounded to the nearest whole number. For example, a grade of 92.4% will be rounded to 92% and result in a grade of "A minus". A grade of 92.5% will be rounded to 93% and result in a grade of "A".

Grading Scale

Percent range Grade
93% to 100% inclusive A
90% to 92% inclusive A-
87% to 89% inclusive B+
83% to 86% inclusive B
80% to 82% inclusive B-
77% to 79% inclusive C+
73% to 76% inclusive C
70% to 72% inclusive C-
67% to 69% inclusive D+
63% to 66% inclusive D
60% to 62% inclusive D-
Below 60% F

Grading Policies

Late assignments

Absent extenuating circumstances (illness, family emergency), late submissions will be accepted under the late policy until the advertised "Until" deadline on Canvas. The late policy is minus 10% per day, and never grows more than minus 50% markdown (as long as the assignment is submitted before the final deadline via Canvas).

Late exams and quizzes
  • There are no make-up exams.
  • Official proof of emergency required for missing an exam, project, or project presentation.

Course Schedule

//background-color:
Week Topics and Assignments Readings and Deadlines
Week 1:
Tuesday, August 25, 2026
Lecture: Success in CS-210: Introduction to Unix.
Exercise 1
Chapter 1: What is the shell?
Chapter 2: Navigation
Commands covered: date, cal, df, free, exit, pwd, cd, ls
Week 2:
Tuesday, September 1, 2026
Exercise 2 Chapter 3: Exploring the system
Chapter 4: Manipulating files and directories
Commands covered: ls, file, less, cp, mv, mkdir, rm, ln
Week 3:
Tuesday, September 8, 2026
Exercise 3 Chapter 5: Working with Commands
Chapter 6: Redirection
Commands covered: type, which, help, man, apropos, info, whatis, alias, cat, sort, uniq, grep, wc, head, tail, tee
Week 4:
Tuesday, September 15, 2026
Exercise 4 Chapter 7: Seeing the world as the shell sees it
Chapter 8: Advanced Keyboard Tricks
Commands covered: echo, history, script
Week 5:
Tuesday, September 22, 2026
Exercise 5 Chapter 9: Permissions
Chapter 10: Processes
Commands covered: id, chmod, umask, su, sudo, chown, chgrp, passwd, ps, top, jobs, bg, fg, kill, killall, shutdown, pstree, vmstat, xload, tload
Week 6:
Tuesday, September 29, 2026
Exercise 6 Chapter 11: The environment
Chapter 12: A Gentle Introduction to vi(m)
Commands covered: printenv, set, export, alias
Week 7:
Tuesday, October 6, 2026
Midterm exam study guide
Exercise 7
Chapter 17: Searching for files
Chapter 18: Archiving and backup
Commands covered: locate, find, xargs, touch, stat, gzip, bzip2, tar, zip, rsync, gunzip, zcat, tar, zip, unzip
Week 8:
Tuesday, October 13, 2026
MIDTERM EXAM
Note: the midterm exam covers chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, and 18.
 
Week 9:
Tuesday, October 20, 2026
Lecture: A brief introduction to HTML5
Exercise 8
Chapter 19: Regular expressions
Chapter 20: Text processing
Commands covered: grep, zgrep, locale, cat, sort, uniq, cut, paste, join, comm, diff, patch, tr, sed, aspell, du
Week 10:
Tuesday, October 27, 2026
Exercise 9 Chapter 23: Compiling programs
Chapter 24: Writing your first script
Commands covered: make, gcc, wget
Week 11:
Tuesday, November 3, 2026
Exercise 10 Chapter 25: Starting a project
Chapter 26: Top-down design
Week 12:
Tuesday, November 10, 2026
Lecture: Introduction to make and cmake
Exercise 11
Chapter 27: Flow control: branching with if
Chapter 28: Reading keyboard input
Week 13:
Tuesday, November 17, 2026
Lecture: Introduction to AWK
Exercise 12
Chapter 29: Flow Control: Looping with while / until
Chapter 30: Troubleshooting
Week 14:
Tuesday, November 24, 2026
Exercise 13: (Test my applications on Blue to ensure they work with GDB properly.) Chapter 31: Flow Control: branching with case
Chapter 32: Positional parameters
Week 15:
Tuesday, December 1, 2026
Exercise 14 Chapter 33: Flow Control: Looping with for
Chapter 34: Strings and numbers
Chapter 35: Arrays
Week 16:
Tuesday, December 8, 2026
Exercise 15: (This exercise prepares students for the final exam). 
Tuesday, December 15, 2026 FINAL EXAM at 3:30PM