Syllabus

Special Projects in Tiny Computing, Fall 2019

Instructor: Lee Tusman
Wednesday 3:00pm – 6:10pm
Location: Center for Media, Film, Theatre 0039
Class site: leetusman.com/tiny_computing
Office Hours: Mondays 12:30 - 2:30pm, Natural Sciences 3034

Short Description

Students create custom projects using inexpensive, bank card–sized computers for art installations and works for the public good. Students will conceptualize, design and implement new computer-based devices and participate in critique of contemporary technology and networked devices. In the process, their knowledge of text-based interfaces, free culture, collaboration, circuit building, and the history of creative computing/hacking is deepened.

Learning Goals

  • Develop understanding of how the Raspberry Pi can be used as a tool for physical computing
  • Apply knowledge of programming concepts with tiny computers along with fabrication techniques to design new devices and interactive artworks
  • Explore the history of computing and be able to reflect on and critique its past and create speculative ideas for a more equitable technological future
  • Learn to use a Linux operating system and to build and customize one’s own personal computer

Additional Course Goals

__
__
__
__

Notes

This is an upper level course and students are expected to be extremely self-directed. This is a 3 credit class with 6 hours of outside class work per week.

Books on Course Reserve

There are no required books, but there are several books on Raspberry Pi available at the library. There are a ton of websites for learning Raspberry Pi. We will be using Linux family of operating systems in this class. There are an unbelievable amount of books, websites and other (generally free) resources for learning and using Linux. See the resources page for some links.

Books available in the library:

  • Raspberry Pi cookbook
  • Getting Started With Raspberry Pi

University and Classroom Policies and Rules

Official Purchase College Academic Integrity Policy

The Purchase College academic integrity policy, purchase.edu/live/blurbs/840-academic-and-professional-integrity, explicitly forbids cheating, plagiarism, and other forms of academic dishonesty. Plagiarism is the appropriation or imitation of the language, ideas, and/or thoughts of another person and the representation of them as one’s own original work. Students are responsible for familiarizing themselves with the definition of plagiarism and the acceptable methods of attribution.

Violation of any of the above may lead to formal disciplinary action and the following sanctions:

  • Minimum Sanction: Failing grade on the assignment or examination. Maximum Sanction: Expulsion
  • Recommended Sanction (First Offense): Failing grade for the course
  • Recommended Sanction (Second Offense): Expulsion

Students who have any questions or doubts about whether any activity is academically permissible should check with the instructor.

Plagiarism and cheating are taken seriously. You will be held accountable for Purchase’s Student Code of Conduct for Academic Integrity.

Class policy on Collaboration

I support collaborative learning with some important caveats.

Coding can be difficult, and struggling with the material is part of the learning process. Students are allowed to collaborate to learn from each other. Do not collaborate in order to simply find out a solution to a project. Each participant should contribute approximately equally, and what you turn in should be your own. Copying a solution from another student, even if you change a few minor things such as variable names, is not a collaboration. You may help someone learn something, but you can not tell them what to code. If you have questions about collaboration or academic integrity, get in touch with me via email, talk with me before or after class, or come to office hours.

Tutoring Support

All students at Purchase College can take advantage of our tutoring services in the Learning Center and the Einstein Corner. These are free, 45-minute, peer-to-peer tutoring sessions in a variety of subjects and in writing across the disciplines. Sessions can happen in person or through the Online Writing Lab up to 3x/week. The OWL allows students to submit a paper draft and get written feedback by email within 48 business hours. We strongly recommend face-to-face meetings for first-year students and multilingual writers. The OWL is a good option for upperclassmen who have experience with in-person tutoring. You are encouraged to take advantage of this service to help you excel in this class, as well as your other courses.

All students at Purchase College can take advantage of our tutoring services in the Learning Center (Lib 0009) and the Einstein Corner (NSS 3044). These are free, 45-minute, peer-to-peer tutoring sessions in a variety of subjects and in writing across the disciplines. I encourage you to take advantage of this service to help you excel in this class, as well as your other courses. Please visit the Learning Center and Einstein Corner websites for more information. Tutoring for the Fall semester will begin on September 4

Homework

You will have in-class and outside of class coursework and homework in the form of code sketches and projects. All work is to be submitted on time prior to the start of classtime. For each day late, your grade will drop a part letter grade.

Accessiblity Statement

