Skip to content

mab253/software-interventions-spring22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

59866 - Senior Design I

Instructor: Madeline Blount
Term: Spring 2022
Time: Mondays 6:30pm-9:00pm
Office Hours: Tues/Thurs. by appointment, schedule here
E-mail: mblount@ccny.cuny.edu

course description

In this two semester senior design course, we will explore and interrogate examples of software as intervention - how does software act in the world? How does what we build as software engineers interact with or intervene in systems that already exist? How might software change those systems, and how do these questions factor into software design? We will investigate the ethics of automation, scale, data collection, and data security, examining case studies of technology’s role in various fields, from physical sciences to politics, social justice, and the arts. We will use contemporary tools for rapid prototyping, including serverless architecture and modular development. Student projects will take original ideas through the phases of research, systems design, and prototype.

what will we learn in this class?

  • how to think critically about technology while we build it
  • how technology affects change in the world (hint: sometimes unexpected ways, with unintended consequences)
  • how to make rapid prototypes with contemporary tools to test our ideas
  • how to design systems with many moving parts, and think about how people fit into these systems
  • how to work together: iteration, collaboration
  • how to get comfortable reading documentation and using new tools quickly
  • how to use the tools that you have learned to build your own creative project

course format

This course will meet online only. It will be both technical (code, design) and conceptual (some reading, writing, discussion). Each week we will have:

  • short readings or videos on a theme, to be completed before class (estimated time: 45 min.)
  • a lecture in class, with discussion
  • a code lab or discussion activity in class (group work)
  • written or code assignment for next class

Our main goal is to create proposals for your final projects. We’ll be examining many different case studies and examples in order to generate ideas, solving lots of small problems and building prototypes together - but you’ll need to be thinking about your larger senior project throughout the arc of the first semester.

Your final project could be in any language, using any methodology that you want, and you can either work on your own or as a team (3 students max). You will determine your topic and team by the end of this semester, and next semester we will work on the build. Your project proposal is this first semester's final project. Further description and requirements for the final project proposal will be clarified throughout the course.

important info:

key dates
materials & references
tools
expectations & requirements
evaluation
academic honesty & integrity
contact & questions

SCHEDULE, ASSIGNMENTS, READINGS:

💥subject to change

Week 1: Jan. 31
Introductions, Interventions
going through syllabus (hello!), intros to each other, & "do no harm"

Assignment: complete class survey; "hello world" post on Glitch blog
DUE: Thursday, Feb. 3rd 5:00pm EST


Week 2: Feb. 7
Prototypes, Hacks, and Distributed Architectures

Readings due today:

for next class:
Assignment: Write project log post #1 info/instructions here


Week 3: Feb. 14
Software as Public Infrastructure

Readings due today:

for next class:
Assignment: Write project log post #2 info/instructions here

Additional References:


Week 4: Feb. 21: NO CLASS MONDAY, HOLIDAY
Automated Communications, Political Implications

Readings for the week:

for next class:
Assignment: communications API experiment info/instructions here

Additional References:


Week 5: Feb. 28
On Surveillance, Resistance, and Social Movements

Readings due today:

for next class:
Assignment: Write project log #3 info/instructions here


Week 6: Mar. 7
DIY Emergency: Tech & Mutual Aid

Readings due today:

for next class:
Assignment: simplest project prototypes, info/instructions here

Additional Resources:


Week 7: Mar. 14
Unblocking the System: Automations and Chatbots

Readings due today:

Feedback Point 1: I will give feedback on your blog posts so far by this date

for next class:
Assignment: Write project log #4, project validation, info/instructions here


Week 8: Mar. 21
Project Ideas Feedback Workshop

for next class:
Assignment: Write project log #5, info/instructions here


Week 9: Mar. 28
Automation Revisited; Project Work Day

Readings due today:

for next class:
Assignment: Finalize project topic and group (if collaborating)


Week 10: Apr. 4
Digital Divide and Accessibility
PROJECT FORMATION (TOPIC/GROUP) DUE!

Readings due today:

  • from Design Justice, Sasha Constanza-Chock, p. preface-11 & Chapter 2, p. 70-101, text here
  • video garden.local, Distributed Web of Care (Taeyoon Choi et. al) - watch video and read text below

Week 11: Apr. 11
Blueprints, Systems, and Architectures

Readings due today:

for next class:
Assignment: diagram assignment info/instructions here


NO CLASS Apr. 18, SPRING RECESS


Week 12: Apr. 25
Open Data, Open Storage?

Readings due today:

for next class:
Assignment: Write project log #6 info/instructions here


Week 13: May 2
Data Collection

Readings due today:


Week 14: May 9
Data Security

Readings due today:


Week 15: May 16
Final Project Workshop

Assignment: working on final project
FINAL PROJECT PROPOSAL DUE: Friday May 20th, 12pm EST


key dates

  • March 14th, feedback point on project logs (professor to share feedback)
  • March 21st, share ideas-in-progress for final, feedback workshop
  • April 4th, team (or solo) formation for final and project topic, due by end of class
  • May 10th, I will read a draft of your final proposal if I receive it by this date
  • May 16th, final project workshop
  • May 20th, final project proposal due

materials and references

All course material will be linked via Blackboard and Github (here). There will be extra links and further references listed every week, beyond the required materials, that might be helpful to you. There will be no textbook for this course other than what's linked here. I will post the readings at least 2 weeks in advance, but if you look far ahead you might see some "TBDs." I will also post any lecture material (slides, links, etc.) in a folder in this repo called /lectures. Information and instructions for any assigments will be in a folder called /assignments.

tools we will use a lot

  • Github: please get a free account, here
  • Glitch: please get a free account, here
  • Zoom: we will always start class here
  • Blackboard
  • Node.js, npm

We will use other software development kits (SDKs), APIs, tools, places to meet and collaborate online, etc. throughout the course. This will be noted in specific weeks.

expectations and requirements

  • class attendence and punctuality: please come prepared and on-time for every class.
  • participate actively in lecture with questions, and discussion - "move up, move up"
  • if you know you are going to miss class, please e-mail me. Attending and participating in every class counts towards your final grade (see below). Lateness beyond 20 minutes is considered an absence.
  • we'll be sharing and critiquing each others' work - try to be honest and friendly, open and respectful when giving/receiving feedback

This class is an inclusive and harassment-free space for everyone, with no tolerations of discimination based on gender, race, sexual orientation, religion, disability, or appearance. Please feel free to let me know privately if you require an academic accommodation.

evaluation:

Grading breakdown:

  • Participation/Attendance: 25%
  • Weekly Assignments: 35%
  • Final Project Proposal: 40%

weekly assignments:

  • weekly assignments must be turned in before the next class: this means 5:00pm Monday EST - unless specifically noted otherwise
  • weekly assignments are more for participation than in-depth feedback
  • your weekly assignments are to help you prepare for your final proposal
  • any late assignments = drop 10% per day
  • you get to drop your worst assignment grade if you need to

academic honesty and integrity:

Plagiarism is "the act of presenting another person's ideas, research or writings as your own." (CUNY). [see what I did there ...?] In all seriousness: please be mindful and cite your references, both when you are writing in sentences and writing in code: Stack Overflow is a great resource, but your code cannot be copied and pasted for your assignments. Your work for proposals and written assignments must include citations when you are referencing others' work.

You can find CCNY’s Acedemic Integrity Policy in full here. Do not plagiarize.

contact and questions

Please e-mail me - I am available for your questions! I try to respond within 24 hours. You are also invited to schedule some virtual office hour time to talk, here. If you need a time that's not on this schedule, please e-mail me.

About

Senior Design I - City College Spring 2022

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published