Electrical Engineering and Computer Science Summer Camp

Group photo of the 2019 EECA Campers

The electrical engineering and computer science department hosts summer camps for students interested in cybersecurity and programming. We're excited for you to join us this summer!

Dates: June 20, 2022–July 1, 2022
Registration: Check back soon!


Cybersecurity Engineering Summer Camp

You will learn about several areas within cybersecurity. Modules include:

  • Intro to Cryptocurrencies: In this module students will learn different types of cryptocurrencies like Bitcoins and Ether. In addition, with the help of an MIT academic initiative, students will gain hands-on experience with mining Bitcoins and Ether and the application of the blockchain in healthcare and supply chain management.
  • Encryption and Side-Channel Attacks: This module will cover basic concepts of encryption and side-channel data leakage in the real world. The students will have the opportunities to encrypt messages with several different encryption algorithms. Both network traffic and power consumption can be utilized to perform side channel analysis in cybersecurity which help attackers break encryption schemes. The students will also learn how to use Wireshark to capture (encrypted) network traffic and identify different operations and patterns based upon the power consumption of microcontrollers to develop side-channel attacks.
  • Hardware Security and Trust: Cybersecurity engineers with Reverse Engineering (RE) skills are in high demand. In this module, students will learn the basics of hardware RE. In this module, students will learn programming hardware (FPGA) and REing FPGA programming *.bit files. They will learn a high-level overview of FPGA architecture and learn to map FPGA components to its programming *.bit file. They will have the opportunity to learn about binary and ASCII *.bit file formats. Students will gain hands-on experience in FPGA firmware REing by reprogramming FPGAs by modifying a *.bit file.
  • Drone Attack: Commercial drones have evolved to provide important services such as surveillance, data gathering, monitoring a fire, looking for leaks in a roof, and many more. Such drones usually complete their tasks while taking direction from a controller. Even lower-priced drones can be remote controlled and yield impressive results. But such drones often communicate using the common WiFi protocol. In this module, students will study the WiFi protocol and see how a drone relying on this protocol can be hijacked. A real drone will be used to demonstrate. The student’s will also learn about another potential security problem with low-cost drones:  their use of insecure software for control and data retrieval. For instance, the drone might operate a telnet server for direct control and an FTP server for data retrieval. The students will see attacks against these servers using a real drone. Finally, the students will see how drone designers are responding to these security problems.
  • Linux Operating System: The operating system (OS) of choice in the field of cybersecurity. Students will be given an in-depth introduction to the OS, including hands-on experience where they will work through a level-based set of challenges through OverTheWire's Bandit.
  • Virtualization & Emulation: Ever wonder how it's possible to play N64 games on modern PCs and cell phones? Virtualization and emulation make that possible, and more! We will explore these topics and how they are useful in the world of cybersecurity. Students will gain experience setting up their own virtual Linux environments.
  • Common Vulnerabilities & Exposures: Students will be introduced to some of the most commonly known CVEs, as catalogued by MITRE. Students will learn what a vulnerability is, how it is documented, and how it is distributed.  Students will work with a real-world, web-based vulnerability.
  • Networking: Before reviewing the fundamentals of networking, students will be shown a wireless de-authentication attack, which will demonstrate just how easy network-based attacks can be to execute. Students will also be introduced to some of the most common attack and defense strategies utilized at the enterprise level.
  • Exploitation Development & Deployment: Students will be introduced to how exploits are developed using the Metasploit Framework. Students will learn how to scan a network-connected machine for common vulnerabilities, and then apply the results to build an actual exploit for that machine.
  • Malware Analysis: Students will be introduced to malware analysis and learn how to use sandboxing to safely handle malware during research. Students will gain hands-on experience by dissecting real-world malware utilizing a suite of advanced tools that allow for isolated analysis.
  • Capture the Flag: How does someone practice the advanced techniques of cybersecurity engineers? CTFs, that’s how! CTFs are competitions held worldwide where problems of all skill levels are hosted for practice and rewards. Students will be introduced to the concept of CTFs and be exposed to some actual CTF problems.
  • Software Reverse Engineering: What if I told you that you could figure out how any piece of software worked, even if you didn't have the original source code? Introducing Software Reverse Engineering (SRE). Students will be exposed to advanced tools and concepts utilized in the field of SRE and practice using those tools by conquering difficult CTF challenges.

Python Programming Camp

Python programming will get you ahead of the game for a career in engineering. Join us to learn about the functions and maintaining of computer programming. Here are the modules you'll follow throughout the camp.
 
  • Introduction: Not even magicians are as powerful as computer programmers. In Module 1, you will learn what it means to compute and digitize, especially with multimedia, and how programming is like being in complete control of a world of your own design. In addition, you will learn the low-level details that make computers work and the fascinating relationship between computer science and effective communication.
  • Names, variables, and functions – Oh my!: In Module 2, you will learn three of the most important building blocks of programming: names, variables and functions. From the combination of these building blocks, you will build an interactive program that reads pictures from files and displays them on the screen!
  • Picture Elements and Roller Coasters: Did you know that an image on the computer is just a bunch of dots? These dots are known as picture elements, a.k.a pixels. In Module 3 you will take a lesson from roller coasters and use loops to manipulate the pixels of pictures stored in files by changing their colors (or even removing the color altogether).
  • Welcome to the Funhouse: In Module 4 you will use your programming skills to build a virtual funhouse mirror! The combination of loops, functions, names, and variables make it possible to mirror images, flip images, expand images, shrink images and extract portions of images.
  • Should I Stay Or Should I Go?: Life is full of choices and so are programs. In Module 5 you will learn how to program the computer to perform different actions depending on a series of choices. If your program makes the right choices, it can enhance an photo, remove blemishes from a picture or even compress a picture so that it takes up less space on the computer but doesn’t lose any detail!
  • Rome Wasn’t Built In A Day: Writing programs is just one part of computer programming. In fact, enhancing, fixing and maintaining existing programs is by far the hardest part of being a computer scientist. In Module 6, you will learn the right way to write large programs – especially fun ones like adventure games!
  • A Word Is Worth 1/1000 Of A Picture: Whether it is analyzing sentences to determine their meaning, guaranteeing that people from around the world can use the computer in their native language or automatically generating paragraphs that seem like they are written by humans, manipulating text is a common programming task. In Module 7 you will learn how to write programs that work with sequences of characters and symbols, known as strings.

Questions? Contact Us

Questions? Contact Us

For more information about the camp, please contact assistant professor-education Will Hawkins: hawkinwh@mail.uc.edu