Basic Scripting and Programming (2020)

From CyberEdWiki
Revision as of 22:07, 21 November 2019 by GeralynUH (talk | contribs) (Text replacement - "To complete this KU, students should be able to:" to "After completing the KU, students will be able to:")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

Outcomes[edit]

After completing the KU, students will be able to:

  1. Apply the use of scripting languages to write simple scripts (e.g., to automate system administration tasks).
  2. Construct simple linear and looping scripts.
  3. Construct simple and compound conditions within a programming language or similar environment (e.g., scripts, macros, SQL).
  4. Assemble algorithms calculated to solve specific programming needs, using specific programming languages.
  5. Assess the use of a programming language to solve complex problems in a secure and robust manner.

Topics[edit]

  1. Implement basic security concepts
    • Permisisons, Bounds checking, input validation, type checking and parameter validation
  2. Be familiar with the concept and basic implementation of regular expressions.
  3. Understand basic data structures and algorithms
  4. Basic Boolean logic/operations.
    • AND / OR / XOR / NOT
  5. Scripting on both Windows and Linux
    • Language (e.g. PERL, Python, BASH, JAVA, VB Scripting, Powershell)
  6. 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

Skills[edit]

  1. Create and run basic scripts using a text editor or IDE.
  2. Edit, read, and alter a basic script.
  3. Prepare a script to run in a batch-mode or scheduled basis.

NICE Framework Categories[edit]

CSEC 2017 Categories[edit]

Specialization Areas[edit]

See also[edit]

Related Knowledge Units

Further reading[edit]

Suggested textbooks[edit]

Suggested academic readings[edit]

Sample knowledge test[edit]

Sample skills test[edit]

Sample abilities test[edit]

Additional notes or materials[edit]

  • An online regular expression evaluator, useful for developing and testing regular expressions - https://regex101.com/

Contacts[edit]

Reference ID[edit]

BSP