CS K-12 Outreach

Explore Coding with code.org

While there are tons of web-based tools to learn coding, code.org leads the way for younger students! We will use a series of lesson plans, with increasing levels of complexity. Each lesson plan has a sequence of 5-10 coding exercises. Each child can progress at his/her own pace. Resource page: studio.code.org/s/courseb-2020. Here is a sample agenda:

Day 1

3.Sequencing with Angry Birds

Day 2

4.Programming with Angry Birds

Day 3

5. Programming with Harvester, 7. Loops with Harvester

Day 4

8. Loops with Laurel, 9. Drawing Gardens with Loops

Day 5

12. A Royal Battle with Events

Hour of Code Projects

The Hour of Code started as a one-hour introduction to computer science, designed to demystify “code”, to show that anybody can learn the basics, and to broaden participation in the field of computer science. It has since become a worldwide effort to celebrate computer science, starting with 1-hour coding activities but expanding to all sorts of community efforts. hourofcode.com/us is the place to start! Here is a sample agenda:

Basics camp

Regular camp

Day 1

Code with Anna and Elsa

The Grinch: Saving Christmas with Code

Day 2

Moana: Wayfinding with Code

A Minecraft Tale of Two Villages

Day 3

Minecraft Hour of Code

Star Wars: Building a Galaxy with Code

Day 4

Make a Flappy game

Dragon Blast

Day 5

Dance Party

AI for Oceans


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 and even narrate a story with images!

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. Please visit scratch.mit.edu and create a FREE account so that the camper can store all the projects in the web. Here is a sample agenda:

Day 1

Introduction, Simple animations

Day 2

Drawing patterns, Power of Variables

Day 3

Looks, Costumes and backdrops, Events, Sensing

Day 4

Games and Animation, Greeting Cards

Day 5

Sharks-Fish Game, Ping Pong Game

 

Advanced Scratch

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.

Day 1

Scratch Review – Blocks, Simple Animations, Falling Fruits Game

Day 2

Draw Complex Patterns. Costumes

Day 3

Events, sensing, Shark fish Game

Day 4

Greeting card, Pong Starter

Day 5

Maze Game, Beetle game

 

Math & Scratch

Pre-requisite: Animation using Scratch

Your child loves math? Want to see Math in action? We will work through a series of Math problems in MIT Scratch. This camp is for students who enjoy working with math problems. Concepts: sequence, comparison, place values, multiplication tables, sum of numbers, rounding, transactions, factors, rational numbers, fractions & decimals, time, unit conversions, prime numbers, sorting & searching. Here is the resource ebook for this camp & beyond!

Day 1

MIT Scratch, Greeting, next number, list numbers in a sequence, calculator

Day 2

Multiplication table, adding multiple numbers, check number is even or odd

Day 3

Rounding a number, bank account transactions, factors of a number

Day 4

Common factors of 2 numbers, Conversion between hours, minutes & seconds, conversion of temperature (F’ and C’)

Day 5

Finding prime numbers, binary search

 

Microsoft Game Development (Kodu) – Windows Required

This camp uses the simple, icon-based, educational programming language developed by the Kodu Game Lab to teach core components of computational design such as conditions and actions. This camp promotes skills in problem-solving, reasoning, and deduction; and is built to build students’ confidence in their computer skills.

Day 1

Mouse Skills, Downloading Kodu, Adding Character and Programming it.

Day 2

Adding Multiple Characters and Making it Guard.

Day 3

Adding Timer, Score Board and Completing the Guard Game.(Need Game Controllers)

Day 4

Creating Mini Golf Game

Day 5

Creating Punk Game

 

Swift Playgrounds (iPad or Mac required)

Apple’s Swift Playgrounds is a wonderfully creative and interactive app that makes learning to code easy and fun. In this camp, students will acquire the foundation of their programming knowledge through the exploration and completion of multiple puzzles. Each puzzle acts as a lesson, highlighting key programming concepts such as commands, functions, debugging, and loops, along the way.

Day 1

TBD

Day 2

TBD

Day 3

TBD

Day 4

TBD

Day 5

TBD

 

Light up Coding with Micro:bit!

This camp is based on a little device called BBC micro:bit, but it is not needed thanks to a nice on-screen simulator! It has 25 red LED lights that can flash messages. It can be used for all sorts of cool creations, from animated patterns to musical instruments – the possibilities are endless. makecode.microbit.org/#editor is the place to get started!

Day 1

