This course will introduce students to the basic concept of cryptography, its history, and general applications in the real world. This course serves as a prerequisite to more advanced courses in cyber security. Students will be able to understand basic cryptography concepts and go through real world examples of how cryptography concepts are applied for confidentiality, authentication, and integrity protection.

Computer Architecture and Organization aims to develop a deeper understanding of the hardware environment upon which all of computing is based, and how a hardware layer is interfaced to the software layers that comprise the applications that perform modern computing. Students need to understand computer architecture to develop programmes that can achieve high performance through a programmer’s awareness of hardware functional components, their characteristics and limitations. In selecting a system to use, students should be able to understand the trade-offs among various components, such as CPU clock speed, cycles per instruction, memory size, and average memory access time