DH@CC Courses

A list of DH courses at the 5Cs


Instructor: Zachary Dodds
Institution: Harvey Mudd College
Next HW:    Gold HW 11    will be due on: Sun., Apr 19, 11:59pm
Next Lab: Lab 11: vPython!    will be held on: Mon. April 13 or Tue. April 14
Submissions: CS submission site

CS 5 Course Syllabus

Welcome to CS 5! This course is designed to give you a broad introduction to the exciting, and sometimes misunderstood, field of computer science.

Course Aims and Objectives

This course has two central aims, each with a number of associated objectives:

  • Aim 1: To give students the tools to take a computational problem through the process of design, implementation, documentation, and testing.Objectives:
    • Break a broad problem down into specific subproblems
    • Write an algorithm to solve a specific problem, and then translate that algorithm into a program in a specific programming language (Python)
    • Write clear, concise documentation
    • Develop test cases that reveal programming bugs
  • Aim 2: To give students an understanding of the breadth of Computer Science as a discipline and how it exists in the world.Objectives:
    • Identify applications of computer science in society
    • Describe the big questions in computer science
    • Describe the relationship between a number of major sub-disciplines within computer science, including functional and imperative programming, computer architecture, and theoretical computer science

Content Overview

In brief, the material CS 5 covers is a superset of the following:

Week 0 Introduction to computation: CS, Python, and Picobot
Week 1 From data to information: strings, structures, and slicing
Week 2 CS’s fundamental building blocks: functions
Week 3 Self-similarity as design strategy: recursion
Week 4 Top-down vs. bottom-up problem solving: analysis and synthesis
Week 5 Computation’s physical building blocks: circuit design
Week 6 The nonliving world’s native tongue: assembly language
Week 8 Iteration in Python: repetition through loops
Week 9 Serious structures: nested loops and dictionaries
Week 10 Self-defined structures: objects and classes
Week 11 Piecing everything together: large-scale problem solving
Week 12 Piecing everything together: final projects
Week 13 Theoretical CS: state-machine models of computation
Week 14 Theoretical CS: provably uncomputable vs. currently uncomputable functions

Basic Information

Each week, this class consists of two 75-minute lectures and one 2-hour lab. The lab is optional, but highly incentivized – don’t miss it!There are three sections of CS 5.

  • CS 5 “Gold” is intended for students with little or no prior programming experience.
    • For the record, CS 5 “Gold” is also the Spring section of CS5
  • CS 5 “Black” is intended for students with prior programming experience (e.g. high school AP).
  • CS 5 “Green” is a course that presents computer science via a biological context and motivations

All sections of CS 5 provide the same foundational skills and will prepare you equally well for CS60 or other CS pathways you might choose.

  • Lecture Times and Locations:
    • CS 5 Gold: Big Shan (Shanahan 1430) M/W 1:15-2:30pm, Dodds
  • Lab Times: CS 5 has shared labs. CS 5 green has its own lab (Friday afternoons), and CS42 does not have a time designated specifically for lab work. Regardless of these formal lab times, there are many hours each week in which labs are staffed by student assistants – use them! Here are the 2015 lab times for CS5 gold:
    • Lab Section 1, Mondays, 2:45-4:45pm (CS 5 black and gold sections)
    • Lab Section 2, Mondays, 8-10pm (CS 5 black and gold sections)
    • Lab Section 3, Tuesdays, 2:45-4:45pm (CS 5 black and gold sections)
    • Lab Section 4, Tuesdays, 8-10pm (CS 5 black and gold sections)
  • Lab Location: The CS labs are in HMC’s Beckman B126, Beckman B101, B102, and B105 along HMC’s “CS hallway”
  • Lab attendance:
    • Labs are not officially required (we can’t do that for a three-unit class).
    • However, they’re incentivized: if you come to lab and give a full effort on the lab problems, you will receive full credit for those problems, even if you do not complete them
    • More importantly, they’re a great way to get guidance with new/unfamiliar challenges!
    • As long as there’s room (and there usually is), you are welcome to attend any of the CS lab sections without formally switching with the registrar.

