This page contains the descriptions for all the camps we have offered in the past & we may not offer all the camps all the time (almost all of them are available any time for private camps). We will continue to fine-tune our offerings and we may discontinue specific camps any time. If you landed here from another page, return to that page to find the registration link.

One page flyers for popular camps: bit.ly/camps-pdf.

Camps

Explore Coding Tools

With the abundance of web-based tools to learn coding, we hope to play with a different tool in every session and get introduced to coding concepts in an enjoyable way. If parents want to get an idea about these tools, visit code.org/learn and madewithcode.com to see a few samples, but please do not prep your children and make the camp a boring experience! Just like Scratch, this camp is for novices–no programming background is needed to attend this camp.

Animations using Scratch

MIT Scratch is a GUI based programming environment. While it has a friendly interface that appeals to young children, it has tons of functionality! You can do 2D animations of objects, create cool drawings, make a character sing a tune, develop an interactive game (control it with various inputs including voice!) and even narrate a story with images! Go to scratch.mit.edu to check out the tool and lots of examples. We will use a specific list of examples shown in www.utdallas.edu/~jeyv/scratch. Scratch uses drag-and-drop programming which means no syntax errors – your program is always ready to run! It enables the young learners to focus on the logic instead. This camp is for beginners–no prior experience is required.

Advanced Scratch: Games & Music

Pre-requisite: Animation using Scratch

Once the students are comfortable with the basics covered in “Animations using Scratch”, they can take an advanced camp to develop games & make music. We will typically use multiple sprites (objects) and even multiple code segments for each object. We will use programming concepts to make music and even utilize randomness to change the tunes along the way. We will use sophisticated concepts like event-driven programming and cloning objects to complete advanced projects.

Coding with Robots

Pre-requisite (recommended): Animation using Scratch

Finch robots are tiny USB-powered robots that were developed specifically to learn programming. While these robots can be controlled from programs written in almost dozen languages, we are going to use MIT Scratch – it enables Elementary kids to write a few simple programs for the robot to move around, sense obstacles & light, play tunes etc.! Then, we will look at another sophisticated robot called Scribbler – it is suitable for a wide range of programming skills. In addition to light-seeking, object detection, object avoidance & line-following, it can do art-work: place a Sharpie marker in the pen port and it will draw as it goes around! We will use the Graphical User Interface tile-based programming tools. Finally, we will look at Sphero robotic balls – they enable us to bring several math and science concepts to life!

Lego WeDo Robots

Students will enjoy experimenting with science while they learn to build playful motorized creations with LEGO®.* Kids will be in awe to see their motorized creations come to life!

AI with Cozmo Robot

Cozmo is more than a computer—it’s an AI with personality, a companion for a journey into a world of adventures and challenges (long after camp ends). Learn coding with Cozmo and see its artificial intelligence react with giggles, jiggles, squeals, and squeaks as you triumph together on any task. Use visual coding to make alarm clocks, play block-moving games, and see what programming can do with a new electronic friend.

Circuits using MaKey MaKey kit

Pre-requisite: None

Circuits with MaKey MaKey kit uses a kit that lets you turn anything into a controller. No technical expertise is needed, letting your imagination run wild while you quickly prototype ideas and interactions. It’s basically a simplified Arduino processor that enables alternative ways for several inputs on your computer like mouse click, space, left-right-up-down keys, etc. through interesting objects like human body, vegetables, anything wet, pencil lead and almost anything that conducts electricity. We will be working “fun” projects every day! View the gallery of MaKey MaKey based projects.

LittleBits Circuit design

Pre-requisite: None

LittleBits is a platform of easy-to-use electronic building blocks that empower you to invent anything, from your own remote-controlled car, to a smart home device. The Bits snap together with magnets, no soldering, no wiring and no programming needed. Click here to see more details.

Bring Math to Life!

