Preamble

  • Course Title: Form & Genre: Digital Hacktivism Lab (MEDST 758)
  • Lecture: Mondays, 7:00 PM – 8:50 PM, G Building, Basement Lab, Rm G-04
  • Office Hour: Mondays, 9:00 PM – 9:30 PM, G Building, Basement Lab, G-04
  • Dates: 31 August 2015 – 21 December 2015
  • Instructor: Roy Vanegas

Description

“A seminar and hands-on workshop in web, app, and physical computing specifically applied toward activist, hacktivist, and cause-related efforts. The course looks at theory and case studies of digital activism, while also teaching skills in project-based units.”

Prerequisite

There is no prerequisite for this course, and no prior programming experience is required. It is assumed, however, that students are proficient with the Windows, Mac, and/or Linux operating systems.

Learning Outcomes

Upon successful completion of this course, you will understand...

  • how to work with basic electronics;
  • how to program the Arduino microcontroller;
  • how to employ sensor technology in hardware- and/ software-based applications;
  • how to author web pages using HTML and CSS;
  • how to write rudimentary JavaScript;
  • and, how to maintain a dynamic web site.

Schedule

  • Where: G Building, Basement Lab, Rm G-04
  • Day: Monday
  • Dates: 31 August 2015 – 21 December 2015
  • Time: 7:00 PM – 8:50 PM

Note: the topics listed below will be covered in the order listed, time permitting. It’s possible that some topics will be overlooked.

WeekTopicsHomework
(for following week)
One
31 August
  • Introduction to the course
  • Introducing ourselves
  • How the Google Group works
  • Introduction to your electronics kits
  • How the web works
  • Prepare presentation of final project idea.
Two
10 September
Presentations for final project
  • Document the requirements for your final project.
Three
21 September
  • An introduction to the Arduino
  • How to use a bread board
  • How to use a multimeter
  • How to measure resistance
  • How to measure capacitance
  • How to measure continuity
  • How to measure voltage
  • How to solder
  1. Wire frame final project.
  2. Continue documenting project.
Four
28 September
  • An introduction to electronics
  • How to measure current
  • Electronics
    • Diodes, including LEDs
    • Capacitors
    • Resistors
    • Voltage regulators
    • Voltage dividers
    • Voltage converters
    • Force-sensing
  • Divide project into four (or fewer) smaller tasks.
Five
5 October
  • Sensors
    • Pressure
    • Flex
    • Force-sensing
  • Implement first phase of final project.
Six
19 October
HTML
  • Implement second phase of final project.
Seven
26 October
More HTML
  • Implement third phase of final project.
Eight
2 November
CSS
  • Implement last phase of final project.
Nine
9 November
More CSS
  1. Implement next draft of project documentation.
  2. User test final project.
Ten
16 November
More CSS
  • Continue user testing of final project.
Eleven
23 November
Special topics, as requested by students.
  1. Implement updates to final project based on user testing.
  2. Move project from alpha phase to beta phase.
Twelve
30 November
Special topics, as requested by students.
  • Begin preparing final presentations.
Thirteen
7 December
Open lab
  • Begin finalizing documentation for final project.
Fourteen
14 December
Open lab
  • Last-minute touches to final presentations.
Fifteen
21 December
Final presentations
  • None

Code/Schematics

Any code or schematics that I need to share with you, including code I write during class, will be added to this section for you to download.

Software Requirements

All the required software for this course is listed below. Most of it is free and available for Mac and Windows.

Integrated Development Environment

At the heart of all our hardware-based projects is the Arduino microcontroller.

Browsers

Download all the browsers available at Browse Happy, and get Firefox’s Developer Edition here. I use Chrome and both versions of Firefox in class.

Text Editor/IDE

You’ll require a text editor to write your source code. You may use Sublime Text or WebStorm. The former is a simple editor, the latter a full integrated development environment, or IDE. Sublime Text is free (indefinitely), but requires a $70 license fee to remove occasional purchase reminders. Use these preference files with Sublime.

WebStorm, free for students, is an advanced tool for web developers. It’ll prove useful as a text editor at the outset, and will become more valuable as you grow into a more sophisticated web developer.

Fonts

Here are a few typeface alternatives — all licensed under the SIL OFL — to the stock issue, fixed width fonts included with Windows and Mac:

A Link Checker

The W3’s Link Checker isn’t software you download, but rather a utility that verifies links on a web page so you don’t have to. Bookmark it.

