Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jedahan/pucd2035d
https://github.com/jedahan/pucd2035d
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/jedahan/pucd2035d
- Owner: jedahan
- Created: 2014-08-29T12:49:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-09-24T18:39:41.000Z (over 10 years ago)
- Last Synced: 2024-12-15T19:55:49.880Z (about 1 month ago)
- Language: CSS
- Size: 517 KB
- Stars: 2
- Watchers: 8
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## Communication Design: Creative Computing
Parsons The New School for DesignFall 2014
PUCD 2035 D
Friday, 9:00am - 11:40am
Arnold Hall, 55 W 13th St., Room 402Jonathan Dahan | [email protected]
### 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](atom.io) or [sublime text](sublimetext.com).
+ A modern web browser, such as [Mozilla Firefox](firefox.org) or [Google Chrome](google.com/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 SystemsAn 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 classFor 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)
- My [sample program](0x01_human_program.md)
- Cool [student](http://instagram.com/p/sSU-5zRxA0/) [programs](http://instagram.com/p/sSVD-uRxA7/)
Discussion of basic concepts (30 minutes)
- We identified variables, and loops.
- We talked about compilers, and operating systems.
What are your questions about technology? (30 minutes)
- Here is [the list of questions we came up with](https://github.com/jedahan/pucd2035d/blob/master/questions.md)#### `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 materialsDefacements 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 lineCLI tools and how to use pipes pipes
Navigation of the filesystem and how to read documentationShow 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
```python
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/.