Introduction & Starter projects – Beating heart, Name badge, Graphical dice

Day 2

Fun games – Weather predictor, Coin flipper, Rock, Paper, Scissors game

Day 3

Fun games – 7 seconds game, Snap the dot game, Stopwatch

Day 4

Introduction to sensors, Light level sensor

Day 5

Crashy Bird game

 

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 & JavaScript 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 as well.

Day 1

Geometry, Resize Objects using variables

Day 2

Random numbers

Day 3

Transformations: Translate, Rotations & Scaling

Day 4

Arithmetic & geometric sequences – Cake layers, concentric circles

Day 5

Recursive shapes – triangles, squares, …

 

Modding with Minecraft

What better way is there for students to learn Computer Science than in the context of their favorite video game? Students get to go beyond just playing Minecraft, they get to program it! They create mods in Minecraft by learning programming concepts and applying them to realize their ideas.

Learners start their modding journey using drag-and-drop blockly programming and then graduate to JavaScript. Once the mods are created these can be tested in a simulator and exported to private multiplayer Minecraft server. We are always excited see what amazing ideas and “mods” students come up with!

Day 1

Learn how to build useful structures applying the concept of functions and sub-functions

Day 2

Advance to the concepts of using drones to build Lava towers, Rainbow Beacons and all magic is happening with coding power you will add to your program.

Day 3

Learn about using the variables and loops to simplify the code and apply that to build portals and houses.

Day 4

To apply the concepts of function and sub-functions and conditional programming to search for nearby entities and then teleport to them!

Day 5

Learners will be learning the schematics editor that helps them design and create buildings! It will also help preserve those buildings, in case you ever need to reset your world. Imaginations are all you need.

 

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 utdallas.edu/~jeyv/alice to preview the content.

Alice camp requires Windows PC/laptop or MacBook. Chromebook will NOT work. Alice tool can be downloaded from alice.org/get-alice/alice-2 (English Gallery Complete is preferred). See the detailed instructions here.

Day 1

Scene Setup, Our first program with Coach & Penguin

Day 2

Dog & Cat, Loop-the-loop by Sea Plane

Day 3

Person walking back & forth (IF statements), coordinated hand movements

Day 4

Keyboard Events, Hit the coach with a ball! Array of objects

Day 5

Sophisticated group dance, Frog jumping game

 

Drawings with Logo

A general-purpose language, Logo is widely known for its use of turtle graphics, in which commands for movement and drawing produced line or vector graphics, either on screen or with a small robot termed a turtle. See our resource page utdallas.edu/~veerasam/logo to get an idea.

Day 1

Simple drawings, Repeat to draw polygons & stars

Day 2

Arc based patterns, color

Day 3

Random patterns

Day 4

Functions

Day 5

Recursive Patterns

 

Enjoyable Coding with JavaScript / Drawings with JavaScript

Pre-requisite: Enjoyable Coding with Alice

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 the coding effort. utdallas.edu/~jeyv/kajs has a few examples if you would like to review. 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.

khanacademy.org is a popular site for school students – most of them should have an account there already. If not, we encourage you to create one so that the programs can be stored for future reference. We will start the coding journey at khanacademy.org/computer-programming/new/pjs.

Day 1

Drawing Basics, Coloring, Variables, Animations

Day 2

Mouse Interactions, Functions – Art work!

Day 3

Local and Global Variables, If Statements – Bouncing Ball

Day 4

While Loops, For Loops – Fancy patterns!

Day 5

Arrays – tons of bouncing balls, Brownian motion!

 

Games with JavaScript

Pre-requisite: Enjoyable Coding with JavaScript

This advanced level camp utilizes the building blocks covered in the basic JavaScript camp (Drawings & Animations with JavaScript) to design simple games. Here is the resource page for this camp: khanacademy.org/profile/jeyf20/projects

Day 1

Review, Paddle ball

Day 2

Fast click game

Day 3

Fast flip game

Day 4

Memory game

Day 5

ColorBlocks

 

Game Design with Roblox

Roblox is a game-creation website where users design and upload their own games — and play games that other people have created — in a multiplayer environment. Wize Computing Academy’s Roblox coding courses for ages 10+ provides the perfect way to learn programming, 3D modeling & game design with Roblox Studio. Learners make amazing professional quality games that they can play with friends and family, or even sell on Roblox marketplace.

