Program Overview

This program will teach you core cybersecurity competencies including information security, network security and penetration testing. This exposure will allow the student to better understand the different opportunities available for employment in the cybersecurity sector. Demand for cybersecurity is exploding in both the United States and worldwide. The courses will utilize both python scripting and tool usage to give the students hands-on experience penetrating and defending systems. In addition to the applied cybersecurity labs, students will also gain an understanding of the complexity in defending business systems both today and in the future. Students looking for careers in information technology, risk management, cyber defense, cyber threats, cybercrime, digital forensics, incident response, IT Security, computer networking, cybersecurity risks, information assurance, intrusion detection, risk assessment, security analysis, and vulnerability management can all benefit from the material in the courses.

What you will learn

  • Apply a security mindset while remaining ethical.
  • Implement security design principles.
  • Explain the core concepts of access control.
  • Implement reference monitors.
  • Apply security policies that are commonly used in modern operating systems.
  • Analyze the security of a basic secure system.
  • Explain virtualization and the impact on security and efficiency.
  • 8. Think and work like an ethical penetration tester, implementing a repeatable and mature methodology that is tailored for each assessment.
  • With a given target, successfully identify vulnerabilities, score their risk, and explain mitigations.
  • Responsibly disclose findings in a professional report that can be used to recreate the exploit, explain the impact to the target, and prioritize each finding.
  • Enumerate target hosts, domains, exposures, and attack surface.
  • Identify flaws and vulnerabilities in applications, websites, networks, systems, protocols, and configurations using both manual techniques and assistive tools.
  • Reverse engineer compiled applications to discover exploitable weaknesses.
  • Write new exploits to test various types of vulnerabilities on clients, against servers, and to escalate privileges.
  • Demonstrate the fundamentals of secure network design.
  • Understand the issues involved with providing secure networks.
  • Analyze underlying cryptography required for secure communications, authorization and authorization.
  • Enumerate the issues involved with providing secure networks.

Courses List

1
Information Security - Introduction to Information Security

Course Details
Learn the fundamentals of information security, including Security Design Principles, Threat Modeling and Security Policy.

2
Information Security - Authentication and Access Control

Course Details
Learn more fundamentals of information security, including Introduction to Cryptography, Authentication, Access Control and Containerization.

3
Information Security - Advanced topics

Course Details
Learn more fundamentals of information security, including Injection Attacks and Defenses, Privacy and Anonymity Software Validity and Rights, Cryptocurrency.

4
Network Security - Protocols

Course Details
Learn more fundamentals of network security, including cryptographic algorithms used in networking protocols, TLS/SSL, IPSec Layer 2 Security and Wireless Security.

5
Network Security - Advanced Topics

Course Details
Learn advanced topics in network security, including Security Monitoring, Perimeter Security, IPv6 and IPv6 Security.

6
Penetration Testing - Discovering Vulnerabilities

Course Details
Learn fundamentals of penetration testing, including an Introduction to Penetration Testing Methodologies, Recognisance and Enumeration for Penetration Testers, Scanning and Vulnerability Enumeration.

7
Penetration Testing - Exploitation

Course Details
Learn exploitation phase of penetration testing, including the foundations of explorations, application debugging, reverse engineering, exploitation development and web application exploitation.

8
Penetration Testing - Post Exploitation

Course Details
Learn post-exploitation phases of penetration testing, including Owning, Pivoting, Privilege Escalation and other advanced penetration testing topics.

9
Network Security - Introduction to Network Security

Course Details
Learn fundamentals of network security, including a deep dive into how networks are attacked by malicious users.

Meet your instructors

Justin Cappos

Associate Professor at New York University Justin Cappos is a professor in the Computer Science and Engineering department at New York University. Justin's research philosophy focuses on improving real world systems, often by addressing issues that arise in practical deployments.

Aspen Olmsted

Adjunct Professor at New York University Tandon School of Engineering Aspen Olmsted is an adjunct faculty member in the New York University Tandon School of Engineering in the Computer Science and Engineering department. Aspen's fulltime job is as an assistant professor and Graduate program director at the College of Charleston. He obtained a Ph.D. in Computer Science and Engineering from The University of South Carolina. Before his academic career, he was CEO of Alliance Software Corporation. Alliance Software developed N-Tier enterprise applications for the performing arts and humanities market. Dr Olmsted’s research focus is on the development of algorithms and architectures for distributed enterprise solutions that can guarantee security and correctness while maintaining high-availability. In his Secure Data Engineering Lab, Aspen mentors over a dozen graduate and undergraduate students each year
Program Overview
This program will teach you core computer science competencies in programming and data structures. Understanding how programming works is essential in many technical disciplines such Information Technology, Software Engineering, Cybersecurity, and Computer Science. The courses utilize the C++ programming languages to establish a solid foundation in programming and data structures for the students. Students gain valuable hands-on experience programming solutions to problems in the labs. I the labs, students will practice their core programming skills and will also develop many advanced data structures including, hashtables, sorting and search algorithms, binary trees, AVL trees, graph algorithms and many more advanced computing topics. In addition to the applied programming labs, students will also gain an understanding of computational complexity through the analysis of the data structures and programs that are developed.
What you will learn
  • Identify and explain a programming development lifecycle, including planning, analysis, design, development, and maintenance.
  • Demonstrate a basic understanding of object-oriented programming by using structures and classes in software projects.
  • Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism.
  • Document and format code in a consistent manner.
  • Apply basic searching and sorting algorithms in software design.
  • Apply single-and multi-dimensional arrays in software.
  • Use a symbolic debugger to find and fix runtime and logical errors in software.
  • Demonstrate a basic understanding of programming methodologies, including object oriented, structured, and procedural programming.
  • Describe the phases of program translation from source code to executable code.
  • Design and develop programs that utilize linked lists to store data internally.
  • Design and develop programs that utilize stacks and queues to manage collections of data.
  • Design and develop programs that recursion to solve problems that can be expressed with recurrence.
  • Utilize binary search trees and balanced trees to implement fast retrieval of data from a collection of data stored in memory.

Course List

1
Introduction to Programming in C++

Course Details
Learn the fundamentals of programming in the C++ programming language, including iteration, decision branching, data types and expression.

2
Advanced Programming in C++

Course Details
Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings.

3
Introduction to Data Structures

Course Details
Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting.

4
Advanced Data Structures

Course Details
Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms.

Meet Your Instructors

Aspen Olmsted

Adjunct Professor at New York University Tandon School of Engineering Aspen Olmsted is an adjunct faculty member in the New York University Tandon School of Engineering in the Computer Science and Engineering department. Aspen's fulltime job is as an assistant professor and Graduate program director at the College of Charleston. He obtained a Ph.D. in Computer Science and Engineering from The University of South Carolina. Before his academic career, he was CEO of Alliance Software Corporation. Alliance Software developed N-Tier enterprise applications for the performing arts and humanities market. Dr Olmsted’s research focus is on the development of algorithms and architectures for distributed enterprise solutions that can guarantee security and correctness while maintaining high-availability. In his Secure Data Engineering Lab, Aspen mentors over a dozen graduate and undergraduate students each year

Itay Tal

Industry Assistant Professor at New York University Tandon School of Engineering Tel-Aviv University 2005 M.Sc., Computer Science Tel-Aviv University 1998 B.Sc., Computer Science and Mathematics