CS 388 – UNIX Systems Programming Syllabus Instructor: Dr. Jack Tan Office: Phillips 135 Office Hours: click here Email:
[email protected] Tel: 836-2408 Course Description: In-depth coverage of the UNIX command shell, file manipulation, process control, file system utilities, mail, pipes and filters, I/O redirection, process management, UNIX editors, scripting language, and shell scripting. Credits: 3 Prerequisites: CS 245 Courses that require this course as a prerequisite: none. Learning Resources: • Your UNIX: The Ultimate Guide, Sumitabha Das, McGraw-Hill, 2012. • Learning Perl: Making Things Easy and Hard Things Possible, Randall Schwartz, O’Reilly, 2016. • SED and AWK Pocket Reference, Arnold Robbins, O’Reilly, 2000. • Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix, Arnold Robbins, 2017. Evaluation Midterm & Final: 20% Lab Assignments: 80% Course Outline Topic Number of weeks • UNIX commands and Utilities 2 • File and directory operations 1 • vi/vim editor 1 • UNIX file system 1 • UNIX Shell & shell scripting 2 • Process control 1 • grep, sed, and awk 2 • Regular expressions 1 • Perl programming 2 • System administration utilities 1 Course Outcomes: • Describe and apply the basic set of commands and utilities in Linux/UNIX systems. • Describe and process command-line arguments. • Apply important Linux/UNIX library functions and system calls. • Describe the inner workings of UNIX-like operating systems. • Design software for Linux/UNIX systems. • Use Perl and sed/awk/grep scripts to design programs for users. • Design conditional statements to control the execution of shell scripts. • Write shell scripts to perform repetitive tasks using while and for loops. • Design and implement shell functions.