Sense & Scale

A site to explore cultures, cities, and computing at varying senses and scales. Updated by Ar Ducao, with content from classes at NYU, MIT, CUNY and more.

Contact: see syllabi

  • Almost all speakers have been confirmed for videoconference calls, but this schedule is subject to change, pending COVID-19 developments. Recordings of these guests will be posted on the Phase 2 Recordings page (password protected). March 26: Joshua Chodosh MD, NYU Aging Incubator March 31: Toisha Tucker, Artist April 2 Lauren…

    Almost all speakers have been confirmed for videoconference calls, but this schedule is subject to change, pending COVID-19 developments. Recordings of these guests will be posted on the Phase 2 Recordings page (password protected).

    +
  • Job Training and Job Placement Many of these programs are completely free. Some take a percentage of your salary if it meets a certain threshold (e.g. $60k or more). The Knowledge House Innovation Fellowship is designed to promote technology-based career opportunities for NYC residents in the areas of web development,…

    Job Training and Job Placement

    Many of these programs are completely free. Some take a percentage of your salary if it meets a certain threshold (e.g. $60k or more).

    • The Knowledge House Innovation Fellowship is designed to promote technology-based career opportunities for NYC residents in the areas of web development, data science, and design. The fellowships will serve New Yorkers from diverse backgrounds, some with little to no formal post-secondary education or tech experience, and turn them into entry-level programmers.
    • Per Scholas was founded more than 20 years ago with a mission to open doors to transformative technology careers for individuals from often overlooked communities. They offer short programs, certifications, and job placement.
    • Apprentice NYC (from NYC.gov)  is a paid, full-time apprenticeship opportunity that provides classroom-based technical training and on-the-job training that helps New York City jobseekers develop in-demand skills in a long-term occupation with high growth potential. The computer numerically controlled (CNC) machinist track of the program provides 10 weeks of classroom training and 62 weeks of on-the-job training with employers in the advanced manufacturing sector. Makerspace.nyc is one of the training centers for this program.
    • Pursuit.org trains adults with the most need and potential to get their first tech jobs, advance in their careers, and become the next generation of leaders in tech. Their training and job placement programs are FREE but they do take “12% of future income for 3 years upon getting a tech job above $60,000.”
    • Fedcap.org offers a number of vocational training programs: Computer Service Technician, Custodial Training, Security Operations, and more.
    • Yearup.org “enables young adults to move from minimum wage tomeaningful careers in just one year .”
    • NPower is “Creating pathways to economic prosperity by launching digital careers for military veterans and young adults from underserved communities.”
    • Civic Hall offers digital skills workshops, payment is based on a sliding scale. They will also offer additional workforce development education through their planned expanded space in Union Square.

    Additional NYU Resources for learning outside of class

    + ,
  • Summer 2019Prof. Arlene Ducao, arlduc [at] nyu.eduWednesdays, 12:15-3:15 PMWallkill State Correctional Facility Overview This course will prepare students to write basic software and web pages, and it will introduce a full foundation of computer science and design coding concepts that can be applied to many kinds of technical projects. Students…

    Summer 2019
    Prof. Arlene Ducao, arlduc [at] nyu.edu
    Wednesdays, 12:15-3:15 PM
    Wallkill State Correctional Facility

    Overview

    This course will prepare students to write basic software and web pages, and it will introduce a full foundation of computer science and design coding concepts that can be applied to many kinds of technical projects. Students will be exposed to Python, HTML, CSS, and the Unix operating system. This course will take place in the computer lab, so concepts will be demonstrated and discussed through hands-on computer exercises and assignments. Concepts include data types, data structures, syntax, tags, elements, attributes, functions, variables, expressions, inheritance, statements, and version control. 

    Learning Goals

    1. Learn basic computer science concepts, including data types, non-decimal numeric systems, data structures, input and output, conditions, and iteration.
    2. Work with an IDE (integrated development environment).
    3. Write basic back-end functionality with Python.
    4. Write basic front-end styles with HTML and CSS.
    5. Learn best practices for writing code that other people can read.

    Schedule

    This is an approximate schedule. It is subject to change based on the general work pace of the computers and the students.

    1. Introduction & Best Practices
    1. Introduction and Best Practices
      • Python: The Way of the Program
      • HTML/CSS: Structure
      • Other: PyCharm, Notepad, Explorer. Non-decimal numerical systems (binary and hex), Boolean logic, data types.
    2. Introduction Continued
      • Python: Variables, Expressions, Statements
      • HTML/CSS: Text
    3. Writing Programs and Building Structure
      • Python: Functions
      • HTML/CSS: Lists
    4. Case Studies: Designs
      • Python: Case Study: Interface Design
      • HTML/CSS: Links
    5. More Structure
      • Python: Conditionals and Recursion
      • HTML/CSS: Images
    6. Input and Output
      • Python: Fruitful Functions
      • HTML/CSS: Tables
    7. Looping Forward
      • Python: Iteration
      • HTML/CSS: Forms
    8. Strings and Styles
      • Python: Strings
      • HTML/CSS: Extra Markup
    9. Case Study and Cascading Styles
      • Python: Case Study: Word Play
      • HTML/CSS: Introducing CSS
    10. More Structure and Style
      • Python: Lists
      • HTML/CSS: Color
    11. Data Relationships
      • Python: Dictionaries
      • HTML/CSS: Text
    12. Wrap Up
      • Python: Tuples and Beyond
      • HTML/CSS: Boxes and Beyond

    Course Books

    Grading

    Grades will be based on weekly assignments, which can be started in class. Grades are calculated as follows:

    • 30% Structure: Are all the parts of the program set up?
    • 25% Implementation:  Are all the parts of the program completed?
    • 25% Style: Have you thoughtfully used comments, variable naming, and function naming so as to help make the code understandable? Is your code organized and well indented? Is your code authored by you?
    • 20% Function:Does the program run on the computer properly? NOTE: This part can take the longest, so for the short assignments in this class, I recommend that you draft out the structure, basic implementation, and style first.

    A Short Style Guide

    Based on several Google Style Guides. We will refer to this guide throughout the semester, and I’ll use it for the “Style” component in grading.

    Optimize for the reader, not the writer
    Codebases often have extended lifetimes and more time is spent reading the code than writing it. Choose to optimize for the experience of the average software engineer reading, maintaining, and debugging code rather than the ease of writing said code. For example, when something surprising or unusual is happening in a snippet of code, leaving textual hints for the reader is valuable.

    • PROGRAM STYLE
      • Import all external packages at the beginning of your program, just after any module comments and docstrings and before module globals and constants.
      • Indentations: Be consistent in your indentations. PyCharm should auto-format your code, but I recommend indenting your code blocks with 4 spaces or 1 tab. Never use tabs or mix tabs and spaces, because this will cause an error when you run your code.
      • Maximum line length should generally be 80 characters. Exceptions:
        • Long import statements.
        • URLs, pathnames, or long flags in comments.
      • Generally place only one statement (conditionals and iterations) per line. However, you may put the result of a test on the same line as the test only if the entire statement fits on one line.
      • Functions: Try to keep them short. Long functions are sometimes appropriate, so no hard limit is placed on function length. If a function exceeds about 40 lines, think about whether it can be broken up without harming the structure of the program.

    • NAMING STYLE
      • Function names, variable names, and file names should be descriptive; avoid abbreviation. In particular, do not use abbreviations that are ambiguous or unfamiliar to readers outside your project, and do not abbreviate by deleting letters within a word.
      • Always use a .py filename extension. Never use dashes or hyphens.
      • Do not use single character names except for counters or iterators.
      • Guidelines derived from Google’s Python Recommendations:
    TypeStyle
    Functionslower_with_under()
    Global ConstantsCAPS_WITH_UNDER
    Global Variableslower_with_under
    Local Variableslower_with_under
    • COMMENTING STYLE
      • Add an explanatory comment above every conditional and iterative statement. Example:
        # Iterate through each person in class
        for y in our_cs_class
      • Use docstrings! We will learn about them in class.
      • Add short inline comments to help explain potential surprises. Example:
        print(eggs + chocolate + plantain_chips) #not printing cheese yet

    Academic Honesty

    All work for this class must be your own and specific to this semester. Any work recycled from other classes or from another, non-original source will be rejected with serious implications for the student. Plagiarism, knowingly representing the words or ideas of another as one’s own work in any academic exercise, is absolutely unacceptable. Any student who commits plagiarism must re-do the assignment for a grade no higher than a D. In fact, a D is the highest possible course grade for any student who commits plagiarism.

    + ,
  • WORKSHOP: Computer Code ConceptsThis workshop will introduce basic computer coding concepts that can be applied to a wide range of applications, from web development, to systems administration, to data science. Concepts include data types, data structures, syntax, tags, elements, attributes, functions, variables, expressions, inheritance, statements, and version control. No computers…

    WORKSHOP: Computer Code Concepts
    This workshop will introduce basic computer coding concepts that can be applied to a wide range of applications, from web development, to systems administration, to data science. Concepts include data types, data structures, syntax, tags, elements, attributes, functions, variables, expressions, inheritance, statements, and version control. No computers will be used. And while we will use math today, you don’t need to be fast or even good with math.

    Introductions to Input and Output

    • Introductions: Name, previous experience, goals/interests for today.
    • I/O Diagramming 1
      • Person Exercise: what’s a job or position that uses computer code?
      • System Exercise: how do these folks use computer code with each other?
    • I/O Diagramming 2
      • What are the components in the computer lab?
      • Which components input information?
      • Which components output information?

    What is a Program? (From Think Python 2e, Chapter 1.1)

    program is a sequence of instructions that specifies how to perform a computation. The computation might be something mathematical, such as solving a system of equations or finding the roots of a polynomial, but it can also be a symbolic computation, such as searching and replacing text in a document or something graphical, like processing an image or playing a video. The details look different in different languages, but a few basic instructions appear in just about every language:

    • input: Get data from the keyboard, a file, the network, or some other device.
    • output: Display data on the screen, save it in a file, send it over the network, etc.
    • math: Perform basic mathematical operations like addition and multiplication.
    • conditional execution: Check for certain conditions and run the appropriate code.
    • repetition:Perform some action repeatedly, usually with some variation.

    Believe it or not, that’s pretty much all there is to it. Every program you’ve ever used, no matter how complicated, is made up of instructions that look pretty much like these. So you can think of programming as the process of breaking a large, complex task into smaller and smaller subtasks until the subtasks are simple enough to be performed with one of these basic instructions. Today, we will primarily focus on different aspects of input and output. We will get to the other parts of computer coding over the summer.

    Numbers Beyond the Decimal

    • Discussion: What does data look like when it is transmitted from one device to another?
    • Binary Lesson
    • Hexadecimal Lesson
    • Boolean Lesson (T/F, and/or)
    • Data Types

    Final Discussion

    • Think Python 2e, Chapter 1: Formal vs. Natural Language
    • Why Python: The future of AI. Scientific programming, but also popular and clean programming language. Other languages (like JS) can have many ways to express the same thing; Python usually only has one way to express something. Impressive for your resume.
    • What do you want to get out of a summer class?
    + ,
  • Participating Organizations NYC City Council Center for Employment Opportunities NCTC Collaborative Docs Data Policies: Good Bits Data Policies: Not-So-Good Bits Further Resources Sample dataset Further Resources HIPAA De-Identification Standards Differential Privacy Harvard Differential Privacy Project Dworkin Video: Differential Privacy Video (Mathematical definitions) Dworkin Paper: A Firm Foundation for Private Data…

    + ,
  • Announcements Final Project Brief now posted. Recurse Center Lightning Talk Tomorrow. Further RC questions? Feel free to email Rachel Vincent, rachel @ recurse.com. Wednesday’s class will be at NYU MAIN CAMPUS: NYU LGBTQ Student Center Lounge, 60 Washington Square South Room 602. I will email you my mobile phone number…

    Announcements

    Agenda

    Assignments

    • REQUIRED Blog post, due Wednesday 4/17: Finish your first interview and post the summary, transcript, and/or any other documentation of the interview. Use your group’s Human-Centered Plan and the abridged Field Guide to Human-Centered Design to guide you in this process.
    • Blog post, due Wednesday 4/17: Please review NYU’s One Zone pages. We will have a two mini-Zone sessions: a Safe Zone and a Faith Zone which were chosen based on availability and gaps in your instructor’s own knowledge. These sessions will not be focused on technology, so please devise one or two questions that will help us to think about LGBTQ+tech and/or Faith+tech.

    +
  • In order of presentation on December 13. Thanks for a great semester of projects! CSforAll, Group 1: Member Orgs by Richelle Newby and Emilie Shen     CSforAll, Group 2: Commitments by Nicole Song and Evelyn Xu     MIT CREATE: Market Vendors in Durban, South Africa by Steven Yoo and Zhenwen Zhang      Associated Press + Multimer: Immersive…

    In order of presentation on December 13. Thanks for a great semester of projects!

    CSforAll, Group 1: Member Orgs

    by Richelle Newby and Emilie Shen

       

    CSforAll, Group 2: Commitments

    by Nicole Song and Evelyn Xu

       

    MIT CREATE: Market Vendors in Durban, South Africa

    by Steven Yoo and Zhenwen Zhang

        

    Associated Press + Multimer: Immersive Reality Study

    by Simin Gu

         

    BrainPOP: DonorsChoose Data Vis

    by Chian Huang and Yan Huang

        

    Extra Credit Group Project: NYU Activism 2017

    by Richelle Newby, Nicole Song, Evelyn Xu, and Zhenwen Zhang

         

    Extra Credit Group Project: Boston Housing Authority

    Thanks for a great semester of projects!
    +
  •  CSforAll, Group 1: Member Orgs CSforAll, Group 2: Commitments MIT CREATE Multimer / Associated Press BrainPOP  Extra Credit Group Project: NYU Activism 2017 Extra Credit Group Project: Boston Housing Authority 2007.08 (Arlene, demo map) 2008 (Evelyn) 2009 (Evelyn) 2010 (Steven) 2011.01 – 2011.06 (Zhenwen) 2011.07 – 2011.12 (Zhenwen) 2012 (Simin) 2013 (Simin) 2015 (Richelle) 2016_01 (Emilie,…

     CSforAll, Group 1: Member Orgs

    CSforAll, Group 2: Commitments

    MIT CREATE

    Multimer / Associated Press

    BrainPOP 

    Extra Credit Group Project: NYU Activism 2017

    Extra Credit Group Project: Boston Housing Authority

    + ,
  • Announcements The Extra Credit Post has been corrected with the right ESRI Map link. Spring 2019 Research Assistant Posting:  The Artist Archive Initiative at NYU seeks a graduate student Research Assistant for the Spring of 2019. The student will perform research on the artist Joan Jonas to develop information regarding curating and conserving her…

    Announcements

    1. The Extra Credit Post has been corrected with the right ESRI Map link.
    2. Spring 2019 Research Assistant Posting:  The Artist Archive Initiative at NYU seeks a graduate student Research Assistant for the Spring of 2019. The student will perform research on the artist Joan Jonas to develop information regarding curating and conserving her work. We are looking for a motivated graduate student who is interested in questions surrounding the disposition of contemporary art in museum collections. Experience with archival research, museum work, and the work of artist Joan Jonas is preferred. The student will work independently and hold weekly meetings with project advisors. Terms: late January – May, 85 Hours @ $20/ Hr (schedule to be arranged with successful applicant). Applicants must be enrolled in a humanities graduate program at New York University. Please send brief statement of research interests, curriculum vitae and a writing sample along with any questions to Glenn Wharton <glenn.wharton@nyu.edu> by December 18, 2018.

    Agenda

    • Course Evaluation Time: Search for “DIGITAL MEDIA SPECIAL TOPICS – DATA VISUALIZATION FOR THE COM” in your email to find the URL.
    • Brief Check-in
    • Planning for next week:
      • Any food allergies? I will bring dumplings and other food.
      • Please remind your community partner; I will also send them a calendar invite that includes a hangout link.
      • CSforAll will go first, due to community partner requests.
    • Work Time & 1-on-1s with Prof A
    • Schedule for Next Week:
      • 3:30 – 3:40 Introductions and Dumplings
        3:40 – 4:05: CSforAll, Group 1
        4:05 – 4:30: CSforAll, Group 2
        4:30 – 4:55: MIT CREATE
        4:55 – 5:20: Multimer / Associated Press
        5:20 – 5:45: BrainPOP
        5:45 – 6:00 Extra Credit Projects: NYU Activism 2017; Boston Housing Authority
        6:00 – 6:20: Final Remarks and More Dumplings
    • Some Thoughts to Consider as You Wrap Up

    Next Week’s Assignments

    1. Be prepared to give a 10-17 minute final presentation next week in which you summarize and/or show
      • the community partner and your interest in the work
      • research questions that the data is meant to answer
      • iterations of your visualization(s), leading to a demonstration of the final visualization(s)
      • challenges you encountered
      • conclusions and answers to research questions
      • next steps (if this visualization development was to continue)
    2. Finish Project 3, revise the Phase 2 paper, and link to these on your blog. The Project 3 sample grade sheet is here. Note: I will check that these links are online next Thursday during class, but you have until December 17 to continue revising your project. Grades will be submitted on December 18.
    3. To ensure a strong grade, also consider:
      • Checking that you have at least 9 weekly posts for the class (not including your Phase 1, 2, and 3 project posts). To ensure that I count each post properly, considering labeling and numbering the weekly posts very clearly, e.g. “Weekly Post #8: My Interesting Thoughts.”
      • Creating a polished web page for your Phase 3 project–something your community partner could use for their evaluation and presentation of your data visualization. (In the case of CSforALL, 1 page for both projects would probably make more sense.)
      • Consider the Extra Credit Assignments. Please let me know if you do this so I can make sure you’re not doing work that overlaps with the work of other students.
    + ,
  • Two Extra Credit Opportunities (will give you up to 5 extra points on your final grade) Successful completion of each opportunity will give you 2.5 extra credit points on your final grade–so completing both will give you almost half a letter grade! Please email me if you start working on…

    Two Extra Credit Opportunities

    (will give you up to 5 extra points on your final grade)

    Successful completion of each opportunity will give you 2.5 extra credit points on your final grade–so completing both will give you almost half a letter grade! Please email me if you start working on either of these.

    1. Create a CARTO Map of 1 or more year(s) of Boston Housing Authority data. (Here’s an example I set up using August 2007 data, but you can certainly do better!)
    2. Contribute at least 5 photos or 2 videos to the Story Map of Marina Hasspopoulou’s data.
    + ,