Prerequisite: Minimum grade of C- in CMSC216 and CMSC250; and permission of CMNS-Computer Science department.
Students will be introduced to shell scripting, the glue between various utilities and the method of choice of many programmers to interact with their systems. The differences between shell languages and their more mainstream counterparts will be explored. Topics include composing programs, concurrency, error handling, customizing one's shell, security vulnerabilities. Projects will be based on reimplementing common utilities.