How we made our own Carnivore, by the Radical Software Group

SCIMA 300: Information, Networks + Visualization

California College of the Arts, Spring 2016


Instructor: Margaretha Haughwout
Syllabus: Spring 2016

Meeting Time and Place:
Monday 7:15p-10:15p
SF Main Campus, Room 101

Course Website with Course Schedule:
Track changes to the course website:

Contact & Connections:
Email: mhaughwout at cca dot edu
Office: cafe
Office Hours: Wednesdays 11-12p in SF Cafe. Mondays, by appointment - usually before or after class is best
Online Office Hours: If you can't make an in-person meeting, don't hesitate to make a Skype appointment with me.
Skype: mllebuffalo
Google Folder: submit work via this link
Slack team: Note: This slack team is for two of my programming related classes to share questions, ideas and discoveries as they relate to code. If you need to ask me a question, it is still best to email a direct question. Please always remember Slack is an extension of the classroom, so all courtesies of the classroom apply.
GitHub Organization and Repos:

Course Description:
"Information, Networks and Visualization. In this course, we will study the history of information and networks as they came to be conceived in the 20th-c. We will use this history to shed light on current trends in the digital humanities and think critically about the prevalence of big data and networks. We will use the Processing programming environment to explore visualizations of various kinds exchanges, metadata, and networks. We may find ourselves considering what the limits of data and networks are. This course assumes foundation level knowledge of programming."

We will be talking about and making with data. While data may convey facts, the ways in which it is commonly conceived in the 21st-century are historically and culturally specific. Understanding this and the implications of this is a big part of the conceptual work of the class. We will weigh this conceptual work against the technical and perceptual elements of the course.

This Syllabus Is Subject To Change At Instructor's Discretion

Learning + Support

Access and Wellness Services:
CCA: "Students with disabilities, including disabilities that are not clearly evident like chronic diseases or learning disabilities are encouraged to notify their instructor after class or during office hours. CCA will make reasonable accommodations for persons with documented disabilities. Students should contact Suzanne Raffeld, Director of Access and Wellness Services (email:; phone: 510.594.3775), to answer any questions or for assistance. For more information, consult CCA's webpage at:"

Me: We all learn in our own ways. While many different kinds of engagement with the course material are required, some of us will move through this class more conceptually, some more perceptually, others more technically, still others more rationally. Some will process the material in solitary ways, while others may be quite vocal. I expect to see visual, auditory, and linear learners. Please talk to me as soon as you can about the ways I can support your learning modes. If you do not have a documented disability, but feel you need some help, do remember that the Learning Resource Center is available to you. Your success in this class is important to me.

Learning Resource Center:
If you need any help with this class, whether it be taking notes, completing assignments, or reading texts, your first resource should be the Learning Resource Center, located in Irwin Hall, Room 207. Visit, or call 510.594.3756.
Academic coaching and tutoring at the Learning Resource Center, both for general topics (math, English) as well as dedicated tutors skilled in our topics. Contact the Coordinator of Learning Resources Virginia Jardim ( for more information.
Help documents at
Library (for finding documentation or textbooks for refreshing basic skills)

- (see Resources for more)
- Processing is a free download, available here:
- Do visit for labs and hours open at CCA

- There are no required textbooks for this course, however there are some books on Processing that are highly recommended:
- *Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction by Daniel Shiffman
- *Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
- Visualizing Data, by Ben Fry

We will be using github to organize our assignments. You can also use it to track changes and updates to the websites. Some introductions and tutorials on github are offered below:
- Good Resources for Learning Git and GitHub

Programming coaches
Colin Wilson:
William Felker:

Course Requirements + Expectations:

Grade Breakdown (edited):
Participation, attendance 20%
Assignments: 60%
Exercises: 20%

Attendance/Participation: During class we will be engaging an array of visual, textual technical material. It is absolutely essential that you attend all classes. When learning a technical/ programming environment, missing one class can seriously impact your understanding. Make your decisions about class attendance very wisely, knowing your ability to complete assignments and follow along with course material hangs in the balance. Attendance will be taken during class. If you are not orally expressive in class, consider taking notes in class, sharing relevant doodles, contributing to online discussions, working in small groups. Also, be sure to inform me in advance if you know you will be unable to attend lectures for medical reasons, due to religious holiday observance, etc. Students who anticipate being absent from class due to religious observance should inform me by email previous to their absence. If you are absent from class, you are responsible for contacting a classmate for the information you missed. Communication is key.

As outlined in the CCA Student Handbook, attendance in class is mandatory and three or more unexcused absences will result in a failing grade.

Late Work Policy
Late work is not accepted.

Save your work constantly! Assignments not completed because of lost work will not be excused.

Grading Rubric:
A -- Excellent. Student exhibits exemplary conceptual, technical and perceptual ability implementing projects. Student demonstrates a close reading of the any required materials, and ability to successfully communicate ideas and processes to others. All work is lucid and engaging.
B -- Good. Student completes assignments, and demonstrates a grasp of most of the main aspects of each lesson, but not all. Is able to communicate information, and step by step processes well. In exams, critical analysis is present. In projects, conceptual, perceptual, and technical skills are present.
C -- Satisfactory. Student completes the assignment but may lack enthusiasm or drive to push the work into a detailed perceptual, technical, and conceptual space. Student does not demonstrate knowledge of the application or programming environment. In exams, problems exist in student's work, or the work is underdeveloped.
D -- Unsatisfactory. Student does not complete the work as assigned. Substantial problems exist in student's work.
F -- Fail. Student does not submit work, or work is below unsatisfactory level.

Final Grades:
Your final grade will be based upon the quality of your projects and your participation grade. See Course Requirements above for a point breakdown.

Digital Device Policy:
Use of cell phones and laptops for other purposes besides note taking in class significantly detracts your attention from class. For this reason, you may risk being marked absent should you be using your cell phone in class for uses other than class notes or looking things up.

Academic Honor Code
Typical: Cheating, plagiarism or fabrication will be dealt with in accordance to the college's policy as outlined in the Student Handbook. You are expected to be familiar with the college policy on dishonesty and disruption of the academic process. If you use outside sources in your work, you must attribute them.

Me: Find ways to copy work that facilitates learning. If you copy and paste code, make sure it is well commented to show me you understand what the code is doing. If you copy code, make sure to credit the programmer. Try to alter copied code in a way that pushes your understanding of how it works.

Naming Assignment Files
Students are required to submit assignments electronically to moodle. Assignment file names should begin with the assignment number, an underscore and the student's last name, another underscore, and then their first name:

Homework filenames should look like this:

- Hw1_lastname_firstname.filetype

If it is one of the 3 project/ assignments use the following naming schema

- A1_lastname_firstname.filetype

If it is an in-class assignment, please name in the following way:

- C1_lastname_firstname.filetype

Email Netiquette
Netiquette, Noun: 1. The social code of network communication. 2. The social and moral code of the internet based on the human condition and Golden Rule of Netiquette. 3. A philosophy of effective internet communication that utilizes common conventions and norms as a guide for rules and standards.
Please visit: for some tips on appropriate email practices. In your subject header, indicate your course, and a couple of words about your question/comment -- ie:

subject: SCIMA300 assignment question

Allow for a 48 hour response time from the professor (if it is urgent, please put URGENT in the subject header for quicker response time)

- Basic high school level algebra and trigonometry. If your have forgotten these skills, you should review basic equation manipulation, fractions, solving for variables, exponents, engineering prefixes (milli, micro, kilo, mega, etc.), sines, cosines, and tangents.