Computer Programming + Processing Course - EXPLO

Computer Programming + Processing

Discover the visual language of Processing and learn to draw complex shapes and figures while incorporating keyboard and click functionality.

With Processing, a visual language created by Ben Fry and Casey Reas of the MIT Media Lab, visually express an idea or feeling in the same way an artist uses a palette or a photographer uses a camera. This is a language like an interactive, electronic sketchbook—one that’s powered not by a paintbrush, but by code. Using the same logic and syntax as Java, draw complex shapes and figures, and incorporate user keyboard and click functionality in applications you design…all in a snap. Create a user interface for an art installation, and with each click, users can alter the dimension, scope, and shape of the piece. Implement a program that creates a selfie avatar that allows visitors to add their faces to the installation. Tasks that may be cumbersome in other languages become simple and straightforward in Processing, making the visual programming language a great way to get a strong foundation in computer programming.

This course uses an open source programming language, Processing. Students are required to bring “modern” laptop or notebook computer running Windows 7 or greater, OS X 10.7 or greater, or Linux that can connect to the internet wirelessly. No coding experience required.

Optional: EXPLO offers a variety of special sessions that focus on different subtopics like 3D animation or the use of Artificial Intelligence in modern cyber warfare. To further your exploration of the practical application of computer science, you may sign up for these sessions once you are at the program.

Who Should Take This Course?

This is an ideal course for students interested in computer coding, digital visual arts, software design and engineering. Become familiar with Processing, practice code conversion, and create loops and functions as you build your programming skills. No previous computer programming or Processing experience is required for this course.

Advisors + Past Speakers

  • Lawrence Xia, Software Engineer, Riot Games
  • Zara Perumal, Software Engineer, Google
  • Peter Kelly, Principal Software Engineer, Raytheon
  • James C. Spohrer, Director of Cognitive OpenTech, IBM

Plan your summer

Yale

Course Highlights

  • Code Conversion

    Use the same syntax as Java and learn to convert your code from one block of text to the setup and draw. Work on the fundamentals of code development and test your creations.

  • Debugging Code

    Learn how to identify mistakes or “bugs” in your work. Practice locating and correcting broken codes from others, and perfect your own in the process.

  • Product Development

    Generate an original concept or idea that allows you to practice and demonstrate your skills. Consider what new software you would like to develop.

  • Digital Art

    Use the Processing sketchbook to generate images through coding to display at the Student Art Show exhibition. Explore the ways artists use coding to create their work.

  • Career Exploration

    Engage with professionals in the fields of programming, processing, and digital visual arts to learn about the many different paths for turning a passion for visual language into a career.

As someone who wants to work in biotechnology, but who's primary study is in science, any amount of computer science which allows me to better understand or comprehend ideas will undoubtedly help me in my future endeavors. I think that this class has significantly instilled in me an interest in coding and computer studies, and without a doubt this course in processing will push me into other types of code and into more related concepts.

Advisors + Past Speakers

Lawrence Xia

Software Engineer, Riot Games

Lawrence Xia is a Software Engineer at Riot Games in Los Angeles, a company with a goal to transform video games and how they’re played. Riot Games released the hugely popular League of Legends in 2009, which went on to become the most popular PC-based game in the world.

Zara Perumal

Software Engineer, Google

Zara Perumal is a Software Engineer at Google who received a Bachelor’s degree in computer science and a Master’s degree in Artificial Intelligence from MIT. Perumal is also on the staff at The Harvard Kennedy School of Government’s project, Defending Digital Democracy, which “aims to develop strategies, tools, and technologies to protect democratic processes and systems from cyber and information attacks.”

Peter Kelly

Principal Software Engineer, Raytheon

Peter Kelly is a Principal Software Engineer and Certified Ethical Hacker at Raytheon, where he has worked for 12 years. He has broad technical engineering expertise, including enterprise information sharing, messaging, client-server application architectures, and security. As a certified ethical hacker, Kelly knows how to look for vulnerabilities in IT and engineering systems. Using the same skills as a hacker, Kelly can assess a company’s security risk.

James C. Spohrer

Director of Cognitive OpenTech, IBM

Dr. James Spohrer is Director of OpenTech, open source artificial intelligence at IBM. Previously, he was Director of IBM Global University Programs and IBM’s Cognitive Systems Institute Group. Jim co-founded IBM’s first Service Research group, ISSIP Service Science community, and was founding CTO of IBM’s Venture Capital Relations Group in Silicon Valley. He was awarded Apple Computers’ Distinguished Engineer Scientist and Technology title for his work on next generation learning platform and has worked on speech recognition and machine learning.