M.1 Low Level Programming Languages

From CyberEdWiki
Jump to: navigation, search

Low level programming allows programmers to construct programs that interact with a system without the layers of abstraction that are provided by many high level languages. Proficiency in low-level programming languages is required to perform key roles in the cyber operations field (e.g., forensics, malware analysis, exploit development).

Specific languages required to satisfy this knowledge unit are:

  • C programming
  • Assembly Language programming (for x86, ARM, MIPS or PowerPC)

Outcome: After completing the course content mapped to this knowledge unit, students will be able to develop low level programs with the required complexity and sophistication to implement exploits for discovered vulnerabilities.

C Language programming

Outcome: Students will be able to write complex programs such as ones that implement a simple network stack.

Assembly Language programming

Outcome: Students will be able to write a functional, stand-alone assembly language program, such as a simple telnet client, with no help from external libraries.