CS 388 – UNIX Systems Programming Syllabus
Total Page:16
File Type:pdf, Size:1020Kb
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. American Disability Act Any student who has a disability and is in need of classroom accommodations, please contact the instructor and the Services for Students with Disabilities Office in Old Library 2136 at the beginning of the semester. Scholastic Dishonesty Asking for help in understanding a problem or lending assistance to explain difficult points is encouraged. However, the copying of another student's assignment, or the common solution of written or programming assignments, or changing variable names of programming assignments, will be considered as cheating, unless group solution is specifically allowed. The purpose of assignments is to provide individual evaluation as well as a tool for learning and exploration of material. Note that the operational word in the definition of cheating is copying, not submission. Students found guilty of academic dishonesty will be subjected to disciplinary action as prescribed by the Computer Science Department's prescribed disciplinary procedures. Disciplinary action for this course includes, but is not limited to, failure for the course. Additional disciplinary action may be instituted by the Dean. .