A Compression/Decompression Utility

If you’re using Windows and you don’t have a compression/decompression utility, download 7-Zip, which is free and open source. Mac and Linux/UNIX users already have free compression utilities installed at the command line.

Grading Standards

Simply put: work hard, own up your learning, and commit every effort to producing your most outstanding work. You’ll receive an “A” for your effort.

For not observing the aforementioned, however, you’ll receive a grade below an “A,” which is an indicator that you’re not entirely focused on your academics. In the words of a colleague: “So while it’s easier to get an A in a graduate course for simply fulfilling the requirements, it is also easier to fail for doing truly sub-standard work.”

Divisional, Program, and Class Policies

  • Come to class. Attending lectures is important, because everyone needs to share in the experience of learning and interacting with each other, including me. It also shows a commitment to your education and a respect to everyone in the class. Aside from emergencies, everyone should attend every class — on time. Excessive absences and/or latenesses is a direct affront to your learning, your peers, and your teacher. Irrespective of why a student was absent, she/he is responsible for any material missed.
  • Get involved. Class participation is an essential part of your success and that of your classmates’. Participating includes keeping up with readings, producing and presenting assignments and projects, attending critiques, and contributing meaningfully to class discussions.
  • No food in class. The smell of food is very distracting, even offensive to some, and can linger in a class room for a long time. Eat before class.
  • Leave behind a clean classroom. Our room is used by others, so it must be left clean and ready for the next class.
  • No drinks near computers — including your own. I’ve seen it too often: A student places a coffee near a computer, then spills it all over a new $2500 machine. Drinks in covered containers not near a computer are allowed.
  • Computer backups. Hard drives are cheap, and backup methods are simple — especially on a Mac. There is no excuse not to backup. Backing up your data will ensure that a hard drive or other mechanical failure will not also consume your semester’s work. Use Time Machine if you’re on a Mac, or File History if you’re using Windows.

Resources

Validators and Linters

Sublime Text

Arduino

  • The Arduino home page is your jumping off point for tutorials, forums, and electronics-related purchases.
  • The Makey Makey is an invention kit that simplifies interfacing unorthodox sensors, such as bananas or pasta, into your electronics projects.

Electronics

  • Based in Colorado, Sparkfun is especially friendly to DIY electronics and to a digital hacktivism culture.
  • Newart element14 is an electronics supplier with 24-hour chat and same-day shipping.
  • Octopart is an electronic parts search engine.
  • There’s a Micro Center three blocks from Queens College. This is the most convenient place to acquire many common electronic parts.
  • DigiKey is a massive online electronics store, oftentimes carrying parts that other places don’t.
  • Mouser is also a giant online electronics retailer, this one with superb customer service.
  • Radio Shack is pricey, and, as of 15 July 2015, lacks on online presence, but is useful for many electronic parts — if you’re willing to wait for shipping.
  • Adafruit offers a vast array of electronics, shipping from NYC, and many helpful video tutorials.
  • Make is a print magazine with an online presence that sells DIY projects and offers online tutorials.
  • Forrest Mims Engineer’s Mini Notebooks contain electronic formulas, project schematics, and sensor tutorials, and are excellent reference books for beginners and seasoned electronic technicians alike.
  • Leeds Radio, which recently moved to The Bronx, sells vintage electronics and specializes in vacuum tubes.
  • Set up in the back of a typical Canal St shop, 269 Electronics provides both a typical and unusual offering of electronics.

HTML

CSS

  • Eric Meyer’s base/reset CSS is a reliable way of cancelling out browser styles.
  • Chris Coyier’s CSS-Tricks provides CSS-based tutorials and — of course — tricks.
  • Sitepoint’s CSS Reference provides useful explanations of CSS2.1 concepts (and some early CSS3, also).
  • Can I Use a CSS, HTML, JavaScript, or other web-based syntax in new code?
  • A CSS3 gradient generator that helps with the unwieldy CSS3 gradient syntax.
  • A specificity calculator that is useful in reinforcing the concepts of specificity.

Students with Disabilities

Click the following link to read about Queens College’s committment to students with disabilities: http://www.qc.cuny.edu/StudentLife/services/specialserv/Pages/default.aspx

Contact and Office Hours

My email address is roy dot vanegas at gee cee dot cuny dot edu. However, I rarely ever answer emails nowadays. For help, you’re strongly advised to see me in person before or after class. (My office hour is after class from 9:00 PM - 9:30 PM.) We can also meet via Skype.