Explore Courses
Courses
Technology
This course provides an introduction to programming with Arduino, a popular open-source platform for building interactive electronics. Arduino combines easy-to-use hardware and software, making it an ideal starting point for beginners interested in programming, electronics, and embedded systems. The platform offers hands-on experience with both programming and hardware, enabling students to create projects that bridge the digital and physical worlds.
Participants will learn the fundamentals of Arduino programming using the Arduino IDE, where they will get hands-on experience with basic coding principles, such as variables, conditionals, loops, and functions. The course covers how to interface with various components like LEDs, motors, and sensors, and introduces essential debugging and troubleshooting techniques for both code and hardware.
By the end of the course, students will have a solid understanding of programming and hardware integration, allowing them to tackle a wide variety of DIY projects, from simple gadgets to interactive systems. Students will also develop problem-solving skills and learn how to think creatively when working with both code and electronics.
The course alternates between instruction, group work, and individual projects, giving students the opportunity to apply their knowledge and build working prototypes. As they learn Arduino, students will also enhance their logical thinking and technical skills, preparing them to code and create their own beginner DIY electronics projects and continue exploring the world of programming, electronics, embedded systems, robotics, and IoT (Internet of Things).
-
August 11 to August 15, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Jeremy Wang
-
This course is designed for students who have an interest in the future of finance, technology, blockchain, cryptocurrency, artificial intelligence, and work. Beginning with an exploration of Fintech (financial technology), we explore technology’s impact on everything from banking to real estate to Wall Street. Additionally, we look at how artificial intelligence (AI) will automate and reduce the need for human workers, as AI, Fintech, and other technologies are combined to automate many tasks.
After gaining a solid understanding of the real-world use cases of Fintech and the everyday ways it impacts the economy, social justice, and our lives, students take a journey of discovery into the world of AI, the Internet of Things (IoT), blockchain, Bitcoin, and cryptocurrency. Since Bitcoin’s launch in 2009, cryptocurrency and decentralized ledger technology, aka blockchain, have emerged as an economic force majeure, disrupting the fundamentals of how people interact and how they perceive money. In addition to pushing the evolution of money, blockchain technology is now poised to disrupt how we organize businesses and the future of work. Course participants explore the organizational impacts and transformations caused by blockchain and cryptocurrencies and examine what this will mean to them as future CEOs and global business and thought leaders.
The course concludes by exploring the perspective of entrepreneurs and innovators, further examining how technologies come together to form the businesses, disruptions, and methodologies of the 21st Century. Participants walk away with a fundamental understanding of what tokens and cryptocurrencies are; how businesses leverage blockchain technology, AI, and other Fintech applications; and how digital transformation impacts social interactions and the future of work.
Please note: This course is not a computer programming course and requires no prior knowledge or experience, but rather looks at these emerging technologies more broadly from business, social, political, and cultural perspectives.
-
June 30 to July 18, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Lindsley Medlin
-
-
July 22 to August 08, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Lindsley Medlin
-
Each year cybercriminals steal hundreds of billions of dollars’ worth of information from major companies and vital national security secrets from governments, while terrorist organizations leverage cyber-networks for distributing their media and recruiting. It is imperative to nurture the next generation of intelligence professionals to understand the cyber-threat landscape given its ubiquitous impact on our daily lives.
In this course participants are exposed to cyber-threat intelligence as a discipline and its function in providing decision-makers with the support they need to stay abreast of evolving security challenges. Case studies on advanced persistent threat (APT) groups and large cybercrime networks are examined so as to better understand their tactics, techniques, and procedures (TTPs); their successes; and their shortcomings. Further, we look at technology’s evolution and how it is integrated into our lives along with the likely future threat landscape that accompanies these technologies.
Threat intelligence encompasses more than the government, considering all private companies are reliant on technology and have their own threat intelligence teams, so this course focuses on both the public and private sectors.
Course readings cover the topics of intelligence, analysis, advanced persistent threat groups, cybercriminals, terrorist organizations, and the different methods these actors use to conduct their attacks and operations. We discuss these topics in greater depth in class lectures and with guest speakers. Students produce short white papers and work on group presentations in which they represent threat intel teams focusing on particular entities.
Please note, this is not a computer science class and no technical expertise is required.
-
August 11 to August 15, 2025
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
Instructor(s): Jennifer Mulvihill
-
-
August 11 to August 15, 2025
-
- Monday–Friday 10:00 a.m.–12:00 p.m. and 1:00–3:00 p.m. ET
-
Data science and machine learning are exciting and popular disciplines. While different fields, they work best in sync to help change the way humans think, behave, and interact. In fact, some of the most popular data science methods stem from machine learning. Through this course, students will be introduced to the foundations of both science areas and explore available career opportunities. Beginning with an overview of the landscape and real-world applications, students will learn how data science and machine learning impact the world in which we live, every day. Further, students will gain hands-on experience with introductory coding using Python and become versed in popular machine learning algorithms. By the end of the course, students will use their benchmark knowledge to analyze and present data ethically and effectively. Finally, students will leave the course prepared for more advanced practice in data science and machine learning.
Please note, this course is for students with little-to-no previous experience with coding/programming. Students with more advanced knowledge should consider Data Science and Machine Learning II.
-
September 20 to December 08, 2024
-
-
June 30 to July 18, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
-
-
July 22 to August 08, 2025
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
Instructor(s): Devon Peticolas
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
Instructor(s): James Newswanger
-
-
July 07 to July 18, 2025
-
- Monday–Friday 8:00–11:00 a.m. ET
-
- Monday–Friday 12:00–3:00 p.m. ET
-
-
July 21 to August 01, 2025
-
- Monday–Friday 12:00–3:00 p.m. ET
-
- Monday–Friday 5:00–8:00 p.m. ET
Instructor(s): Tempest Francis
-
The power of data science and machine learning can change the world. From voice activation to video game programming to advancements in medical science - the possibilities for activation are endless. Through this advanced course, students will leverage their foundational knowledge of Python to develop a more sophisticated programming skill set. Further, students will use a variety of mathematical techniques (statistics, linear algebra, and probability) to analyze data and create impactful visualizations. By course completion, students will become well-versed in a range of strategies and techniques in both data science and machine learning and become data-driven decision makers. Further, students will be able to apply communication skills and fairness frameworks to identified solutions, making them invaluable assets to any future data science/machine learning classroom, or future employer.
Note: This course is for students with prior programming experience (in particular, Python) and/or previous coursework in Data Science and Machine Learning. Further, some background in statistics and linear algebra is helpful. Students with little-to-no prior experience in these areas should explore our Data Science and Machine Learning I course.
-
January 18 to March 23, 2025
-
- Sunday 1:00–3:00 p.m. ET
Instructor(s): Devon Peticolas
-
-
June 30 to July 18, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Kyle Dent
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
-
-
July 22 to August 08, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Kyle Dent
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
-
-
July 07 to July 18, 2025
-
- Monday–Friday 5:00–8:00 p.m. ET
Instructor(s): Eugenio Zuccarelli
-
-
July 21 to August 01, 2025
-
- Monday–Friday 8:00–11:00 a.m. ET
Instructor(s): Tomek Furtak
-
This course is intended for students with a strong programming background, including comfort in applying object-oriented programming and recursion to solve problems. Students will start with the history of artificial intelligence and progress to focus on more powerful, classical techniques. Optimization and probabilistic strategies are explored so as to demonstrate tradeoffs between different types of search strategies. Several well-known problems—such as N-Queens, Knapsack, Post correspondence, and Chess—may be considered. Participants are expected to complete challenging and thought-provoking assignments using the techniques taught in class as well as their prerequisite knowledge. The end goal of the course is for each student to be able to build functioning programs in Python and Java.
Student computers can be either Mac or PC, but should have at least 10GB of free space.
-
June 30 to July 18, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Mostafa Omar
-
An introductory course designed to develop logical reasoning and computer programming skills through immersion in the fundamentals of Java. Programming projects will challenge students to develop their logical reasoning, systematic thinking, and problem-solving skills. Students become familiar with fundamental object-oriented programming concepts, algorithms, and techniques. This course covers an overview of introductory material through hands-on labs and individual and collaborative projects. Labs are carried out in the cross-platform Java environment, which will be set up on students' personal computers.
No previous programming experience is required, but participants should have an aptitude for logical reasoning and systematic thinking.
Student computers can either be a PC or a Mac, but should have 8GB – 10GB of free space. Students enrolled in the on-campus program should bring their laptop to class.
-
July 21 to August 01, 2025
-
- Monday–Friday 5:00–8:00 p.m. ET
Instructor(s): Matthew Cheng
-
This course provides an intensive introduction to coding with the language of Python, one of the most widely used and intuitive programming languages. Python is an interpreted language that, while syntactically simple, is equipped with a powerful set of libraries. Data analysis, machine learning, AI, data visualization, and web development can all be done quickly and efficiently with Python, making it the ideal language for beginners.
Participants learn the fundamentals of programming with Python; they are introduced to best programming practices, data representation and storage, data structures, functions and scripts, and more. By the end of the course, students will have an understanding of the programming fundamentals required to approach novel and interesting problems with Python.
The course alternates between classic instruction, group work, and individual programming challenges. While learning to code in Python, students also develop logical thinking and problem solving skills that will be helpful to them in learning other programming languages as well as in college and beyond.
No previous programming experience is required, but participants should have an aptitude for logical reasoning and systematic thinking.
Student computers can either be a PC or a Mac, but should have 8GB – 10GB of free space. Students enrolled in the on-campus program should bring their laptop to class.
-
September 20 to December 08, 2024
-
- Sunday 10:00 a.m.–12:00 p.m. ET
Instructor(s): Jeremy Wang , Leroy Sibanda
-
-
June 30 to July 18, 2025
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
Instructor(s): Vito Cangelosi
-
-
July 22 to August 08, 2025
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
-
-
July 07 to July 18, 2025
-
- Monday–Friday 8:00–11:00 a.m. ET
Instructor(s): Jeremy Wang
-
-
July 21 to August 01, 2025
-
- Monday–Friday 5:00–8:00 p.m. ET
Instructor(s): Matthew Cheng
-
This course provides students with a fast-paced and engaging introduction to programming with Rust, a powerful and modern language known for its focus on safety, performance, and concurrency. Rust is increasingly used in areas like systems programming, game development, and building high-performance applications. In this course, students will learn the fundamentals of coding in Rust, a language that helps developers write secure, efficient, and fast programs without sacrificing ease of use.
Participants will dive into Rust’s core concepts, including variables, data types, control flow, and its unique memory management system based on ownership and borrowing. They will explore how to write safe, error-free code using Rust’s features like pattern matching, error handling, and collections. Throughout the course, students will work on individual and group projects to build their programming skills, develop problem-solving strategies, and apply their knowledge to real-world challenges. By the end of the program, students will be confident in their ability to write their own Rust programs and will have a strong foundation in computer programming that they can build on in future courses or projects.
The course combines direct instruction, hands-on coding challenges, and collaborative group work, ensuring that students not only learn how to code but also improve their critical thinking and problem-solving abilities.
Student computers can either be a PC or a Mac, but should have 8GB – 10GB of free space. Students enrolled in the on-campus program should bring their laptop to class.
-
August 11 to August 15, 2025
-
- Monday–Friday 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m. ET
-
This course, intended for students have completed the Introduction to Programming with Python course or have the prerequisite knowledge of the course topics discussed in that class. Entry level programming experience is required. The course provides a further look at the Python programming, Participants become familiar with intermediate and advanced programming concepts and are challenged through the use of logic games, programming problems, and hands-on assignments to develop logical reasoning and problem-solving skills. The course includes asynchronous work, which students are expected to complete between class sessions.
By the end of this course, students should have a solid understanding of program classes, objects, iterators, inheritance, lambda functions, try/except, regex, file handling, database modules, graphical modules, numerical analysis modules. This knowledge will support them in future ventures in computer science programming.
-
January 18 to March 23, 2025
-
- Saturday 10:00 a.m.–12:00 p.m. ET
Instructor(s): Leroy Sibanda , Jeremy Wang
-
-
July 22 to August 08, 2025
-
- Monday–Friday 9:10–11:00 a.m. and 1:10–3:00 p.m. ET
Instructor(s): Ford McDonald
-
-
July 21 to August 01, 2025
-
- Monday–Friday 5:00–8:00 p.m. ET
Instructor(s): Jeremy Wang
-
Specific course details such as topics, activities, hours, and instructors are subject to change at the discretion of the University.
Explore Our Pre-College Programs
The best way to prepare for college is the way that works best for you. That’s why we offer multiple programs: learn in person or online, during the school year or summertime.