Instructor Information

Zach Dodds

Course Content


There are two 75-minute lectures per week. Attendance at these lectures is important: during lecture, you will sometimes be asked to complete a short worksheet to get some initial practice with the material. Completion (not correctness) of these in-class exercises is part of your course grade.


Each week you have the option to attend a two-hour closed lab session. The labs are run by the course faculty and grutors (student graders/tutors). They provide a great opportunity for you to practice with new material on some fun problems in a supervised setting.Attendance at labs is not required, but we strongly encourage you to attend! Specifically, we incentivize the labs as follows:

  • if you attend lab and make a good-faith effort throughout, you will receive full credit on the lab problem(s) – which are always part of the week’s homework problems – even if you do not complete it within the two-hours.
  • we encourage you to complete the lab in your own time so that you can fully learn the material, but this is not required
  • if you don’t attend lab, the lab problem(s) are graded as usual, as part of that week’s homework assignment.

You’re encouraged to bring your laptop computer, if you have one, to lab. Using the guest accounts on the lab Macs, of course, is equally encouraged!


Each week you will be assigned a set of homework problems. These problems will be due on Monday evenings at 11:59pm, unless otherwise indicated.

Pair Programming/Partner programming

  • We use the term pair programming to describe a team of two people working on a single computer to solve a problem together.
  • We use the term partner programming when two people are working, each on their own computer, to solve a problem together.

Typcially, assignments contain one or more “individual” problems that each student must complete on their own.

For the rest of the problems, you may complete them alone or with one other student. If you choose to work with another student, you may pair program (one computer) or partner program (each with a computer). You and your partner will submit only one solution for each problem.

If you choose to work with a partner, you must work together — physically, in the same place — for every problem that you do together. While you are working, the computer screen(s) should be visible to both people. If pair programming, one person should type (the “driver”), while the other person observes, critiques and plans what to do next (the “navigator”). You should switch roles periodically, about every half-hour or so. Your overall solution must be a true joint effort, equally owned, created, and understood by both students.

Specifically, splitting up the problem(s) into parts and working on them separately is not permitted and violates both the letter and the spirit of the HMC (and 5Cs) honor code.

In the event that you and your partner make some progress together but then are unable to complete the assignment together, you may send each other the code that you developed together and then split up to work individually on the remainder of the program. You would then submit the problem individually, but should make a note along with the submission that this had happened. We expect that this will only occur in rare circumstances, such as when one member of the team falls ill.

Late Homework Policy
Homework is due on the day indicated (Sundays, for 2015) at 11:59 PM. At the beginning of the semester you will receive three CS 5 Euros (which has been losing value recently, so that we are considering a switch to bitcoin…). Each “Euro” provides one 24-hour extension on any one homework assignment, i.e., a “late day.” If you submit your homework after the deadline, you will automatically be charged a CS 5 Euro.

You do not need to tell us that you’re using a “Euro” extension — the submission system will notice that based on your submission time and “bill” your virtual account a Euro. Homework that is more than 24 hours late or submitted after the deadline when no CS 5 Euros remain results in undefined behavior.

In extreme circumstances (such as serious illness), if you require an additional extension or a longer extension, you should talk to your instructor and the Dean of Students.


There will be one midterm exam and one final exam. The exams are in-class and closed-book. However, you are allowed to bring one double-sided sheet of notes (hand-written or word-processed) to the midterm and two such sheets to the final exam. You will have 75 minutes to complete the midterm, and three hours to complete the final. If you require extra time for medical reasons, please let us know.

Here is the CS5 exam schedule (and the Claremont-wide schedule)

Midterm Final Exam
Wednesday, April 1, 2015 (in-class) Friday, May 15, 2015 @ 2pm
Here is the official final-exam schedule