This camp is specifically for students who are super-excited about Math – we will highlight/focus on bringing math concepts to life through Computer Programming. We will use Scratch, Logo, Alice, JavaScript or Java to see the math in action! Here are a few major concepts that will be covered: Angles, 3-dimensional space, random numbers, remainder, rotation, scaling & recursion. We hope this camp will increase the students’ interest in Computer Programming.

Lighting up with MICRO:BIT!

Pre-requisite: Animation using Scratch

This fusion camp uses a little device called BBC micro:bit – it was designed by the BBC for use in computer education in the UK. It has 25 red LED lights that can flash messages & two programmable buttons that can be used to control games or pause and skip songs on a playlist. It can be used for all sorts of cool creations, from robots to musical instruments – the possibilities are endless. It comes with multiple code editors – we will start off with Block based programming & show the path to use the programming languages like JavaScript & Python using various interesting projects.

Dancing Robots

Overcome the fear of computer science and coding with AsomeBot! AsomeBot is an educational robot that provides students with an interactive platform to learn the basics of coding. AsomeBot is already being used in public schools across the world, and we are thrilled to introduce in US! Students will learn the fundamental concepts of coding by programming AsomeBot to execute an endless variety of motions, functions, and actions (including dancing!) by controlling the sensors, motors, and hardware of AsomeBot. Students will think critically and creatively to become confident learners of Python coding through a proven curriculum that is fun, easy, and educational.

Enjoyable Coding with Alice / Animation & Games using Alice

This camp is perfect for middle school students who have not done any programming so far. It uses drag and drop programming, which means no syntax errors! You can convert your idea to code quickly and see it in action! You can code 3D animations or games with ease. Alice comes with a powerful graphics library that minimizes coding effort. Visit www.utdallas.edu/~jeyv/alice to preview the content. Since Alice does require “careful” drop operations, we do not recommend Elementary students to take Alice directly, we prefer them to start with Scratch.

After a short introduction about Alice tool, we will work on a series of exercises/projects throughout the camp. Please bring Windows/Mac/Linux laptop with Alice 2 installed from http://www.alice.org/get-alice/alice-2. Download the appropriate one listed below English Gallery Complete: Windows / Mac / Linux, then follow the instructions specified in Installing Alice 2. These are huge download files. If you cannot download and install it, do not worry – we will have the downloaded files ready to install. Ask for help as soon as you come in. Alice 3 software is quite different and we will NOT use it in this workshop. Windows laptop is preferred, but Alice does work well in Mac and Linux as well. Once installed, Alice behaves exactly the same way in all environments.

Enjoyable Coding with JavaScript / Drawings with JavaScript

Pre-requisite: Enjoyable Coding with Alice

This camp is perfect for students who have done a little bit of programming using Alice/Scratch/Robots, etc., but have not spent much time with C/C++/Java yet. While many high school students may be OK to start here without any prior programming experience, all novices are strongly encouraged to complete Alice camp first. This camp uses the Khan Academy JavaScript environment, which features a web-page with coding area and virtual canvas area for output. As you type the code, output appears/changes. This friendly environment comes with a powerful graphics library that minimizes coding effort. If you want to preview the workshop content, visit www.utdallas.edu/~jeyv/kajs.

There is no software to install and all the work is done in a website. Mozilla Firefox or Google Chrome browser is required since IE does not work well. Go to https://www.khanacademy.org/cs/winston/823977317 to test your configuration/browser – it should show a funny yellow colored head in your screen, then you are in good shape! Otherwise, try another browser/laptop.

Enjoyable Coding with Processing

Pre-requisite: Enjoyable Coding with JavaScript

Processing is a programming language, development environment, and online community. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production. Khan Academy utilizes simplified interface of Processing to introduce programming to young kids. The Processing language builds on the Java language, but uses a simplified syntax and a graphics user interface – enables us to learn advanced programming concepts in an enjoyable way. Click here to learn more about Processing.

Coding with MICRO:BIT!

