This is the 8th course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 8th course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 6th course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 5th course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 3rd course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
This is the 2nd course in the intermediate, undergraduate-level offering that makes up the larger Cybersecurity Fundamentals MicroBachelors Program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

MicroBachelors® Program in Cybersecurity Fundamentals
Drive your career forward
Meet Your Instructor:

Aspen Olmsted
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
1Information Security - Introduction to Information Security
Course Details
2Information Security - Authentication and Access Control
Course Details
3Information Security - Advanced topics
Course Details
4Network Security - Protocols
Course Details
5Network Security - Advanced Topics
Course Details
6Penetration Testing - Discovering Vulnerabilities
Course Details
7Penetration Testing - Exploitation
Course Details
8Penetration Testing - Post Exploitation
Course Details
9Network Security - Introduction to Network Security
Course Details
Meet your instructors

Justin Cappos

Aspen Olmsted
- 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
1Introduction to Programming in C++
Course Details
2Advanced Programming in C++
Course Details
3Introduction to Data Structures
Course Details
4Advanced Data Structures
Course Details
Meet Your Instructors

Aspen Olmsted

Itay Tal
About This Course:
This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.
- Introduction to Programming in C++
- Advanced Programming in C++
- Introduction to Data Structures
- Advanced Data Structures
These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.
This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize file processing, linked lists, stacks, queues, trees, binary search trees, and tree balancing algorithms to solve problems. Several implements are presented in the development of each data structure, including hash maps, AVL, and red and black trees. Students learn how to utilize and program these data structures through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with quizzes to assess your understanding of the material. Students will experience hands-on practice writing C++ programs through twenty-two lab challenges.
This course focuses on the efficiency of different data structures to solve various computational problems. A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. The data structures and algorithms learned in this class are the foundation of modern programming.

MicroBachelors® Program in Programming & Data Structures
Drive your career forward
Meet Your Instructor:
