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.
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 Fellowshipis 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.
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.”
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
Learn basic computer science concepts, including data types, non-decimal numeric systems, data structures, input and output, conditions, and iteration.
Work with an IDE (integrated development environment).
Write basic back-end functionality with Python.
Write basic front-end styles with HTML and CSS.
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.
Introduction & Best Practices
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.
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:
Type
Style
Functions
lower_with_under()
Global Constants
CAPS_WITH_UNDER
Global Variables
lower_with_under
Local Variables
lower_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)
A 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.
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…
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 in case you have issues finding the location. You will have a longer (25-minute) grace period for lateness on field trip days.
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!
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…
Spring 2019 Research Assistant Posting: The Artist Archive Initiativeat 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
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)
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.
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.
So that everyone works on a different year, here are the years divvied up per person:
2008: Evelyn
2009: Evelyn
2010: Steven
2011: Zhenwen
2012: Simin
2013: Simin
2014: Yan
2015: Richelle
2016: Emilie
2017: Simin
2018: Simin
Contribute at least 5 photos or 2 videos to the Story Map of Marina Hasspopoulou’s data.
Use the coordinates listed in this spreadsheet. Please type your name in the “Student Column” to claim a photo/video/audio once you have added it to the map. If the media is not listed in this spreadsheet, PLEASE ADD IT.