Roblox is ranked as one of the top online entertainment platforms for audiences under the age of 18. It is powered by a global community of over two million developers who produce their own immersive multiplayer experiences each month using Roblox Studio, a desktop design tool. The platform enables anyone to imagine, create, and have fun with friends as they explore millions of immersive 3D experiences, all built by a global community of developers.

 

Day 1

An understanding of Lua the coding language used to create Roblox Games.
– The basic concepts of computer programming
– How to get set up to create your first Roblox game by creating an account and downloading and installing Roblox Studio.

Day 2

– How to move, scale and rotate your Roblox parts.
– How to create a script, make objects spawn and how to program your Humanoid Roblox Player and much more.

Day 3

– How to Use Roblox Toolbox and create your own models, save them and import them into your projects

Day 4

– Design, Test, and Play your own game from beginning to end.

Day 5

– Create custom animations and add sounds.

 

Web Page Design

This is an introductory camp to the fundamentals of web development using HTML and CSS to structure and design a webpage. HTML and CSS are core languages in the content creation of web pages and web applications. Through this camp, the students will be introduced to the syntax, organization, and abilities of both HTML and CSS. Students will learn the technical skills of structuring an HTML document with the compatible styling capabilities of CSS. Through hands-on demos and instruction, students will be building and designing a webpage, and learn skills that will be the foundation to a self-sufficient and knowledgeable coder.

Any text editor will work for this camp, but we prefer Sublime text or notepad++ for syntax highlighting to catch silly mistakes.

Day 1

HTML, HTML5 tags

Day 2

HTML forms, HTML tables

Day 3

HTML examples, CSS

Day 4

JavaScript

Day 5

A project using all the concepts

 

Explore Coding for MS/HS Girls

This girls-only introductory camp is sponsored by State Farm and is offered at a reduced fee to middle school & high school girls. We will use a series of FREE visual programming tools to work on artistic projects. After completing this camp, campers can proceed to take in-depth JavaScript camp, then to commercial languages like C++, Java & Python.

Day 1

Animations & Drawings with Scratch

Day 2

Games & Music with Scratch

Day 3

Animations with Alice

Day 4

Drawings with Logo

Day 5

Animations & Drawings with JavaScript

 

Data Processing in MS Excel

Microsoft Excel is a powerful tool essential for managing and presenting data in today’s classrooms & workplaces. In this 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. Then we will cover advanced features like PivotTables & What-if Analysis.

Day 1

Working with Formulas and Functions- Introduction, Creating Formulas that manipulate Text. Working with Dates and Times. Creating Formulas that Count and Sums Values.

Day 2

Creating Formulas that look up Values, Miscellaneous Calculation.

Day 3

Introduction Formulas and Functions, Working with Formulas and Functions, Creating Formulas that manipulate, Sum, and Count Values.

Day 4

Introducing Array Formulas, Performing Magic with Array Formulas.

Day 5

Analyzing Data with Pivot Tables, Performing Spreadsheet What-If Analysis.

 

Gentle Introduction to Coding

This camp is specifically for high school students who are new to coding. This camp utilizes “fun” tools to teach the basic building
blocks. This camp is strongly recommended before the students proceed to do the advanced camps.

Day 1

Basic Scratch projects

Day 2

Advanced Scratch projects

Day 3

Microbits projects / Basic Alice projects

Day 4

Microbits projects / Advanced Alice projects / Drawings with Logo

Day 5

Machine Learning with Scratch / Khan Academy JavaScript

 

Engineering & Robotics

Giving students real choices in the classroom through educational robotics can boost their engagement and motivation, allow them to capitalize on their strengths, and enable them to meet their learning needs. Educational robotics helps students feel a sense of autonomy, capability and relatedness.

Autonomy: Students feel autonomous when they understand the task, particularly if the task feels aligned with their values, interests, and goals.

Competence: Students feel competent when they believe they know what to do to be successful and feel capable of mastering challenges.

Students feel a sense of relatedness from feeling close to people or a sense of belonging in a group.

To make our camps fun we also engage our learners in 30 minutes of unplugged activity. Each day we plan a new unplugged activity that applies STEAM concepts and materials needed are recyclable items in the house. Details list of the items will be shared in email after registration.

Day 1

Introduction to Engineering & programming concepts
Motors and Gears
Sensors – Motion, Tilt, Color & Infrared
Gears – Crown, Worm
Understand the Programming Concepts

Day 2

We will be assigning missions to drive the Vex virtual robot and make him complete the missions assigned. Exploring the coding concepts related to Motion, variables and loops

