No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
.gitignore
0x01_human_program.md
_config.yml
questions.md
readme.md
robots.txt
students.md

readme.md

Communication Design: Creative Computing

Parsons The New School for Design

Fall 2014
PUCD 2035 D
Friday, 9:00am - 11:40am
Arnold Hall, 55 W 13th St., Room 402

Jonathan Dahan | dehanj@newschool.edu

Description

This course will introduce students to the building blocks of creative computing within the visual and media environment. Students will learn to create dynamic images, type and interfaces, that can translate into print, web and spatial forms. Through weekly problems, students will learn programming fundamentals that translate in virtually all programming platforms.

By the end of this class students should feel excitement (as opposed to dread) when encountering new programming languags, techniques, and technologies. They will know how to quickly find and participate in each community to help them learn. Students will have to learn how to feel comfortable working with the unfamiliar. In doing so, encounters with new technology can be seen as an opportunity to expand the breadth and depth of their craft, and as inspiration for new work.

Learning Outcomes

  • Demonstrate knowledge of fundamental programming concepts
  • Develop several visual & interactive projects
  • Objectively present their design process and workflow
  • Integrate a variety of media elements into their projects
  • Problem solve with other students through reading other students’ code
  • Demonstrate the ability to research and learn unfamiliar technical topics

Required Materials, Software, etc.

  • A functioning and fully charged laptop running OSX or linux. Please bring this laptop to every class session.
  • Student space on the School’s webserver.
  • A text editor that supports syntax highlighting, such as atom or sublime text.
  • A modern web browser, such as Mozilla Firefox or Google Chrome.
  • Readings and viewings will be made available online.

Attendance

Per New School policy, 3 or more absences or excessive tardiness will result in a failing grade. If you need to miss class, please email me in advance.

Projects and Excercises

Each week there will be a small exercises to help reinforce the ideas introduced in class. In addition, there will be three more open ended assignments, that will take more time to complete. There will be one final personal project, that can be started anytime during the course. Grades are broken down as follows

20% attendance and participation, 40% exercises, 20% assignments, 20% final project

Grading Scale

Work will be assigned one of the following letter grades

A Work of exceptional quality, which goes beyond the stated goals of the course. A-, B+ Very high quality work, substantially above the average. B Very good work that satisfies the goals of the course B-, C+ Above-average work. C Average work that demonstates an understanding of the course material. Student fulfills the letter but not the spirit of the assignment, and is unwilling to re-work or refine projects. C- Passing work but below that required for good academic standing. D Below average work indicating that a student does not fully understand the assignments. F Failure; No Credit. Missing more than 3 classes, not being attendive in class, not participating in class discussions, not working, missing more than 25% of the projects/discussions.

W Withdrawal: Can be assigned only by the Registration Office

I Incomplete: signifying a temporary deferment of a regular grade, may be assigned when coursework has been delayed at the end of the semester for unavoidable and legitimate reasons.

Topics

We will cover at least the following topics in depth:

  • Networks
  • Numbers
  • The Terminal
  • Hardware
  • Interfaces
  • APIs
  • Operating Systems

An sample of interesting projects and artwork to act as inspiration for the assignments. The exercises will help ensure working knowledge to incorporate these elements in future work.

Depending on the character and interests of the class, we can cover additional topics such as security, embedded systems, functional programming, node-based programming, wireless communication, bitcoin and the blockchain, bittorrent.

Course Outline

0x00 Hello, Human

Assignment Create a program designed to be executed by a human
Motivation Language design, machine empathy, common elements
Inspiration Sol LeWitt
Excercise Sign up for github, file an issue for the class

For the first assignment we will have to write a program designed to be executed by a human. You can write this in any language, but the final output must be created only by handing a person a sheet of paper. We will review our experiences after 30 minutes, discussing what programming concepts we have discovered. The final version of this assignment will be due in 2 weeks.

Syllabus Overview (30 minutes) Program a friend explanation (15 minutes) Programming (45 minutes)

0x01 Computer Empathy

Intro to languages and javascript.