This fusion camp uses a little device called BBC micro:bit – it was designed by the BBC for use in computer education in the UK. It has 25 red LED lights that can flash messages & two programmable buttons that can be used to control games or pause and skip songs on a playlist. It can be used for all sorts of cool creations, from robots to musical instruments – the possibilities are endless. It comes with multiple code editors – we will start off with Block based programming, then move to JavaScript editor, and finally use Python, working on various interesting projects along the way!

Introductory Microsoft Excel

Microsoft Excel is a powerful tool essential for managing and presenting data in today’s classrooms & workplaces. In this introductory camp, students will learn to create and edit worksheets, use formulas and functions, sort and filter detail data visually, and present summary information in a consumable and professional format.

Advanced Microsoft Excel

Microsoft Excel is a powerful tool essential for managing and presenting data in today’s classrooms & workplaces. In this advanced camp, students will learn to use formulas and functions, sort and filter detail data visually, and present summary information in sophisticated charts. We will also cover advanced features like PivotTables & What-if Analysis.

Programming in Java

Pre-requisite: Enjoyable Coding with JavaScript

It is a bad idea for novices to learn Java as a first language – We recommend everyone to climb the steps as explained in utdallas.edu/k12 – complete a few camps from our Enjoyable series (specifically Alice and JavaScript) before this camp. In other words, it will be better if you have already mastered the basic programming concepts and have done some free-form coding. That will make assimilating Java bit easier. This camp will cover the following concepts using hands-on projects:

  • Java fundamentals
  • if and switch statements
  • loops
  • static methods
  • arrays
  • Introduction to Object Oriented programming

You need to bring a laptop with WiFi capability to the workshop. Please try to download and install following 2 Software modules before coming to the workshop:

Programming in C++

Pre-requisite: Enjoyable Coding with JavaScript

It is a bad idea for novices to learn C++ as a first language. We recommend everyone to climb the steps as explained in utdallas.edu/k12 – We recommend everyone to complete a few camps from our Enjoyable series (specifically Alice and JavaScript) before this camp. In other words, it will be better if you have already mastered the basic programming concepts and have done some free-form coding. That will make assimilating C++ easier. This camp will cover the following concepts using hands-on activities:

  • C++ fundamentals
  • if and switch statements
  • loops
  • functions
  • arrays
  • pointers
  • introduction to Object Oriented programming

You need to bring a laptop with WiFi capability to the camp. Please download and install Code::Blocks IDE with mingw compiler before coming to the camp from http://www.codeblocks.org/downloads/26 In case you run into installation problems, no worries – we will help you to install it when the camp starts.

Programming in Python

Pre-requisite: Enjoyable Coding with JavaScript

We recommend everyone to complete a few camps from our Enjoyable series (specifically Alice and JavaScript) before this camp. In other words, it will be better if you have already mastered the basic programming concepts and have done some free-form coding. This workshop will cover the following concepts using hands-on activities:

  • Introduction to Programs Data Types and Variables
  • Python Lists
  • For Loops, While Loops in Python
  • Fun with strings
  • Functions

Advanced Python Programming

Pre-requisite: Programming in Python

This camp will cover the higher level concepts of Python as well as the Model-View-Controller architecture. Participants will learn how python can be used to build powerful MVC objects and how to use Django, a very popular and powerful framework to build their very first web application. At the end of the session they should be able to build their own python web-apps using MVC.

In addition to basic programming experience with Python, knowledge about MVC architecture, HTML and JavaScript will be helpful to get the full value of this camp.

Mobile Apps using MIT App Inventor

Pre-requisite: Enjoyable Coding with Alice

You have a great idea for mobile app, but do not know how to program in Java/Objective C? No worries. MIT App Inventor enables you to use drag-and-drop programming to put your creative ideas to work and make Android apps. It will be helpful to bring an Android phone to test your apps. While the drag-and-drop mechanism is easy to get used to, you will come across lots of components that need to come together to make a complex mobile application. We encourage Elementary and middle school students to complete Alice camp first.