Reading assignments

Throughout the semester, several assignments have a portion that involve completing a short reading and writing a short response. These readings describe real-world applications — and visions — for various facets of computer science.

Final Project

During the final three weeks of the semester, you will complete a final project. You’ll choose your project from a small set of open-ended problems that we will present toward the end of the semester; more details on these project options will emerge as the semester progresses.


Your grade for this class will be a combination of your homework, exam, and participation work. Participation is largely based on effort (not correctness) of the in-class exercises/worksheets. Lab and project grades will be incorporated into the homework score. Each homework assignment is worth ~100 points. The midterm is worth ~100 points, and the final is worth ~200. In-class worksheets, i.e., participation, are also worth ~100 points.Based on these point values, the approximate weight of each component is:

  • Homework/Projects: 65%
  • Exams: Midterm 10%, Final 20%
  • Participation/in-class worksheets: 5%

If you’re a first-term HMC student, your grade will be recorded officially as High Pass, Pass or Fail, but your internal composite course score will be calculated through the semester for your information. Usually about a quarter of the class earns an HP, though it varies. If you’re not a first-term HMC student, it’s certainly possible to take CS5 pass/fail, but it is graded by default. We use a pretty standard scale for letter grades; here, expressed in Python:

if perc >= 0.95: letterGrade = 'A'
elif perc >= 0.90: letterGrade = 'A-'
elif perc >= 0.87: letterGrade = 'B+'
elif perc >= 0.84: letterGrade = 'B'
elif perc >= 0.80: letterGrade = 'B-'
elif perc >= 0.77: letterGrade = 'C+'
elif perc >= 0.74: letterGrade = 'C'
elif perc >= 0.70: letterGrade = 'C-'
elif perc >= 0.60: letterGrade = 'D'
else: letterGrade = 'F'

Important! Additional requirement for HMC first-years in CS5
If you’re an HMC student taking the course pass/fail, to pass CS 5 you must have a passing grade on each of the three individual components of the course (exams, homeworks, and worksheets). If you fail one of these components, you will not pass CS 5, even if your weighted-average scores are mathematically above the passing threshold.

Honor Code

All solutions and code should be produced by you alone, or by you and a partner, where appropriate. For pair-programmed assignments, each partner (or member of the pair) must be equal co-owners of the work.

You may discuss algorithms at a high level with any student in the class. You may also help any student find small bugs (syntax issues) in their code. However, you may not copy solutions from anyone, nor should you collaborate beyond high-level discussions with anyone who is not your partner. For pair programming problems, you must follow the guidelines given above.

If you have any questions about what behavior is acceptable, it is your responsibility to come see one of the instructors before you engage in this behavior. We are more than happy to answer any questions you may have.


Learning From YouTube

MS 135 PZ -Learning from YouTube

Institution: Pitzer

Instructor: Alex Juhasz

Description: What can YouTube teach us and is this how, what and all we’d like to learn? Over its hundred year history, radical media theorists have looked with utopian zeal to a moment in the media future which turns out to be upon us: a time where access to the production and distribution of media is democratically available outside channels organized by capital. So why is the technology being used primarily to spoof mainstream media forms and what does this tell us about the media, our society and political possibility?

Prerequisite(s): MS 049 PZ, MS 050 PZ, MS 051 PZ or equivalent. Please also check the current course schedule for requirements.

Feminist Dialogues on Technology

Fall 2013 is the official launch of the first DOCC, the feminist response to MOOC madness in the academy. A Distributed Online Collaborative Course, or DOCC, is designed to leverage technological capacity in the service of feminist pedagogy and feminist networked action. Designed by FemTechNet, Feminist Dialogues on Technology is the title of the first DOCC, which has run in beta form at Pitzer this spring and will run at Pitzer, along with 17 other institutions, this fall. Below is the syllabus from the spring course and a list of institutions that will be offering the class this fall. FMI contact Alex Juhasz or Jacque Wernimont.