The Office of Disability Resources collaborates directly with students who identify with disabilities to create accommodation plans, including testing accommodations, in order for students to access course content and validly demonstrate learning. For students who may require accommodations, please contact the Office of Disability Resources as soon as possible: 914-251-6035, ODR@purchase.edu (Student Services Building, #316A), www.purchase.edu/odr

It is my goal that this class be an accessible and welcoming experience for all students, including those with disabilities. You are welcome to talk to me at any point in the semester about course design concerns, but it is best if we can talk as soon as possible about the need for any adjustments.

Tentative Nature of syllabus

If needed, this syllabus and the course outline may be revised to better suit the class. Students are responbile for keeping up with any changes distributed via email or in class. The most up to date syllabus will always be up to date on the class site.

Classroom Community

Attendance

Learning programming is a cumulative effort. Each class builds on what you have learned in previous classes. Missing class can substantially set you back in this process. Therefore, it is important that you attend every class. Absences should be excused by a doctor’s note. Three unexcused absences will lower your grade by one unit. (i.e. an A will became a B). With each additional unexcused absences, the grade will drop an additional unit for each absence. If there is an emergency or otherwise extenuating circumstance that prevents you from attending class, please email me.

We will be covering critical concepts and working on code and projects in-class and you are responsible for reviewing our class site and reaching out to your peers outside of class time to catch up on what you have missed.

Digital Distractions

Phones and laptops are extremely distracting. We will attempt to avoid extraneous distractions, especially with phones and notifications. Turn off all notifications. Put phones away.

Please close your laptop while your fellow students are presenting work. You’re otherwise welcome to use laptops in class for classwork, not Facebook or Instagram or email. For emergencies, go into the hallway to make a call.

Opinions

There are countless forums and debates dedicated to what programming language you should learn first. The language you choose doesn’t matter as much as you may believe. Instead, it’s important to learn basic concepts of coding. We will be primarily focused on the Processing language, built on top of the Java language. Java is widely used and can run on almost any computer. Processing provides a friendly coding development environment, has lots of resources for beginners, is capable of intensive computing tasks, provides a simple graphic library, and will teach you fundamental skills which can be applied to other languages. We may touch on other languages in this course.

Philosophy

We are all learners and educators. Your experience and participation is valid and necessary. I am not the sole source of information. You are responsible for and encouraged to be in charge of your own education. Leap forth into areas of interest. Teach with and learn from others.

Please hold me accountable and point out areas that need to be improved.

  • Help each other out. Ask lots of questions of me and your fellow students.
  • Learning to program is failure followed by success.
  • If you are feeling left behind, stuck, or frustrated in any way, please let me know immediately. I am here to help.
  • Sleep enough hours. Good sleep will get you through college, reduce stress, help you do well in class, and feel better. And it’s free.

Free, Libre and Open Source Software

It’s not in the title, but a large part of this course will use and build upon free, libre and open source software (sometimes abbreviated as FLOSS). We will talk about FLOSS software, why one may want to use and contribute to it, and its impact on technology and society today.

Requesting Help

  • When you get stuck on a problem with your code and can’t figure it out, take a good break such as taking a walk before coming back to try again. Try to explain your code’s logic to a friend or family member, even someone who doesn’t code.
  • In this class we are going to try the “Ask 3 before me” system. In other words, if you get stuck, ask at least 3 other students for help, not necessarily at the same time. The reason for this is because learning together and teaching each other is the best way to learn new information.
  • When you are sending me code, please send a minimal version, what you expected, and what you are getting. Please don’t message me last minute. It can take me up to 24 hours to respond to emails, and longer on weekends or at the end of semesters. It is generally better for us to review your code together at office hours.

Tips

  • Work with your classmates inside and outside of class
  • Do Pair Programming
  • Start your homework early, do it in a quiet place, and minimize distractions. Expect 6 hours of work outside class per week.
  • Stay on top of your work. It will be hard to recover if you fall behind. This is a self-directed course but there are very real deadlines. The key will be slow and steady progress.

Grades

  • 30% attendance and participation (including
  • 30% weekly assignments and reading
  • 20% mid-semester evaluation
  • 20% final project

Section 2: The Schedule

Week 1: Hello, distribute materials

Week 2: Basics, Project One Assignments

Week 3: Project One Reports and Work

Week 4: Project One Reports and Work

Week 5: Pi Fair Show & Project Two

We’ll organize some kind of public exhibition of the work we’ve done so far

Week 6: Collaborative Project Two Work

Week 7: Collaborative Project Two Work

Week 8: Study Day

Week 9: Pi Fair/Pi Jam/? Show

Week 10: Final Project Proposals

Week 11: Discussion, Individual Meetings & Studio Time

Week 12: Discussion, Individual Meetings & Studio Time

Week 13: Discussion, Individual Meetings & Studio Time

Week 14: Presentation and Critique

Week 15: Presentation and Critique