Day 3

Robot will be assigned more complex tasks that will require understanding of advanced programming concepts like Functions, Algorithms, variable, Data flow

Day 4

We will be using online tools for learners to build Lego Mindstorm robots real time. So they understand building concepts and the engineering knowledge around it

Day 5

Learners will be tasked with missions, they will write the code and we can test behavior using the virtual robot.

 

Creative Coding with JavaScript

Pre-requisite: Gentle Introduction to Coding or any block based coding tools

This camp uses p5js environment (improved version of 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 the coding effort. editor.p5js.org/jeyv/sketches has a few examples if you would like to review.

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 editor.p5js.org and click on the top-right corner to create an account so that your programs can be stored in the web. Here is a sample agenda:

 

Day 1

Drawing Basics, Coloring, Variables, Introduction to Animations

Day 2

Mouse Interactions, Functions

Day 3

If Statements, While & for loops

Day 4

Intro to Arrays – Completely connected graph

Day 5

Cyber-flowers, Recursive trees

 

Problem Solving in Java = Java Basics + Intermediate Java

 

Java Basics (IF statements, loops & methods)

Pre-requisite: JavaScript

Java is a popular language that is used to program tiny devices to complex software applications! While there are several IDEs available to develop Java code, we will use web-based IDE to get going quickly. Please visit repl.it and create a free account. Then, you can start at repl.it/new/java10 and create programs and store in the web as well. This camp will cover the following concepts using hands-on activities.

Day 1

First program, user input & output, variables

Day 2

If-else statements

Day 3

for and while loops

Day 4

static methods

Day 5

Problem-solving using IF statements and loops

 

Intermediate Java (Arrays & Recursion)

Pre-requisite: Java Basics

Java basics camp covers the basic building blocks of the language. This is the next level camp & we will cover the advanced level
topics using hands-on examples.

Day 1

Basics review, Arrays

Day 2

Strings

Day 3

ArrayLists

Day 4

Recursion

Day 5

More problem-solving

 

Problem Solving in C++ = C++ Basics & Intermediate C++

 

C++ Basics (Sequence, Selection & Loops)

Pre-requisite: JavaScript

C is one of the early computer programming languages – it was created in the 1970s! It remains very widely used and influential. C++ enhanced with Object Oriented Programming. While there are several IDEs available to develop C++ code, we will use web-based IDE to get going quickly. Please visit repl.it and create a free account. Then, you can start at repl.it/new/cpp and create programs and store in the web as well. This camp will cover the following concepts using hands-on activities.

Day 1

First program, user input & output, variables

Day 2

If-else statements

Day 3

for and while loops

Day 4

functions

Day 5

Problem-solving using IF statements and loops

 

Intermediate C++ (Arrays & Recursion)

Pre-requisite: C++ Basics

C++ basics camp covers the basic building blocks of the language. This is the next level camp & we will cover the advanced level
topics using hands-on examples.

Day 1

Basics review, Arrays

Day 2

Strings

Day 3

Recursion

Day 4

Recursion

Day 5

More problem-solving

 

Problem Solving in Python= Python Basics + Intermediate Python

 

Python Basics (IF statements, loops & methods)

Pre-requisite: JavaScript

Python is a friendly & powerful language to develop the software applications quickly! While there are several IDEs available to develop Python code, we will use web-based IDE to get going quickly. Please visit repl.it and create a free account. Then, you can start at repl.it/new/python3 and create programs and store in the web as well.

Day 1

First program, user input & output, variables

Day 2

If-else statements

Day 3

Loops

Day 4

Strings

Day 5

Functions

 

Intermediate Python (Arrays & Recursion)

Pre-requisite: Python Basics

Python basics camp covers the basic building blocks of the language. This next level camp will cover the advanced level topics using hands-on examples.

Day 1

Review of basic Python structures

Day 2

Lists

Day 3

Dictionaries

Day 4

Combination of Lists & Dictionaries

Day 5

Introduction to NumPy

 

Artificial Intelligence Bootcamp (MS Azure)

You have no idea what Artificial Intelligence is or what it can do? You don’t have much coding experience? You have come to the right camp! No pre-requisite knowledge is required to attend this camp. Just come with a curious mind and be ready to get your hands dirty!

You will need FREE Microsoft Azure account to work hands-on materials. Our special thanks to Mark Cuban Foundation for sharing the camp materials & enabling us to offer this camp.

Day 1

Introduction to AI & bots

Day 2

Machine Learning

Day 3

Computer Vision

Day 4

Natural Language Processing

Day 5

Project ideas

 

Advanced Python Programming

Pre-requisite: Intermediate 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.

.

Object Oriented Programming in Java

Pre-requisite: Intermediate 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:

-> Latest Java Platform (JDK) from http://www.oracle.com/technetwork/java/javase/downloads/index.html

-> Latest Eclipse Standard version from http://www.eclipse.org/downloads/.

.

Object Oriented Programming in C++

Pre-requisite: Intermediate 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: Intermediate Java or C++

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

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.

 

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: Advanced Python programming

Day 1: Introduction to ML, Real-Time Applications, Types of learning, Starting with regression algorithms, Introduction to Linear regression,
Implementation of Linear regression in python.

Day 2: Pros and cons of linear regression, Introduction to multilinear regression, its Real-Time Applications, Implementation of multilinear regression in python, Starting with classification algorithms.

Day 3: Pros and cons of regression for classification, Introduction to logistic regression, Implementation of logistic regression in python, Real-Time Applications of logistic regression, Introduction to naive Bayes classifier

Day 4: Implementation of naive Bayes classifier in python, Pros and cons of naive Bayes classifier, Starting with decision trees, Simple implementation of decision trees in python, Pros and cons of decision trees

Day 5: Introduction to KNN, Real-time Applications, Small implementation of KNN in python, Pros and cons of KNN, Introduction to SVM.

.

 

 

 

Following “old” camp descriptions are here only for reference. We no longer offer them.

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

Programming in C#

Pre-requisite: Enjoyable Coding with JavaScript

We recommend everyone to complete a few workshops from our Enjoyable series (specifically Alice and JavaScript) before this workshop. In other words, it will be better if you have already mastered the basic programming concepts and have done some free-form coding. Here are the topics that will be covered:

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.

 

Animation using Maya

Maya is an industry-standard animation software–it is available for free to school & college students! While one day (even one week!) is hardly enough time to learn about Maya completely, we are hoping to cover a few simple animation examples/hands-on exercises in this workshop and make you comfortable with using Maya. You are welcome to visit http://www.autodesk.com/products/autodesk-maya/overview for more details.

 

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.

Lego Mindstorm EV3 Robots

This is a series of free light-hearted tutorials that will allow you to learn how to program and build small robots using the LEGO EV3 MINDSTORMS kits, starting with simple programs and robots, building your skills as you go. No programming or building experience is required – the tutorials start from the beginning, and you learn by doing.

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.

 

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).

