About
About Bachelor of Science in Computer Science with a Cybersecurity Concentration
The Bachelor of Science in Computer Science with a Cybersecurity Concentration is a nationally recognized program, validated as a Program of Study (PoS) by the National Security Agency (NSA) for meeting the rigorous curricular standards of depth and breadth required by the agency. The program is led by faculty with extensive expertise in cybersecurity education and research, along with accomplished industry professionals who possess significant practical experience in the field. With a strong emphasis on hands-on training, the program equips students to excel in achieving professional certifications and prepares them for in-demand entry-level roles such as security analyst, security engineer, and penetration tester.
The curriculum focuses on both foundational and advanced principles, including risk analysis, network security, web security, cloud security, and cryptography, ensuring that graduates are well-prepared to tackle the challenges of the ever-evolving cybersecurity landscape.
Why Choose Cybersecurity?
In today’s digital landscape, cybersecurity is more crucial than ever. As a cybersecurity professional, you will be the frontline defender of an organization’s most critical assets and infrastructure. Seize the chance to be part of one of the fastest-growing fields in technology.
-
Build a Secure Future: Embark on a rewarding career in cybersecurity where you will explore essential areas such as risk management, network security, cryptography, cloud security, and web security.
-
Join the Frontlines of Cyber Defense: Become a key player in shaping the future of digital security. Equip yourself with the skills and knowledge needed to combat cybercrime and ensure the safety of information in an increasingly connected world.
-
Achieve Job Security and Impact: With a career in cybersecurity, you’ll not only secure your future but also make a significant impact in the fight against cyber threats. Don’t just anticipate the future—help create it!
Requirements
Program Requirements
To earn a Bachelor's degree in Computer Science with a Cybersecurity Concentration, students must follow one of these two pathways:
-
Apply and be admitted directly into the Bachelor’s in Computer Science with a Cybersecurity Concentration, or
-
Apply and gain admission into the Bachelor’s in Computer Science program and then declare the Cybersecurity Concentration
If you need guidance during this process, you can schedule an appointment with an academic advisor for assistance.
Complete all required courses for the Computer Science degree, using all of the following four courses to fulfill your electives:
-
Cryptography (CPSC 352)
-
Cloud Computing and Security (CPSC 454)
-
Web Security (CPSC 455)
-
Network Security (CPSC 456)
For detailed requirements, please refer to the university catalog.
Outcomes
Program Outcomes
The Computer Science, Cybersecurity Concentration, B.S. encompasses the following Program-Learning Outcomes (PLOs):
PLO1: Analyze prevalent types of cybersecurity vulnerabilities and the corresponding attack methodologies.
PLO2: Perform cybersecurity risk assessments employing industry-standard security tools and frameworks.
PLO3: Integrate proactive and reactive security measures into the design and implementation of applications and systems.
PLO4: Detect, identify, and respond to real-world security scenarios as a cybersecurity analyst.
PLO5: Utilize established principles and practices of software development to strengthen and advance cybersecurity initiatives.
PLO6: Demonstrate the ability to apply ethical principles to cybersecurity scenarios in federal, private, and public sectors, ensuring that decision-making processes prioritize privacy and the protection of digital assets.
NCAE in Cyber Defense Validation
CPSC 121A - Object Oriented Programming Lecture
Apply object-oriented programming concepts, including classes, objects, member variables and functions; exceptions, inheritance, templates, encapsulation, decoupling and class design best practices. Advanced program design, including iterators, operator overloading, recursion and dynamic memory allocation (110-minute lecture).
Prerequisite: CPSC 120; or CPSC 120A and CPSC 120L; or passing score on Computer Science Placement Exam.
Corequisite: CPSC 121A.
KU Alignment:
- Basic Scripting (BSP)
- Data Structures (DST)
CPSC 121L - Object-Oriented Programming Lab
Apply object-oriented programming concepts, including classes, objects, member variables and functions; exceptions, inheritance, templates, encapsulation, decoupling and class design best practices. Advanced program design, including iterators, operator overloading, recursion and dynamic memory allocation (110-minute lecture).
Prerequisite: CPSC 120; or CPSC 120A and CPSC 120L; or passing score on Computer Science Placement Exam.
Corequisite: CPSC 121A.
KU Alignment:
- Basic Scripting (BSP)
- Data Structures (DST)
CPSC 131 - Data Structures
Classical data structures: vector, linked list, stack, queue, binary search tree, and graph representations. Worst-case analysis, amortized analysis, and big-O notation. Object- oriented and recursive implementation of data structures. Self-resizing vectors and self- balancing trees. Empirical performance measurement.
Prerequisite: CPSC 121A, CPSC 121L; or CPSC 121; or sufficient score on the Computer Science Placement Exam.
KU Alignment:
- Basic Scripting (BSP)
- Data Structures (DST)
CPSC 240 - Computer Organization and Assembly Language
Digital logic and architecture of a computer system, machine level representation of data, memory system organization, structure of low-level computer languages. Machine, assembly, and macro language programming. Principles of assembler operation, input-output programming, interrupt/exception handling. Laboratory programming assignments. (2 hours lecture, 2 hours laboratory)
Prerequisites: CPSC 131; MATH 170A or MATH 280; or graduate standing.
KU Alignment:
- Low Level Programming (LLP)
CPSC 253 - Cybersecurity Foundations and Principles
Security goals, security systems, access controls, networks and security, integrity, cryptography fundamentals, authentication. Attacks: software, network, website; management considerations, security standards in government and industry; security issues in requirements, architecture, design, implementation, testing, operation, maintenance, acquisition and services.
Prerequisite: Computer Science major/minor or Computer Engineering student.
KU Alignment:
- Cybersecurity Foundations (CSF)
- Cybersecurity Principles (CSP)
- IT Systems Components (ISC)
- Operating Systems Hardening (OSH)
CPSC 315 - Professional Ethics in Computing
Ethics and moral philosophy as applied to software and digital artifacts. Notions of rights, responsibilities, property, ownership, privacy, security, and professional ethics. Security obligations. Intellectual propertystatutes, licenses, and their terms. Oral and written reports are required.
Prerequisites: CPSC 131; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Cyber Crime (CCR)
- Cybersecurity Ethics (CSE)
- Privacy (PRI)
CPSC 323 - Compiles and Languages
Basic concepts of programming languages and principles of translation. Topics include history of programming languages, various programming paradigms, language design issues and criteria, design of compilers for modern programming languages.
Prerequisites: CPSC 131; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
CPSC 332 - File Structures and Database Systems
Fundamental theories and design of database systems, the Structured Query Language (SQL), basic concepts and techniques of data organization in secondary storage. Topics include introduction to database systems, ER model, relational model, index structures and hashing techniques.
Prerequisites: CPSC 131; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Database Management Systems (DMS)
CPSC 335 - Algorithm Engineering
Algorithm design using classical patterns: exhaustive search, divide and conquer, randomization, hashing, reduction, dynamic programming, and the greedy method. Asymptotic and experimental efficiency analysis. NP-completeness and decidability. Implementing algorithms to solve practical problems.
Prerequisites: CPSC 131, MATH 170A, MATH 150A; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
CPSC 351 - Operating Systems Concepts
Resource management, memory organization, input/output, control process synchronization and other concepts as related to the objectives of multi-user operating systems.
Prerequisite: CPSC 131, CPSC 240; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Operating Systems Concepts (OSC)
- Operating Systems Theory (OST)
- Data Structures (DST)
CPSC 352 - Cryptography
Introduction to cryptography and steganography. Encryption, cryptographic hashing, certificates, and signatures. Classical, symmetric-key, and public-key ciphers. Block modes of operation. Cryptanalysis including exhaustive search, man-in-the-middle, and birthday attacks. Programing projects involving implementation of cryptographic systems.
Prerequisites: MATH 170B, CPSC 131, CPSC 253; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Basic Cryptography (BCY)
- Advanced Cryptography (ACR)
- Algorithms (ALG)
- Privacy (PRI)
CPSC 362 - Foundations of Software Engineering
Basic concepts, principles, methods, techniques and practices of software engineering. All aspects of the software engineering fields. Use Computer-Aided Software Engineering (CASE) tools.
Prerequisites: CPSC 131; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- QA/Functional Testing (QAT)
CPSC 454 - Cloud Computing and Security
Cloud computing and cloud security, distributed computing, computer clusters, grid computing, virtual machines and virtualization, cloud computing platforms and deployment models, cloud programming and software environments, vulnerabilities and risks of cloud computing, cloud infrastructure protection, data privacy and protection.
Prerequisites: CPSC 351, CPSC 253; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Operating Systems Theory (OST)
- Cloud Computing (CCO)
CPSC 455 - Web Security
Concepts of web application security. Web security mechanisms, including authentication, access control and protecting sensitive data. Common vulnerabilities, including code and SQL attacks, cross-site scripting and cross-site request forgery. Implement hands-on web application security mechanisms and security testing.
Prerequisites: CPSC 351 or CPSC 253; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU alignment:
- Web Application Security (WAS)
- QA/Functional Testing (QAT)
- (BSP)
CPSC 456 - Network Security Fundamentals
Learn about vulnerabilities of network protocols, attacks targeting confidentiality, integrity and availability of data transmitted across networks, and methods for diagnosing and closing security gaps through hands-on exercises.
Prerequisites: CPSC 351; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU alignment:
- Network Defense (NDF)
- Network Technology and Protocols (NTP)
CPSC 471 - Computer Communications
Introduction to digital data communications. Terminology, networks and their components, common-carrier services, telecommunication facilities, terminals, error control, multiplexing and concentration techniques.
Prerequisites: CPSC 351; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
- Basic Networking (BNW)
- Network Technology and Protocols (NTP)
CPSC 481 - Artificial Intelligence
Using computers to simulate human intelligence. Production systems, pattern recognition, problem solving, searching game trees, knowledge representation and logical reasoning. Programming in AI environments.
Prerequisites: CPSC 335, MATH 338; Computer Science or Computer Engineering major or minor; or Computer Science or Computer Engineering graduate standing.
KU Alignment:
MATH 338 - Statistics Applied to Natural Sciences
Introduction to the theory and application of statistics. Elementary probability, estimation, hypothesis testing, regression, variance analysis, non-parametric tests. Computer-aided analysis of real data. Graphical techniques, generating and interpreting statistical output, presentation of analysis.
Prerequisite: MATH 106, MATH 130 or MATH 150B.
KU Alignment:
- Algorithms (ALG)
- Advanced Cryptography (ACR)