•    Employment
  •    Academia
  •    Research
    • NICE Framework
    • CAE Program

Basic Scripting and Programming

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).

Topics

  1. Language (e.g. PERL, Python, BASH, JAVA, VB Scripting, Powershell)
  2. Understand basic data structures and algorithms
  3. Be familiar with the concept and basic implementation of regular expressions.
  4. Basic Boolean logic/operations
  5. Properly apply basic programming constructs and concepts including:
  6. Implement basic security concepts
  7. Scripting on both Windows and Linux
  8. a. Language (e.g. PERL, Python, BASH, JAVA, VB Scripting, Powershell)
  9. c. Sequential and parallel execution
  10. Sequential and parallel execution
  11. Implement basic security concepts a. Permissions, bounds checking, input validation, type checking and parameter validation
  12. Properly apply basic programming constructs and concepts including: a. Variables and types (int, float, char, etc.) b. Strings, arrays, structures c. Sequential and parallel execution d. Assignments (:=, =, ++, --, etc.) e. Decisions and branching (if, if ... else, elseif, switch, case, etc.) f. Loops (for, while, repeat, etc.) g. Functions, procedures, and calls h. Debugging techniques

Outcomes

  1. Demonstrate their proficiency in the use of scripting languages to write simple scripts (e.g., to automate system administration tasks).
  2. Write simple linear and looping scripts.
  3. Write simple and compound conditions within a programming language or similar environment (e.g., scripts, macros, SQL).
  4. Demonstrate proficiency in the use of a programming language to solve complex problems in a secure and robust manner.
  5. Demonstrate proficiency in the use of a programming language to solve complex problems in a secure and robust manner

KSA-T

Below are the Knowledge, Skills, Abilities and Tasks (KSA-T) identified as being required to perform this work role.
Learn More about the KAS-T's.

  • Knowledge
  • Skills
  • Abilities
  • Tasks
ID DESCRIPTION
K0372 Knowledge of programming concepts (e.g., levels, structures, compiled vs. interpreted languages).
K0271 Knowledge of operating system structures and internals (e.g., process management, directory structure, installed applications).
K0015 Knowledge of computer algorithms.
K0068 Knowledge of programming language structures and logic.
K0016 Knowledge of computer programming principles
K0018 Knowledge of encryption algorithms
K0079 Knowledge of software debugging principles.
K0063 Knowledge of parallel and distributed computing concepts.
K0028 Knowledge of organization's evaluation and validation requirements.
ID DESCRIPTION
S0060 Skill in writing code in a currently supported programming language (e.g., Java, C++).
S0257 Skill in reading, interpreting, writing, modifying, and executing simple scripts (e.g., PERL, VBS) on Windows and Unix systems (e.g., those that perform tasks like parsing large data files, automating manual tasks, and fetching/processing remote data).
S0266 Skill in relevant programming languages (e.g., C++, Python, etc.).
S0013 Skill in conducting queries and developing algorithms to analyze data structures.
S0130 Skill in writing scripts using R, Python, PIG, HIVE, SQL, etc.
S0019 Skill in creating programs that validate and process multiple inputs including command line arguments, environmental variables, and input streams.
S0014 Skill in conducting software debugging.
ID DESCRIPTION
ID DESCRIPTION