Objective C & iOS Application development

Pre-requisite: Programming in Java or C++

We will cover the basics of Objective C for couple of days, then we will proceed to cover a few simple iOS applications. Macbook is required for this camp. We recommend you to download and install XCode before coming to the camp. We also recommend you to bring an iOS device, but Apple does provide a built-in iOS simulator to test the most features.

.

OOP & Games in Java using Greenfoot IDE

Pre-requisite: Programming in Java

Typically GUI is covered as the advanced topic in Java programming & requires lot of coding. Greenfoot IDE changes this around and enables us to work with GUI utilizing pre-built objects in Greenfoot IDE. Participants can build sophisticated games and work on animations quickly using those objects. Everything is based on object oriented programming concepts – participants can strengthen their understanding of OOP concepts while working with this interactive GUI platform.

.

Virtual Reality game Design using Unity framework

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.

.

Web programming using PHP

Pre-requisite: Programming in Java or C++

Topics that will be covered in the camp:

PHP Internals.

Datatypes, Arrays,

Functions,

Classes and Objects,

Files and Directories.

Web Form Handling

Data Validation

Sessions and User Tracking

.

Web programming using JavaScript

Pre-requisite: Programming in Java or C++

This workshop teaches students how to use JavaScript to develop web pages. All modern HTML pages are using JavaScript to add functionality, validate input, communicate with web servers, and much more. We will be using w3school’s built-in editor for JavaScript, and later on create our own standalone web pages. This is perfect workshop for students who have a very basic knowledge of HTML and are interested in developing really nice and powerful websites using JavaScript. Following topics will be covered: • JS Statements • Data Types • Functions • Operators • Comparisons • Switch • Loops
• Validations • Animations

Other than these topics we will also show some fancy examples using JQuery and students will be given challenging exercises to create their own JavaScript enabled web pages.

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.