Skip to main content

The Art, Science and Industry of Coding

Program dates: June 16-20, 2019

Program cost: $680

Includes lodging, all meals and any field trips. Students arrive on campus Sunday, June 16, and depart Thursday, June 20.

Request more information

Course description

Let’s face it – computers are everywhere, in businesses, schools, homes, hospitals, deep under the ocean, roaming robots on Mars and on your favorite cell phone or tablet where you can deftly defeat demons or cleverly crush candy. What you may not realize is that besides supporting thriving software and information technology industry, computer science has become a foundational discipline that supports a wide range of artistic and scientific endeavors. 

In this course, we’ll explore a broad range of what you can do with the power of code. In the first half of the course, you will learn basic computer programming skills in the accessible yet powerful NetLogo language. You’ll use these skills to create a scientific simulation involving interacting animals, and use them again to create stunningly beautiful artwork and 3-D animations. You’ll also learn about some special effects used in cinema, and how even simple computer simulations can learn to surprising results, in fields such as biology, physics, geology, social justice, and more. In the second half of the course, you’ll learn some of the code underlying the World Wide Web, and use yet another coding language (Java) to develop your very own adventure game for Android phones/tablets, and finally you’ll design and program robots to compete in a challenge contest against other teams. 

All are welcome, whether you have any previous computer programming experience or not! 

Tentative Schedule

Sunday, June 16

  • Check-in
  • Welcome reception

Monday, June 17: Coding for Science

  • 9 a.m.-noon
    • Welcome/Introduction
      • Ice breaker: friends and enemies game (and our first simulation)
      • Emergence and the new science of complexity
    • More computer simulations and puzzles
    • "Talking to turtles" — getting started with the NetLogo coding lingo
  • Noon-1 p.m.
    • Lunch in the dining hall
  • 1-4 p.m.
    • Building an agent-based computer simulation (tutorial)
    • Advanced science simulation topics: the rise of network science
    • PageRank: Behind the search engine magic
      • Preferential attachment networks (and why the rich get richer)
    • Epidemiology: virus on a network
  • 4-5 p.m.
    • Optional: open lab time for students who want to continue working on projects
    • Alternatively, students can return to their housing for a bit of down time before dinner

Tuesday, June 18: Coding for Art and Beauty

  • 9 a.m.-noon
    • Coding 2-D Art
      • Using shape, color, opacity
      • Creating your own 2-D art piece
    • Coding 3-D Art
      • Manipulating shapes in 3-D
      • Advanced graphics rendering: ray-tracing
      • Creating your own 3-D art peice
    • The illusion of three-dimensionality
      • The magic of single-image stereogram
      • Dual-image stereoscopes and 3-D
      • 3-D glasses (red-blue anaglyph, polarized light)
  • Noon-1 p.m.
    • Lunch in the dining hall
  • 1-4 p.m.
    • Computers and the Silver Screen
      • Frame-based animation (and playing with a praxinoscope)
      • Special effects: fire, smoke, and water using particle systems
      • Physics-based graphics simulation (fireworks)
      • Creating your own 2-D or 3-D animations
  • 4-5 p.m.
    • Optional: open lab time for students who want more time to work on their projects

Wednesday, June 19: Coding for Industry

  • 9 a.m.-noon
    • Intro to web development
      • HTML/CSS
      • Creating an old-school "home page"
      • Bring the web to life with JavaScript
    • Intro to video game development
      • Designing an adventure game using: creative writing, story-telling, images, and mathematical ideas
  • Noon-1 p.m.
    • Lunch in the dining hall
  • 1-4 p.m.
    • Coding your adventure game for Android phones/tables
      • Translate ideas into Java Code
      • Using the Android Studio IDE
      • Testing and debugging
  • 4-5 p.m.
    • Optional: open lab time for students who want more time to work on their projects

Thursday, June 20: Coding for Robotics

  • 9 a.m.-noon
    • Intro to LEGO Mindstorms robotics
    • Robot programming
    • Team contest challenge unveiling
  • Noon-1 p.m.
    • Lunch in the dining hall
  • 1-4 p.m.
    • Continued team robot design, development, and coding
    • Team robot contest!
    • Other contests if time permits:
      • Code breaking contest
      • File system treasure hunt using Linux
  • 4-4:30 p.m.
    • Closing ceremonies (families/friends invited)
      • Informal show and tell session
      • Students demonstrate their creations and artwork
      • Depart at leisure
Forrest Stonedahl
Dr. Forrest Stonedahl

Dr. Forrest Stonedahl is an associate professor of computer science at Augustana. He earned his Ph.D. from Northwestern University, based on research in artificial intelligence and scientific computer simulations, with application areas from A to Z (archaeology to zoology). He also enjoys (and has taught college courses in) computer-generated art and his artwork has been chosen to grace the cover of books/magazines. 

At Augustana, Dr. Stonedahl teaches courses ranging from an introductory survey of computer science to an advanced team-based project course involving mobile app development. He has a passion for collaborative research with undergraduates, and regularly oversees independent study projects, such as modeling disease outbreaks, evolving intelligent robot swarms, or unearthing secrets of cryptocurrency block chain. He coaches the Augustana programming contest team, and is one of the faculty advisors for the Augustana video game development club.