Jun 28, 2024
OHIO University Undergraduate Catalog 2023-2024

CS 4770 - Introduction to Computer Software Security for Engineering


This course is intended to serve as an elective for upper-level undergraduate students in computer science and electrical engineering, and for graduate students in computer science, and electrical engineering. It covers selected up-to-date topics in computer security, including defining threats to computer and network systems, evaluating the relative risks of these threats, and the development of cost-effective countermeasures. The course discusses basic principles that appear repeatedly as themes, including those related to authentication and access control, particularly in the context of operating systems and other computing applications. Different approaches to meeting computer security requirements, as well as increasingly important security standards are covered. This course has a special focus on low-level fundamentals of the Security Discipline such as the mathematical basis for Cryptography. This is accompanied by a series of real-world applications and hands on programming assignments.

Requisites: CS 3610 and 3560
Credit Hours: 3
Repeat/Retake Information: May be retaken two times excluding withdrawals, but only last course taken counts.
Lecture/Lab Hours: 3.0 lecture
Grades: Eligible Grades: A-F,WP,WF,WN,FN,AU,I
Learning Outcomes:
  • Students will be able to describe the purpose of cryptography and list ways it is used in computing applications.
  • Students will be able to construct tools using classic cryptographic methods and procedures.
  • Students will be able to discuss the implications of relying on open design or the secrecy of design for security, in software applications.
  • Students will be able to apply methods of learning information about component’s functionality with limited information about its design and implementation, i.e. “reverse engineering”.
  • Students will be able to apply recommended practices for secure coding with regard to concepts such as pointers, memory allocation, File I/O, concurrency, and others.
  • Students will be able to explain the concepts of trust, trustworthiness, confidentiality, integrity, and availability in a security context for computing applications.
  • Students will be able to explain the difference between identification, authentication, and access authorization of people and software.
  • Students will be able to discuss various motives for cybercrime behavior.
  • Students will be able to apply cybersecurity concepts, techniques, and methodologies, in practice, adversarially, commonly referred to in industry as “Capture The Flag (CTF)”.


Add to Portfolio (opens a new window)