Cyber Technologies Academy

Schedule and Classes

Schedule

Spring Schedule

Our Spring Session begins on Monday, February 16, and ends on Thursday, April 30.

For new students, this session we recommend our Programming 1, Introduction to Cyber Technologies, and Introduction to Analog Circuits classes.

MondayTuesdayWednesdayThursday
Introduction to Analog Circuits Introduction to Cyber Technologies Programming 1 Programming 1B: Projects in Python
John Floren CW Perr Elisha Choe Jon Crussell

Summer Schedule

Teacher Bootcamps

This summer, we will be offering two Teacher Bootcamps teaching our Introduction to Cyber Technologies class.

The first bootcamp will be from June 15 - June 19, and the second will be June 22 - June 26.

As we are condensing our normal 10-week schedule into one week, we will be teaching two lessons per day, Monday through Friday. The first lesson each day will be from 10am-12pm, and the second lesson from 1pm-3pm, leaving one hour for lunch.

Our recommendation, due to the large amount of material we will be covering every day, is to plan on spending another couple hours at the end of each day making sure you understand the day's content and have completed all of the exercises. We will be moving very fast and each day builds on previous work.

June 15-19MondayTuesdayWednesdayThursdayFriday
10a-12p Jeremy Jeremy Craig Jeremy Jeremy
1p-3p Devin Steve Devin Craig Devin
June 22-26MondayTuesdayWednesdayThursdayFriday
10a-12p Jeremy Jeremy CW Jeremy Jeremy
1p-3p CW Steve Steve Steve CW
Student Courses

Still under development. Check back soon.

Classes