Exercise Deface a website using jquery $.text and $.attr
Inspiration _why's poignant guide to ruby Motivation Look at websites as raw materials

Defacements have been posted to github.

0x02 What is data? What is code?

Learn about binary numbers, and other data types.

motivation Introduction to how operating systems work
inspiration Raphael Hemmer

0x03 The filesystem and commandline

motivation: quick prototypes, reuse of tools, composability, imperative programming
inspiration cat /dev/urandom > /dev/{dsp,fb0}, hex edit a file
The command line

CLI tools and how to use pipes pipes
Navigation of the filesystem and how to read documentation

Show commandlinefu, stack overflow, manpages

0x04 Lets make circles!

Introduction to p5.js, and servers
What is html/css/javascript? How can we draw with javascript?
What is a server? We run our own servers.

0x05 Crazier data circles

Drawings into interaction
Turn our javascript sketches into full blown interactives

0x06 Networked circles!

Revisit data types, and connect data to visualisations

0x07 Networks and Communication

Learn how APIs work, and continued use to create new work.

0x08 Glitches

Push the limits of our software to unexpected ends.

Inspiration Girl talk, ART404, Clement Vala
Motivation Software as a tool for reappropriation

0x09 Work day

Design thinking / brainstorming

0x0A Work day

Code code code

0x0B Review and Documentation

The importance of writing documentation, different writing styles.
Group review of each others WIPs.

0x0C TURKEY DAY

while(! self.sleeping()):
  eat(turkey || tofurkey)

0x0D Work Day

Work Day

0x0E Presentations

Presentations of documentation

Supplementary Excercises

  • Watch Robert Hodgins' Keynote
  • make bash script with at least 3 other programs
  • programming metaphors
  • use ifttt to make a new application
  • Read the first 3 chapters of Code: The Hidden Language of Computer Hardware and Softwar

Attendance

Faculty members may fail any student who is absent for a significant portion of class time. A significant portion of class time is defined as three absences for classes that meet once per week and four absences for classes that meet two or more times per week. During intensive summer sessions a significant portion of class time is defined as two absences. Lateness or early departure from class may also translate into one full absence.

Canvas

Use of Canvas may be an important resource for this class. Students should check it for announcements before coming to class each week.

Delays

In rare instances, I may be delayed arriving to class. If I have not arrived by the time class is scheduled to start, you must wait a minimum of thirty minutes for my arrival. In the event that I will miss class entirely, a sign will be posted at the classroom indicating your assignment for the next class meeting.

Electronic Devices

Use of electronic devices (phones, tablets, laptops) is permitted when the device is being used in relation to the course's work. All other uses are prohibited in the classroom and devices should be turned off before class starts.

Academic Honesty and Integrity

The New School views “academic honesty and integrity” as the duty of every member of an academic community to claim authorship for his or her own work and only for that work, and to recognize the contributions of others accurately and completely. This obligation is fundamental to the integrity of intellectual debate, and creative and academic pursuits. Academic honesty and integrity includes accurate use of quotations, as well as appropriate and explicit citation of sources in instances of paraphrasing and describing ideas, or reporting on research findings or any aspect of the work of others (including that of faculty members and other students). Academic dishonesty results from infractions of this “accurate use”. The standards of academic honesty and integrity, and citation of sources, apply to all forms of academic work, including submissions of drafts of final papers or projects. All members of the University community are expected to conduct themselves in accord with the standards of academic honesty and integrity. Please see the complete policy in the Parsons Catalog.

It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.

Student Disability Services (SDS)

In keeping with the University’s policy of providing equal access for students with disabilities, any student with a disability who needs academic accommodations is welcome to meet with me privately. All conversations will be kept confidential. Students requesting any accommodations will also need to meet with Jason Luchs in the Office of Student Disability Services, who will conduct an intake, and if appropriate, provide an academic accommodation notification letter to you to bring to me. SDS assists students with disabilities in need of academic and programmatic accommodations as required by the Americans with Disabilities Act of 1990 (ADA) and Section 504 of the Federal Rehabilitation Act of 1973. http://www.newschool.edu/studentservices/disability/.