7. Plot Your Way To Victory

As a final learning exercise to be completed along with the final project, the class was asked to write an automatic plotter for drawing scatter-plots in JavaScript with Raphael. To raise the stakes and make the assignment more fun, students were also asked to utilize the "Truth Checker" to achieve "CS1501 Enlightenment." Only when they became enlightened would students be considered successful.

Once the plotter was successfully implemented, the data points themselves spell out "Q41.R9v.22 1976" which is the call number for a book at the University's Brown Engineering Library. Inside the book's front cover was a note that said 'decode("RZNLMVDRGSWZGZ");'. Plugging this into the solution of Homework 5 gives the solution the "Truth Checker" needs. Voila!

Materials: Truth Checker, Incomplete Plotter, raphael-min.js

Solution: Complete Plotter, Truth Checker & truth("IAMONEWITHDATA")

6. Exploration of Raphael

This first Raphael assignment merges SVG and JavaScript, giving students an opportunity to create their first interactive web program. Students were asked to create the "timid circle," a circle SVG object that runs away from the user's mouse when moused over. The solutions were varied as students were encouraged to put their own creative twist on the assignment but a simple solution is provided below.

Materials: Raphael interactivity example, raphael-min.js

Solution: Timid Circle

5. "HET"

Our second JavaScript assignment gets a bit more complex by requiring the use of an object's functions. The class was required to write a working "Atbash cipher" to encode and decode strings. The cipher is pretty simple: "ABCDEFG" should map to "ZYXWVUT" or, in other words, letters are mapped to the same index in a reverse alphabet. For simplicity's sake only all-caps punctuation-less strings were used. Once the encoder/decoder was completed, students were given the following string as a test and asked to follow its instructions when decoded: "FHVHETGLWIZDZKRXGFIVLUZSLFHV".

Materials: Unfinished atbash encoder

Solution: Completed atbash encoder, SVG House (Created by James MacRae)

4. Beginning JavaScript

This assignment was meant to be a simple introduction to JavaScript. Students were asked to write two functions to showcase their knowledge of using variables, writing loops, and using functions. First, students wrote "is_sum_even(array)," a function that sum up all values in an array of integers and determines whether or not the sum is even. Second, students wrote "factorial(value)," a function that, as you might expect, that number factorial. Students were allowed to solve these problems in whatever way they like (iterative or recursive) as long as they understood how their code worked.

Solution: is_sum_even(array);, factorial(value);

3. Communication Design: Applied Pictionary

This assignment was closely tied to Lecture 4: Communication Design and required students to think about what simple pictographs can say in the place of words. Students were each asked to draw a series of instructions (

2. Chartjunk: Looking Backwards

Connecting the ideas of Assignment 1 and Lecture 3: Chartjunk, Assignment 2 turns a critical eye to the visualizations turned in by the class the previous week. While before we sought visualizations that struck us as Graphically Excellent, now we want to reconsider their excellence and determine if they could be better designed. Students for this assignment were asked to turn in a few sentences about the same visualizations from Assignment 1, this time examining whether or not chartjunk is present.

1. Graphical Excellence: An Investigation

The very first homework assignment was a simple one. Students were asked to search the Internet for two data visualizations they believe exemplify the idea of Graphical Excellence. Students turned in these visualizations as well as a few short sentences about why they believe these visualizations exhibit Edward Tufte's famous design principles.

CS1501 © 2013 Kevin McVey // All rights to course material reserved by their respective authors