An introductory scripting course. Students will explore the fundamental principles of scripting and learn to write and debug simple scripting language to add functionality to programs. Topics for study include input/output, operations, pipes, shell variables, control structures, file input and output, regular expressions, and navigation within a file system
Prerequisites
Recommend CS 111, Linux experience, or instructor permission
Upon successful completion of the course, students should be able to demonstrate the following knowledge or skills:
- Set up a Linux environment such as a that in a Virtual Machine, Docker image, Raspberry Pi, or as a native operating system to run scripts written in Python, Bash, or PowerShell.
- Navigate a file system using a command line interface.
- Write re-usable scripts that will automate repetitive tasks within an operating system.
- Compose scripts that will read input from a file or command line arguments and write output to a file.
- Write basic scripts that will take input and display output to the screen.
- Use regular expressions to filter through files and data.
- Define shell variables and use them properly in statements and expressions.
- Apply control structures (sequence, decision, and repetition) to correctly control the flow of a script.
- Use pipes to capture output from one program and use it in another program.
IO1 Communication: Students will be able to communicate clearly and effectively within a workplace context
IO2 Quantitative Reasoning: Analyze and solve computational problems using a modern program language
- Linux environment setup and commands used to navigate file system.
- Commands, arguments, and control operators.
- Shell variables, shell embedding, file globbing.
- Pipes, input, and output redirection.
- Filters and basic Unix tools.
- Regular expressions.
- Sourcing a script, she-bang, variables, and numerical expressions.
- Scripting loops and conditional statements.
- Scripting parameters and scripting functions.
PO6 Deploy and manage server hardware and software to support organizational operations and goals