Object Oriented Programming in Java

Pre-requisite: Programming in Java

This advanced Java camp will cover the following concepts and related hands-on activities:

  • Classes and methods
  • Composition & Interfaces
  • Polymorphism & Inheritance
  • GUI and Swing classes
  • Collections & Generics

There are several choices of IDEs to Java programs. Based on the past experience, the following tools work well for our needs in this camp. Please download and install Eclipse for Java:

Object Oriented Programming in C++

Pre-requisite: Programming in C++

This workshop will cover the following concepts and related hands-on activities:

  • Classes & Methods
  • Composition & Inheritance
  • Friend and Virtual Functions
  • C++ Standard Template Library

There are several choices of IDEs to develop C++ programs. We recommend you to download and install CodeBlocks for C++ from www.codeblocks.org/downloads/26

Programming Competition problems

Pre-requisite: Programming in Java / C++ / Python

What is special about programming competition problems? It is all about algorithmic thinking & solving problems correctly & efficiently! If you are strong in programming fundamentals and can code well in Java or C++, you will get the maximum value from this camp. We will start with a few simple competition problems & show what it takes to compete in the programming competitions. We will start with Bronze level problems in www.usaco.org, then work toward harder problems.

Android Application Development

Pre-requisite: Object Oriented Programming in Java or C++

We will review a few advanced Java concepts like Swing & Inheritance quickly, then we will proceed to cover a few simple Android applications. We recommend you to bring an Android device with your Windows laptop, since Android emulator tool comes with a few limitations.

Virtual Reality App Design

Pre-requisite: Programming in C#

