Assignments
7.
Plot Your Way To Victory 12 Nov - 26 Nov 2013
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 5 Nov - 12 Nov 2013
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" 29 Oct - 5 Nov 2013
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 22 Oct - 29 Oct 2013
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 24 Sept - 1 Oct 2013
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
(
without words!) that explain how to complete two simple tasks such as fluffing a pillow, multiplying numbers, or making a ham sandwich.
Ideally these drawings could be given to someone who doesn't speak any language and still explain how to complete the tasks with relative success.
The student solutions ranged in topic and quality though no student was graded on artistic ability. In-class, students traded their drawings and
were required to guess what they depicted.
2.
Chartjunk: Looking Backwards 17 Sept - 24 Sept 2013
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 10 Sept - 17 Sept 2013
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.