Media Computation
CMPSC 195 Spring 2012

Syllabus

Contact

I want you to ask lots of questions.

We will be using Piazza for all of our Q&A.

Bookmark our course discussion forum!

I like Piazza because it lets you help each-other, it is easily searchable, and it tracks how long it takes for questions to be answered. (Performance metrics!)

If you have a question that isn’t exactly suitable for public consumption, feel free to drop me an email, and if something comes up that is pressing, you’re welcome to give a call as well. The phone routes to voicemail after 9PM (meaning you probably can’t wake me up), but your voicemail will be emailed to me. If I’m up, I’ll get it and (possibly) get back to you right away.

It is unreasonable to expect responses in less than a business day, but we’ll see how we do.

   
Email mjadud@allegheny.edu
Phone +1 (925)-238-3692
Office Hours Monday, 1:30 to 5:30PM
Tuesday and Wednesday, 8PM onwards (by appointment)

Book Matt’s Monday hours online; email for Tuesday and Wednesday.

   
Email rroos@allegheny.edu
Phone +1 (814)-332-2883
Office Hours Monday, 1:30 to 3:30PM
Tuesday, 9 to 11AM
Thursday, 9:30 to 11AM
Friday 1:30 to 2:30PM

Matt pays for SMS messages. If you send a text, you will be charged one US quarter.

Course Textbook

We have one required text this semester. You should buy it, because we’re going to read it, and use it, and stuff like that.

Learning Processing

We will have some additional readings that will be posted to Sakai as we go. We’ll let you know about those as they come up.

Software

We will be using Processing throughout the semester. We recommend you download and install it on your own computer.

Outcomes

  1. Understand a computational approach to describing actions.
  2. Master the Java implementation of the basic building blocks that comprise a program (eg. if, while, and friends).
  3. Recognize and implement/use simple abstractions.

We will ask you to engage in a wide range of activities that help demonstrate that you are achieving these outcomes. A few examples include:

  1. Knowing definitions for basic terminology associated with programming (eg. variable, sequence, loop, etc.). Reading and describing what a piece of code does.
  2. Translating English instructions into code, identifying correct and incorrect solutions given a problem statement.
  3. Identifying how variables are used, design exercises (eg. “Zoog” variants), removing duplication of effort from code.

Assessment

   
Participation 10%
Peer Assessment 5%
Prep Quizzes 5%
Examinations 20%
Doing Stuff 60%

What do these mean?

  • Participation We’re going to be engaging all term. In fact, our goal is to talk our way through learning how to manipulate digital media programmatically. So, collaborating with others, asking questions (in-class or online), answering questions (in-class or online)… these are all ways you can engage.

An unexcused Tuesday will cost you a full letter grade. Exceptions will only be made in extreme (and documented) circumstances.

  • Peer Assessment You will be working with others quite a bit. We will regularly engage in some simple assessments of our collaborators. Why? Because you’re supposed to be helping each other excel; a partner who doesn’t engage is not learning everything they should… and neither are you. So, we will be “checking in” on collaborative processes regularly.

You must come to class prepared. The goal this semester is to 1) minimize lecture and 2) maximize the time we spend discussing and collaborating around the task of learning to write programs that do really cool stuff. That means it is up to you to prepare yourself to engage actively in class.

  • Prep Quizzes As we come into each lab (and possibly “non-lab” days as well), we’ll have a short quiz to see how you’re doing. If you clear 80% on all of the quizzes, you get 100% for this measure. In other words: if you’re able to demonstrate you prepared for class, you’re good to go.
  • Examinations We do need some evaluation that helps us see how you’re doing as individuals. These exams should never be surprising; they might be challenging, but they should always reflect the kind of learning you’ve been doing.
  • Doing Stuff We’ll be doing a lot of hands-on work. If that’s what we’re doing a lot of, then that’s what should count for a substantial portion of your grade.

Every assignment and examination will not only have a due date, but also a “feedback date.” That means that you will know, for every assignment, when you can expect to receive feedback on your work. At the end of the term, we’ll be able to see if Matt gets a “100%” for returning work to you on time.

“What is my grade?”

I’ll let you know where you stand before the add/drop period ends. If you’re doing poorly, I’ll send an APR. Other than that, if it is important to know what your grade is at every minute of the semester, you can figure it out yourself.

I want every single one of you to earn an A. That said, I suggest you read the article Dear Student: I don’t lie awake at night thinking of ways to ruin your life.

Supporting Your Needs

Students with disabilities who believe they may need accommodations in this class are encouraged to contact Student Disability Services (SDS) at (814) 332-2898. SDS is part of the Learning Commons and is located in Pelletier Library. Please do this as soon as possible to ensure that such accommodations are implemented in a timely fashion.

In short: we will work with you to the best of our ability to help you be a success in our course.

(Meta) Background Reading

If you’re interested in knowing some of the education-theoretic inspirations for this course’s design, feel free to check some of these links out.

  • Confessions of a Converted Lecturer is a talk by Erik Mazur that captures many (data-driven) reasons that this course will focus on collaboration and interaction as opposed to lecture.
  • Taming Complexity in Large Scale Systems Projects, written by Mike Clancy at UC Berkeley, describes some of the philosophy behind the instructional approach we are employing this semester. (Think of this as some of what guides our design of CMPSC 195.)