Where are Nodal Courses Happening Fall 2013?

  • Bowling Green State University
  • Pitzer College
  • CUNY
  • Penn State
  • Ontario College of Art and Design
  • The New School
  • Brown University
  • Rutgers
  • Pontificia Universidad Javeriana
  • University of Illinois, Urbana-Champaign
  • Goldsmiths University of London
  • Bucknell University
  • SUNY
  • UC Irvine
  • Ohio State University
  • Colby-Sawyer College
  • California Polytechnic State University
  • Yale



A Distributed Open Collaborative Course (DOCC)

A mixed-mode, learning experiment linking undergraduate students at

Pitzer College and Bowling Green State University

with graduate students at USC and UCSD

PIT MS 134, Spring 2013, Thursdays 9-11:50

Alexandra Juhasz, Pitzer College, Fletcher 226

Office Hours: Weds 1:30-2:30 and 4-5

and by email appt: alexandra_juhasz@pitzer.edu

Dr. Radhika Gajjala, Phd, BGSU

 Office Phone: (419) 372-0586
Email: radhika@cyberdiva.org
Skype ID: cyberdivaskype
Google hangout ID: gRadhika2012
Virtual Office Hours: M and W  12:30 PM –  2.00 and by appt.

In this course, we’ll be exploring the ways that gender and technology have defined and
redefined each other socially and culturally. The course introduces students to key issues in Feminism and Technology within the context of American Culture, Globalization, and Media Studies.

The course is based on collaborations between students and professors at Bowling Green State University, Pitzer College, University of California San Diego and University of Southern California (IML555 Digital Pedagogies).