Click the + symbol to expand the course descriptions.

  • Intro to Cyber Technologies

    Course Description:

    Introduction to Linux and Networking. In this class, students will learn about the Linux operating system and become proficient with the command line and system administration. Additionally, students will obtain a strong working knowledge of the most commonly used networking protocols and how to analyze live network traffic.

    Summary of course contents:

    • Introduction to the command line
    • Directory structures, files, permissions, users and groups
    • System administration; installing packages
    • Remote administration
    • Network traffic analysis and network profiling
    • Introduction to cryptography and encryption
    • Web servers; cookies, domain names, requests
    • Access control; firewalls, NAT
    • Scripting; bash

    Prerequisites:

    • Interest in computers and learning how to control them

    What's cool about this class:

    • Gain an understanding of working with the command line and how to use it to your advantage. Using the command line can feel counter-intuitive at first, but with practice can greatly increase your productivity.
    • Learn how to automate repetitive tasks by writing scripts to do the job for you.
    • Deploy your own web application. This will give students a deeper understanding of how complex web applications interact with the operating system.
    • Learn how to isolate and solve problems on your home network.
    • Defend your network and machine against adversaries.
  • Programming 1

    Course Description:

    Introduction to programming with the Python programming language. In the class, students will learn to create and edit code, algorithm design and the elements of good programming style.

    Summary of course contents:

    • Introduction to writing code
    • Data types and operations
    • Control statements; conditions and loops
    • Data structures; lists and complex data types
    • Functions; concept, declaration and calls
    • I/O; user interface

    Prerequisites:

    • Interest in learning to program and/or interest in learning Python

    What's cool about this class:

    • Discover a new way of thinking about technical problems when you learn about how to make a computer solve them for you.
    • Learning to code helps you in a variety of technical fields, even if you decide to pursue a career outside of computer science.
    • Python is a great starting language. It allows you to perform powerful operations with simple commands. It is so simple to set up and get started with that even the Raspberry Pi foundation, a charity founded to promote the study of Computer Science, picked Python as their language for learners.
    • Python is a great language for experienced programmers. Its flexibility allows you to write complex operations almost as fast as you can think of them. In many other languages, you can get bogged down in implementation details. Python gives you the ability to quickly prototype an entire program in a fraction of the time. Simpler coding style also often means fewer bugs, which means fewer headaches and a better product.
  • Programming 1B: Projects in Python

    Course Description:

    The successor to our Programming 1 class. In this class, students will reinforce their knowledge of Python through a series of projects. This class will help refine programming technique and guide the building of programs hundreds of lines long.

    Summary of course contents:

    • 2048
      • Build your own version of the game.
      • Once you've done that, write an Artificial Intelligence (AI) to play the game for you.
    • Additional project(s) based on instructor interest and discretion

    Prerequisites:

    • Programming 1, or equivalent previous experience with Python

    What's cool about this class:

    • If you previously took our Programming class and are looking for some fun projects to practice with and prepare yourself for the next level, this class is for you.
    • This class will have only minimal additional content to learn. Just come and play.
    • Feel free to bring your own programming projects to class for feedback and help.
  • Intro to Cryptography

    Course Description:

    Cryptography is the force behind what keeps our information hidden from prying eyes. This course introduces students to ciphers used in the past, present, and what will be used in the future. It also touches upon known attacks on these ciphers as well as details successful attacks found in history. This course will also introduce students to seemingly-impossible games & tricks, made possible by cryptography. In addition to hands-on learning of the theories, there will be programming to demonstrate the practical uses of cryptography.

    Note: This is currently a half-class and usually paired up with Wireless Penetration Testing.

    Summary of course contents:

    • Basic ciphers
    • Symmetric key cryptography
    • Public key cryptography
    • Hash functions
    • Zero-knowledge proofs
    • Cryptography games and tricks

    Prerequisites:

    • Intro to Cyber Technologies or equivalent (some linux command line knowledge and networking basics).

    What's cool about this class:

    Don't deny it; we all have secrets we want to keep! This is why much of modern-day network traffic is encrypted! Learn about the science behind what makes this possible. Cryptology is quite magical: it allows us to communicate with each other in private over public channels and lets us authenticate other users without ever seeing them. Beyond the practical sense, it also allows us to do silly things like flip coins over the phone or prove to someone we know the solution to a sudoku problem without ever revealing the solution. This course will go into the inner workings of modern day encryption schemes and show you that most of them are not as secure as you think! There will be hands-on learning of the theories as well as coding to demonstrate how useful cryptography can be.

  • Wireless Penetration Testing

    Course Description:

    An introduction to wireless security from an offensive perspective. Many wireless networks are improperly configured and introduce an easy point of entry for attackers to intercept a users network traffic. We will discuss weaknesses in using wireless networks and why using "Free WiFi" is often a recipe for disaster. Students will learn how to mitigate wireless threats by understanding the threat landscape. Ethics in security will be heavily emphasized in this class.

    Note: This class will be presented from an attacker's viewpoint and contain hands-on offensive content performed in a secure, isolated, and approved manner.

    Note 2: This is currently a half-class and usually paired up with Intro to Cryptography.

    Summary of course contents:

    • Ethics of offensive security (e.g. how to work for the good guys and not go to jail)
    • How to get on the victim's network
      • Using public WiFi (airports, coffee shops, etc.)
      • Cracking WEP
      • Offline cracking WPA1/2
      • Trick the victim on to your network
    • Take over the network
      • ARP poisoning
    • Impersonate a website
      • Clone an existing website
      • Phishing and other forms of link-bait
      • DNS spoofing
    • Trick your way around security measures
      • SSL Strip

    Prerequisites:

    • Intro to Cyber Technologies
    • OR
    • A general understanding of the OSI networking stack (understanding layers 2 and 3 in particular)
    • Familiarity with ARP, DHCP, and DNS protocols
    • Familiarity with Wireshark or tcpdump tools
    • Basic Linux command-line experience

    What's cool about this class:

    • Gain a first-person understanding of the wireless threat landscape to defend your own networks and devices.
    • Getting to spy on your class partner.
    • Actually having hands-on experience with some of these techniques is considered "street cred" in the security field.
  • Virtualization

    Course Description:

    This virtualization class will cover the process of creating a virtual machine on your laptop. How to set up networking so that your virtual computer can be seen from outside the host computer. We will cover how to convert a physical machine to a virtual machine and what products are available to you to enable your virtualization opportunities. We will also cover using vnc as a tool to access your virtual machine and other machines.

    Summary of course contents:

    • Install and configure a VM
    • Set up network on VM (Bridged vs Nat)
    • P2V Conversion (Physical to Virtual)
    • Why use virtualization?
    • What products are on the market to enable virtualization (VMPlayer, Virtual Box, KVM)
    • VNC to the desktop

    Prerequisites:

    • No prerequisites other than a desire to learn.
    • Some networking or Linux experience may be helpful.

    Why take this course:

    • To learn about the single most effective way to boost efficiency and agility for your computer.
    • If you are into technology and computers, virtualization is something you will want to learn about.
    • This will be a great way to impress your teachers and friends on all the things you can do with your computer.
  • Intro to Analog Circuits

    Course Description:

    An exploration of basic concepts in analog electronic circuits. Covers voltage, current, Ohm's Law and other electrical laws, resistors, capacitors, diodes, and bipolar junction transistors.

    Summary of course contents:

    • Basics
      • Circuit diagrams
      • Voltage
      • Current
      • Power
      • Series vs. parallel circuits
    • Resistors
      • What is resistance?
      • Uses
      • Ohm's Law
      • Voltage dividers
    • Capacitors
      • How capacitors work
      • Uses of capacitors
      • Voltage curves
      • Series/parallel capacitors/resistors
    • Diodes
      • Semiconductors: silicon on dope
      • Voltage curves
      • Uses
      • Light-emitting diodes
    • Transistors
      • Bipolar junction transistors
      • Applications
      • Behavior - NPN vs PNP
      • Voltage curves
      • Switching
      • Amplification
      • Digital logic
    • Capstone

    This course is an introduction to analog electronic circuits through a combination of lecture and hands-on building. Students will learn the functions of basic electronic components, how to perform essential mathematical calculations for circuit building, how to read a schematic diagram, and how to build circuits on a breadboard. The course will conclude with a multi-week capstone project in which students will construct and demonstrate a complex electronic system.