This course is designed to provide a fast-paced exposure to the C programming language for students majoring in a computer-related discipline. The following topics are briefly reviewed using C syntax: looping, selection, variables, scope rules, functions and pass-by-value arguments. New topics include pass-by-address arguments, formatted and unformatted I/O, user defined types (enum, struct, union), preprocessing directives, file handling, pointers, pointer arithmetic, string manipulation and selected library functions.
This course introduces principles of computer security with integrated hands-on labs. The course prepares students to effectively protect information assets by providing fundamental details about security threats, vulnerabilities, and their countermeasures ranging from a simple computer to enterprise computing. Topics include broad range of today's security challenges, common security threats and countermeasures, security management, access control mechanisms, applied cryptography, privacy issues, computer ethics, file system security, and network security.Â
Principles and practices of the OSI and TCP/IP models of computer networks, with special emphasis on the security of these networks. Coverage of general issues of computer and data security. Introduction to the various layers of network protocols, including physical, data link, network, and transport layers, flow control, error checking, and congestion control. Computer system strengths and vulnerabilities, and protection techniques: Topics include applied cryptography, security threats, security management, operating systems, network firewall and security measures. Focus on secure programming techniques. Programming projects.
Principles, techniques, and algorithms for the design and implementation of modern operating systems. Topics include operating system structures, process and thread scheduling, memory management including virtual memory, file system implementation, input output systems, mass storage structures, protection, and security. Students will implement process, memory, and file management algorithms.
Understanding the Operating Systems (OS) theory and the OS security concepts is required to perform critical roles in the cybersecurity and cyber operations fields. This course exposes the students to topics of the OS theory with an emphasis on security applications. The course begins with an introduction of low-level programming, including Assembly and C. It continues with the basic Unix-like operating system Application Programming Interfaces (APIs) along with the fundamentals of OS concepts.