This camp is for students who are interested to develop Virtual Reality Game using Unity Framework (see http://unity3d.com/learn for documentation). This framework supports C# and JavaScript. This is an advanced workshop – students should be comfortable with Java/C++/C# and Object Oriented Programming concepts, before attending this workshop. We will start familiarizing with Unity environment in the morning and start working towards a simple game.

Engineering Projects with Arduino

Arduino is a low-cost open-source MCU platform that can create easily designed electronics and homemade projects ranging from simple models to robots and satellites. With an unlimited spectrum of input and output add-ons like sensors, indicators, displays, motors etc. this hardware is great for hobbyists and engineers to create devices that can interact with the real world. This workshop will not just help the students to use the board but will also enable them to build embedded systems around it.

Coding with Drone

CoDrone is an Arduino-based drone kit that will allow students to learn about construction of drones and how to program them to fly. We start with introduction to Arduino IDE and explaining the building blocks on how a drone is constructed and laws that make them fly. Then we build up on using these basic building blocks and program the drone kit to make it fly and reach the sky.

Embedded programming with Arduino & Raspberry PI

Pre-requisite: Enjoyable Programming using JavaScript

This camp will start with low-level operations in C, such as shifting, then discuss pointers. Embedded-programming concepts such as memory-mapped I/O and interrupts will be covered. There will be a few exercises in C, and a final exercise using the Arduino board and other components.

Introductory GameMaker

This camp is all about Game development! You do not need to have programming background to attend this workshop. We will use GameMaker software in this camp. GameMaker enables us to assemble the building blocks and develop professional quality games quickly! After the campers get comfortable with the building blocks & drag-and-drop programming, scripting will be introduced to show a glimpse of advanced level capabilities of GameMaker.

Advanced GameMaker

Pre-requisite: Introductory GameMaker

This camp is all about Game development! This workshops assumes that you have some programming experience. We will write code using the built-in scripting language GML to develop the games. We will use GameMaker software in this camp.

Web page design

Students will learn basic page building techniques for creating professional quality web sites — perfect for family or school projects. From storyboards, digital art and page building to navigation, design and page linking, students will gain mastery of digital techniques for designing web sites, step-by-step. Prior programming knowledge would be helpful, but not required.

Learning to code with Minecraft (Python)

Pre-requisite: Enjoyable Coding with JavaScript

We invite all Minecraft fans to come and attend this camp! Begin with some short, simple Python lessons, then use your new skills to modify Minecraft to produce instant and totally awesome results. Learn how to customize Minecraft to make mini-games, duplicate entire buildings, and turn boring blocks into gold.

Recommended laptop configuration for Minecraft camp: https://help.mojang.com/customer/portal/articles/325948-minecraft-system-requirements

Robotic Art – STEAM camp

Robots! What can you do with them? Why are they important? Find out where art and engineering fuse! This camp will introduce students to common sensors and motors, simple microprocessors and programming robots to turn inputs into actions. Students will build robotic “kinetic sculptures” (or whatever they want).

ECS Research Experience

This summer camp is recommended only for mature high school students (10th and 11th graders) who have good coding experience. We try to limit to 8 students in each session. Students will visit a different research lab in Engineering and Computer Science every day & get introduced to something new! It can help them to make an informed decision when selecting their college major. Typical lab session will be 1-2 hours of lecture & demos followed by 1-2 hours of hands-on activity.

Databases & SQL programming

Campers will learn about the importance of databases, then start hands-on activities with one of the open-source databases like MySQL to learn about various concepts, including a hash mechanism that enables super-fast searches! After learning to write simple and complex SQL queries, campers will be introduced to accessing databases from Web applications.

Linux installation & command line usage

We will install one of the popular Linux distros, understand various components of Linux, then dig deep into Linux command line & realize its full power – specifically, we will learn how to do complex operations by combining several simple commands using pipes. Then, we will learn how to use scripts to avoid typing several commands repeatedly. We will also learn how to run tasks periodically (also known as cron jobs).

Data Structures & Algorithms

Pre-requisite: Programming in Java/C++/Python

There is lot more to Computer Science than coding! This advanced level camp is ideal for high school students who are comfortable with Java/C++ programming and considering Computer Science as college degree. Appropriate selection of data structure is crucial to run the algorithms efficiently and achieve the best running time for a program while keeping the memory requirements to a minimum. Arrays, linked lists, hash tables, tree & graph structures will be covered along with algorithms to manipulate and utilize each structure. While a typical software engineer may select a data structure and use available library functions, we will cover how those library functions are implemented.

Machine Learning with Python

Pre-requisite: Data Structures & Algorithms

We will start with the basic concepts and techniques that enable computers to perform intelligent tasks, then focus more on machine learning. Several of the following topics will be covered: cross-validation, decision trees, neural nets, statistical tests, Bayesian learning, computational learning theory, instance-based learning, reinforcement learning, bagging, boosting, support vector machines, Hidden Markov Models, clustering, and semi-supervised and unsupervised learning techniques.

Cyber Security & Ethical Hacking

This will be an introductory camp on Cyber Security & Ethical Hacking for high school students. Following topics will be covered with a few hands-on examples: Cryptography (encryption & decryption), various types of attacks & how to handle them, and finally, Capture the flag competition.

Computer Architecture

Computers are mysterious. Even when we know how to program them to do what we want, we still don’t know how they do it. Do computers really speak Java? Computers are electronic devices. How does electricity solve problems?

In this camp, we will look under the hood of a computer and learn the fundamental language of computing systems: Binary Logic. Using an open-source logic simulator called Logisim, we will explore the basic architecture of a computer. We will learn how information flows from memory to processor and how electricity can encode the computer’s instructions.

If you’re the curious one that always wondered how computers really work, this camp is for you!

Topics: Number Systems (only binary), Basic Logic (Everyday Logic Exercise), Compound Logic, Truth Table to Compound Statements, Intro to Logisim, Decoder/Multiplexer exercise in Logisim, Compound Logic to Truth Table Exercise in Logisim, Concept of a Computer discussion, Hex/Negative numbers, Full-Adder exercise, Flip Flops