COMP-4455 Details
COMP 4455 Shell Scripting and System Tools
Course description
This course introduces students to systems style programming in Unix/Linux using Bash and Python. Specifics of the course are as follows:
- Introduction to Linux and common system utilities
- Scripting Language for systems tasks (Bash)
- Programming using Bash (operators, structures, loops, functions)
- Linux fundamentals (processes, file systems, I/O)
- Process management in Bash
- File I/O in Bash
- Threads and concurrent programming (Python)
- Programming using Linux system libraries
- Process and thread management in Python
- Functional programming in Python (map/reduce, etc.)
- Networking basics in Python
Course learning objectives
- Know some standard Unix/Linux tools and their usage
- Understand the Linux design philosophy
- Be able to navigate a Unix/Linux shell, know common Unix tools and commands for system tasks
- Be familiar with how Unix/Linux systems manage devices
- Know how Unix/Linux systems manage processes/threads, and how to create and manage them via scripting (Bash and Python)
- Accomplish common programming tasks using scripting/interpreted languages (Bash and Python)
- Be able to write programs utilizing system libraries based on reference material (man pages, online documentation, etc.)
- Understand and be able to read/write Bash scripts
- Have an understanding of modules and their usage in Python
- Identify and use common Python systems concepts (process management, concurrent programming, networking)