Basic Scripting and Programming (2020)
The intent of this Basic Scripting and Programming Knowledge Unit is to provide students with the basic ability to create simple scripts/programs to automate and perform simple operations, and to provide students with the skills necessary to implement algorithms using programming languages to solve problems. This knowledge includes basic security practices in developing scripts/programs (e.g., bounds checking, input validation).
To complete this KU, students should be able to:
- Demonstrate their proficiency in the use of scripting languages to write simple scripts (e.g., to automate system administration tasks).
- Write simple linear and looping scripts.
- Write simple and compound conditions within a programming language or similar environment (e.g., scripts, macros, SQL).
- Demonstrate proficiency in the use of a programming language to solve complex problems in a secure and robust manner.
- Implement basic security concepts
- Permisisons, Bounds checking, input validation, type checking and parameter validation
- Be familiar with the concept and basic implementation of regular expressions.
- Understand basic data structures and algorithms
- Basic Boolean logic/operations.
- AND / OR / XOR / NOT
- Scripting on both Windows and Linux
- Language (e.g. PERL, Python, BASH, JAVA, VB Scripting, Powershell)
- Properly apply basic programming constructs and concepts including:
- Variables and types (int, float, char, etc.)
- Strings, arrays, structures
- Sequential and parallel execution
- Assignments (:=, =, ++, --, etc.)
- Decisions and branching (if, if ... else, elseif, switch, case, etc.)
- Loops (for, while, repeat, etc.)
- Functions, procedures, and calls
- Debugging Techniques
- Create and run basic scripts using a text editor or IDE.
- Edit, read, and alter a basic script.
- Prepare a script to run in a batch-mode or scheduled basis.
NICE Framework Categories
Related Knowledge Units
Suggested academic readings
Sample knowledge test
Sample skills test
Sample abilities test
Additional notes or materials
- An online regular expression evaluator, useful for developing and testing regular expressions - https://regex101.com/