It is part of a larger project (see http://fembotcollective.org/femtechnet/), so Spring 2013 students will participate in ongoing collaborations in feminism, technology, video, art and craft. Some of the best projects will be showcased worldwide in online portals and offline in feminism and technology related exhibits.

Go to https://www.facebook.com/pages/RGajjalas-Courses/313468268770326 and like the page. Other interaction will occur on Sakai, Wikipedia, and Social Book.

Thursday, January 24: Introductions

            View in class

Keyword videos by BGSU students

Join one of ten theme groups with BGSU students

Thursday, January 31: Responses

Required Reading

TechnoFeminism, Intro, 1-2


Assignment 1: In groups respond to one of the BGSU videos

February 7: TechnoFeminism: Adrianne Wadewitz

Required Reading: Discussion Online

(post 1 summary and 2 responses, minimum)

TechnoFeminism Chapters 3-5 

Guest lecturer, Adrianne Wadewitz, will lead a tutorial on Wikipedia, this will be taped and shared with the BGSU students


Required Reading

Lucy Suchman: (2011) “Subject Objects.” Feminist Theory, 12 (2): 119-145

Wendy Chun: Chapter 1, Programmed Visions (Cambridge, MA: The MIT Press, 2011).

February 21: BODY

Required Reading

Rosi Braidotti: “Meta (l) Morpheses,Theory, Culture and Society, 14:2 1997: 67-80.

Alondra Nelson: “Future Texts,” Alondra Nelso, Social Text, 71: 20 (Summer 2002).


Lynn Hershmann: !Women Art Revolution: A (Formerly) Secret History (2011): womenartrevolution.com.

“Introduction,” Lynn Hershmann, ed., Clicking In, Hot Links to a Digital Culture. Seattle: Bay Press, 1996.

Carol Long/Derek Hook Hook, D and Long, C. (2011). “The Apartheid Archive Project, heterogeneity and the analysis of racism.” Psychoanalysis, Culture and Society, 16, 1-10.

March 7: LABOR (online class for Pitzer)

Required Reading

Judy Wacjman: “TechnoCapitalism Meets TechnoFeminism: Women and Technology in a Wireless World,” LABOUR & INDUSTRY, Vol. 16, No. 3, April–May 2006

Jodi Dean: http://motherboard.vice.com/blog/beyond-clicktivism-jodi-dean-on-the-limits-of-technology-in-the-occupy-movement



Required Reading

Karen Barad: “Posthumanist Performativity: How Matter Comes to Matter” (originally published in Signs in 2003)

Shu Lea Cheang: http://www.compostingthenet.net; http://babywork.biz; http://www.u-k-i.co/


March 28: SYSTEMS

Required Reading

Brenda Laurel: “Design from the Heart,” in Women, Art and Technology,Judy Malloy, ed., MIT Press, 2003.

Janet Murray: Toward a Cultural Theory of Gaming: Digital Games and the Co-Evolution of Media, Mind, and Culture,” Popular Communication, 4(3), 185-202, 2006.

2nd Video Due: Mid Term

April 4: PLACE

Required Reading

Katherine Gibson: “The End of Capitalism (As We Knew It): A feminist critique of political economy.” Oxford: Blackwell, Progress in Human Geography, 11, 2010.

Kavita Philip: “”English Mud: Toward a Critical Cultural Studies of Colonial Science,” in Cultural Studies, 12 (3) 1998 pp. 300-331

Mona Hartoum:





April 11: RACE: Via Social Book and Virgina Kuhn’s Students in Digital Pedagogies

Required Reading

Maria Fernandez: 2003. “Cyberfeminism, Racism, Embodiment.” In Domain Errors! eds. Maria Fernandez, Faith Wilding, and Michelle M. Wright. Brooklyn, N.Y.: Autonomedia. http://refugia.net/domainerrors/DE1b_cyber.pdf

Lisa Nakamura: “It’s a Nigger in Here! Kill the Nigger!”: User-Generated Media Campaigns Against Racism, Sexism, and Homophobia in Digital Games.” The International Encyclopedia of Media Studies, edited by Angharad Valdivia (Blackwell: forthcoming).

(a critique by Jesse Daniesl: Rethinking Cyberfeminism(s): Race, Gender, and Embodiment, Women’s Studies Quarterly 37: 1 & 2, Sproing/Summer 2009.



Required Reading

Josephine Ho: Ping Wang, The Prosecution of Taiwan Sexuality Researcher and Activist Josephine Ho, Reproductive Health Matters 2004;12(23):111–115

“In Defence of Academic Research and Internet Freedom of Expression,” InterAsia Cultural Studies 6.1 (March 2005): 147-150. (In English), 2005.

Faith Wilding: “Becoming Autonomous,” technics of cyber-feminisim, Ed. Claudia Reiche and Andrea Sick. Bremen: thealit Frauen.Kultur.Labor, 2002; or “Where is Feminism in Cyberfeminism” Feminist Art Theory.  Ed. Hillary Robinson. Blackwell: UK, 2001.

(Live Dialogue: Haraway and Lord about Da Costa, LACE, April 19)

April 25: TRANSFORMATION: Via Social Book and Virgina Kuhn’s Grad Students

Required Reading

Donna Haraway: “A Cyborg Manifesto: Science, Technology and Socialist-Feminism,”

Catherine Lord: “June 2001 (Looking Backward: Confessions of Her Baldness),” in Summer of Her Baldness, University of Texas Press, 2004.

Beatriz Da Costa: Introduction (with Kavita Philip) and “reaching the Limit: When Art Becomes Science,” in Tactical Biopolitics: Art, Activism and Technoscience (MIT: 2010).

All Wiki Work Due

May 2: Craft/Gift Exchange!


Attendance and Participation: I believe that participation is a vital aspect of the class. I expect you to come prepared and to contribute to class discussions: both on and offline.

Required Reading: All reading is due before class. Come to class prepared to discuss it. There is one required book at Huntley, it is also available at Honnold on reserve. The rest of the articles will be available on Sakai or online.

TechnoFeminism, Wacjman

Cybercultures Reader, David Bell (optional)


2) Technical help and info


The How to Make a FemTechNet Keyword or Book Trailer Video Guide: on Sakai




You will need A Wikipedia login account. You will have to create one, so go to http://en.wikipedia.org/wiki/Main_Page  and create one and email your login id (not your password) Radhika@cyberdiva.org  in an email message with a subject line that contains your real name and the course name “ACS/WS 3000: Wikipedia login id _ your name”.




3) Course Work:

