Core Security

This section covers the fundamental principles and practices of computer and information security. As digital systems become increasingly integrated into our lives, understanding how to protect these systems is crucial for any computer scientist.

Topics Covered

  • Confidentiality, Integrity, Availability
  • Secure Design
  • Defensive Programming
  • Threats and Attacks
  • Network Security
  • Cryptography
  • Vulnerability Assessment
  • Security Policy
  • Risk Management
  • And more

Course Sequence

CourseDurationEffortPrerequisites
Cybersecurity Fundamentals8 weeks10-12 hours/weekNone
Principles of Secure Coding4 weeks4 hours/weekProgramming experience
Identifying Security Vulnerabilities4 weeks4 hours/weekProgramming experience

Choose One Language-Specific Security Course:

CourseDurationEffortPrerequisites
Identifying Security Vulnerabilities in C/C++ Programming4 weeks5 hours/weekC/C++ programming
Exploiting and Securing Vulnerabilities in Java Applications4 weeks5 hours/weekJava programming

Why These Courses?

This sequence provides a comprehensive introduction to cybersecurity:

  1. Cybersecurity Fundamentals covers core security concepts, principles, and best practices
  2. Principles of Secure Coding teaches how to write code that is resistant to attacks
  3. Identifying Security Vulnerabilities helps you recognize common security flaws
  4. The language-specific course applies security concepts to either C/C++ or Java

Learning Outcomes

After completing the Core Security sequence, you will be able to:

  1. Understand the fundamental concepts of cybersecurity
  2. Identify common security vulnerabilities in software
  3. Write more secure code using defensive programming techniques
  4. Analyze potential security threats in systems
  5. Apply security best practices to software development
  6. Understand the ethical implications of security decisions

Importance for Computer Science

Security knowledge is critical because:

  • Security vulnerabilities can lead to catastrophic breaches
  • Retrofitting security is much harder than building it in from the start
  • Many regulatory frameworks now mandate security practices
  • Security considerations impact every layer of the technology stack
  • The security landscape constantly evolves, requiring ongoing education

Whether you’re building applications, systems, or networks, security must be considered at every stage of design and implementation. This section gives you the foundation to approach technology with a security-conscious mindset.