Teaching introductory computer graphics with the processing language

  • Authors:
  • Dino Schweitzer;Jeff Boleng;Paul Graham

  • Affiliations:
  • United States Air Force Academy, CO;United States Air Force Academy, CO;United States Air Force Academy, CO

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Different approaches to teaching introductory computer graphics have been documented in the literature over the years. Different languages, environments, API's, and graphical standards have been proposed. Some unusual approaches have included using games and gaming engines, animation and simulations, and even spreadsheets. A common characterization of the different teaching methods is a bottom-up approach (basic algorithms and primitives first) versus a top-down approach (functional modules of an application). Many texts use OpenGL as the API of choice for teaching graphical functions and capabilities in a top-down means. One problem with this approach is the student becomes API-centric, and sees graphics concepts through the eyes of the system being used. Criticism of the bottom up approach is that students need to learn the math and low-level algorithms before they can begin creating useful and interesting applications. At the United States Air Force Academy, we have taught the introductory computer graphics course using both approaches. In the most recent implementation, we chose a more bottom up approach to emphasize fundamental algorithms and concepts in an API-agnostic fashion. To allow students to quickly advance to interesting applications, we chose the open-source Processing language and environment. Processing (www.processing.org) was developed at MIT as a way to teach the fundamentals of computer programming in a visual context. It is a Java-based language without requiring knowledge or experience with object-oriented concepts. It is well suited for people with minimal programming experience, and as a rapid prototyping tool. The ease of quickly creating interactive graphical applications makes it a good choice for learning fundamental graphic algorithms and applying them to interesting applications. This paper will describe our approach of using Processing to teach graphics, include sample programming projects, and report on student attitudes and performance.