There are four assignments:

  1. Wiki Work: 30%
  2. Keyword Videos (2): 30%
  3. Craft Projects: 30%
  4. Participation: 10%

1. Wiki work: Content creation; content editing; language correction connected to an author and the theme of your craft project

– wiki stubs http://en.wikipedia.org/wiki/Wikipedia:Stub

-Edits on featured articles on wikipedia http://en.wikipedia.org/wiki/Wikipedia:FA
-edits not just entry length http://en.wikipedia.org/wiki/Wikipedia:Requested_articles

2 assignments:

1)    work on a featured author’s page: 10 edits; 500 words (or a section); 1-2 reputable sources: present your work to-date when that author is discussed; due April 25 (“general improvement of the article to reflect sourcing standards on Wikipedia and neutral point of view” and make grading include both the inclusion and deletion of information as well as the tone of the writing. The students should be deleting information that is not sourced – that is just as important as adding what is sourced.)

2)    follow a topical discussion related to your theme: follow talk page, post at least 10 times on talk page (and/or article) in relation to feminism and technology

3)    write 2-3 page reflection paper on your wiki work: due April 25

2. Keyword Videos:

First one is ungraded; second one is your mid-term, due March 28

 An “A” video has a clear argument that thoughtfully and explicitly links one of the themes to larger issues raised in the readings, and other course materials. Technical polish is not necessary, but your videomaking should not hinder our comprehension of your argument. The quality of your prose, images, and ideas will also be considered.

3. Craft Project: DIY object around one of 10 themes: alone or in groups, first draft is due on the day of theme, to be presented and discussed (live at Pitzer and digital presentation by BGSU)

As a final project on May 2, you will swap your object with other class participants.

All students working on the same theme need to present their objects TOGETHER on the day of the swap, on whatever platform they choose.

An “A” object expresses an understanding or argument about your theme that thoughtfully and explicitly links to larger issues raised in the readings, and other course materials. Technical or artistic polish is not necessary, but your lack of skills should not hinder our comprehension of your object. The quality of your object’s construction and ideas will also be considered.

Learning Outcomes

Students are asked to investigate, connect, write, present, participate, and lead proficiently. From these overall learning outcomes, you will meet the specific objectives of this course detailed below.

You will:

  • Investigate the interplay of technology and everyday materiality, and its relationship with American culture and Globalization. Through this investigation, you will become critical consumers of media and sensitive and articulate global communicators, with an awareness of how intersections of race, gender, class and culture shape the use and production of technologies world-wide.
  • Connect theory and practice of feminism along the key themes presented in this class. You will also connect with the world by communicating and collaborating in research with other students on current concerns about feminism and technology. Through this connection, you will relate one’s self and culture to diverse cultures.
  • Learn to edit the Wikkipedia and understand the culture of the Wikkipedia in relation to gendered hierarchies. Thus you will acquire hands-on applied skills.
  • Learn to make keyword videos using easily available digital tools (or apps) of your choice. Once again learning hands-on applied skills through doing class work.
  • Virtually present your written work and ideas to the classes involved in this collaboration.
  • Learn to work in virtual collaborative teams. Skills very necessary to the effective function of global organizations in present day American economic conditions.
  • Participate actively and with sophistication in class through the use of social media and other online tools.
  • Lead discussions through online communication with your peers. You will lead learning in the course by suggesting engaging, innovative and meaningful discussion topics. You will lead by contributing to the discussions suggested by other.