Tutorial 2

In this tutorial I am going to show how I break down a large project into smaller, more manageable parts. I’m going to go over some fundamentals of coding, such as arrays, booleans, and analog vs. digital. This will be in the context of creating a project with arduino and processing.

Topics:
Working with photoresistors & LEDs – wiring and code
Analog and digital
Boolean
If else
Arduino and processing interactions
2d Arrays
For loops
Functions

Materials:
1 red led
1 green LED
2 photoresistors
Arduino, breadboard, wires
Optional: white paper, scissors, small box, male to female wires, pen/marker

I set up my arduino sensors as a model for a display. I took a small cardboard box, cut two holes in it and put white paper under those holes (above each photoresistor). I also cut small holes to slide the wires of the LEDs through so that they would stay on top of the display. I used male to female wires to connect the sensors to the breadboard (soldering is an alternative). If this kind of display is used, the two options should also be labeled as “a” and “b.”

PART ONE: Arduino

With the setup of the sensors, I start by googling images for the sensor setup.

 

 

 

 

 

 

 

 

I tested the setup with this example code (changing the pin numbers):

http://playground.arduino.cc/Learning/PhotoResistor

Once that is working, following the basic setup of these sensors, add another LED and another photoresistor. I have my LEDs connected to pin 9 and 10, and photoresistors to A0 and A1.

CODE:

PART TWO: Processing

More about 2D Arrays: https://processing.org/tutorials/2darray/

CODE:

PART Three: Communication

Follow the shaking hands part of this tutorial: https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing#shaking-hands-part-1

Make sure to change the 4 in “myPort = new Serial(this, Serial.list()[4], 9600)” to whatever port you’re using (try 0 and 1).

Save the processing file folder inside the arduino file folder.

ARDUINO CODE:

PROCESSING CODE:

 

Please fill out this survey:

https://umaine.qualtrics.com/jfe/form/SV_8bLUFfHM9EuxJ77

COCO: Coders Collaborative

Coders Collaborative
Women Helping Women

My Honors thesis will be a creative thesis that works in combination with my New Media capstone. The goal of the capstone is to address the retention of women in fields like computer science, and create an online community and series of projects that encourages women to learn coding. Emphasis will be put on real-word applications and social impacts of code. The technology field needs women, and college-age women need a source of support and an engaging way to learn. The thesis will include a paper that summarizes my research and findings, and addresses why this issue is important.

My capstone aims to stop women dropping out of computing fields by creating a sense of community. The key components of community that I am targeting are peer support and shared experience. My goal is to foster interest in computing and confidence in students’ ability to code.

Strategies:

Peer Support:

Connect women to female peers through social media, groups like ACM-W, and COCO stickers to show they are part of the “women helping women” network.

Connect to scholarships and opportunities.

Shared Experience:

Create videos to illustrate the common experiences women go through while in computing fields, such as feelings of isolation.

Confidence:

Create tutorials based on interests of women (for example, “computing that matters”). Connect to learning resources.

Interest:

Show what you can do with coding – careers, projects, etc.

Product:

  • videos
  • stickers
  • tutorials
  • list of resources (scholarships, tutorials, etc.)
  • Facebook group
  • website

Thesis Proposal

Abstract

“In the last two decades, the proportion of women earning bachelor’s degrees in computer sciences has declined from 28% to 18% (NSF/NCSES 2015c), even though the proportion of freshmen women declaring a computer sciences major when first enrolled in a 4-year institution has remained stable (at about 20% in recent years)” (NSF, Retention of Women in Computer Science). The intention of this capstone is to discover why this is, and to provide a solution. This project will cover both a New Media capstone and an Honors thesis. It will be comprised of a substantial amount of research, taken both from professional studies on the subject and the experience of women in the field, a thesis paper, and a project. The thesis paper will discuss the problem, why it exists and how it can be addressed, while the project will provide a part of the solution. The project will be in the form of a website that will provide education and support to women in computer science, aimed at high school and college ages.

 

The Problem

Look at any graph of gender difference in computer science over the past forty years and you’ll see a steady drop in women in the computer science industry since the 1980’s. Steve Henn of NPR (http://www.npr.org/sections/money/2014/10/21/357629765/when-women-stopped-coding) researched when and why women stopped coding, and found it had less to do with anything like a general disinterest, and more to do with a steady push of computers as a “boy’s toy” with the rise of personal computers in American homes. The marketing was so strong, it became a part of the culture. So when women went into college and started a degree in computer science, they were already a step behind, almost like they had missed an introductory class.

A study done by the National Science Foundation called Retention of Women in Computer Science shows a significant drop in the women earning bachelor’s degrees in computer science over the last twenty years, despite similar numbers of women initially going into the field. This study concluded several factors affected this retention rate, the most important being a lack of same-sex peer support to rely on. Some successful strategies universities used to increase the rate of retention of female students were “expanding the required first-year computer science courses to include social impacts of computer science and creative, real-world applications; providing summer research opportunities for women after their first year; and increasing the number of women computer science faculty members” (nsf.gov/statistics/2016/nsb20161/#/report/chapter-2/undergraduate-education-enrollment-and-degrees-in-the-united-states, sidebar).

One of the big issues that affects the wage gap is flexibility with work hours. Careers often reward those who can work the traditional nine to five in an office. As women start to have children, they tend to reach a plateau in increases in wage and promotions. The technology field is one that has the freedom to provide flexibility in work hours and location, and reward based on work quality rather than how often an employer sees an employee. These qualities in a career can make it easier for women to achieve a healthy work and home life (www.computerscience.org/resources/women-in-computer-science).

Other Solutions

There is a lot of outreach toward younger women and girls to encourage them to consider STEM fields. Goldieblox is a toy company that targets young girls to show them that engineering is not just a boy’s activity. The company focuses on the problem of the gender gap, and tries to get girls into engineering young so they can develop important spacial skills. It has expanded to some coding apps. The website contains four sections: the shop, an about page that talks about why the company was started and why it’s important for girls to learn this, a blog that spotlights real female engineers, and a place for the girl users to learn more about the toys and the characters (www.goldieblox.com).

Girls who Code is a program that reaches out to girls to get them coding early. It is a “national non-profit organization dedicated to closing the gender gap in technology” (girlswhocode.com). They provide club programs to 6th-12th grade girls, and summer programs to 10th and 11th grade girls. Iridescent is another program that does outreach toward middle and high school age girls (iridescentlearning.org). They have a couple programs that get girls working with professionals and within their community.

There aren’t a lot of programs that support women in college to encourage retention. Generally the goal is to get girls programming before they start college rather than after. A problem with this is that it is difficult to enter a college major where a support system for women doesn’t already exist.

My Solution

My solution is to create a website that provides a place for women in high school and college to learn some of the fundamentals of coding in a way that is interesting and engaging to them, see interviews or the work of real women in the field who graduated with computer science degrees, and get support in a friendly environment. The Retention of Women in Computer Science study showed that strategies that worked for female retention in computer science included showing the “social impacts of computer science and creative, real-world applications.” The learning portion of the website would engage women in these ways and show a practical and tangible use for coding. The section of the website that showed women in the field would show women in different technology jobs, so that young women could start to actually see the kind of job they might want to have after graduating. The “support” section of the website would have women to answer questions of users related to coding or the field in general.

Tasks

  1. Research
    • Other existing solutions
    • Successful retention strategies
    • Support systems was college women in cs
    • Talk to real women in the major and field
    • Important/relevant topics to teach in the “learning” section
    • History of the issue/why this is a problem
    • Connections to the wage gap
  2. Honors Thesis Paper
    • Submit thesis proposal
    • Complete thesis form 1
    • Create committee
    • Write outline
    • Develop list of sources
    • First draft (second, etc.)
    • Final draft
    • Reading list
    • Defense
  3. New Media Capstone
    • Set up Drupal site
    • Design website pages with Sketch
    • Design Logo with Illustrator (and any other graphics)
    • Create content for the home page
    • Theme home page
    • Create “support page”/blog
    • Theme “support page”/blog
    • Create blog entries
    • Create content for the about page from research
    • Create graphics for the about page with illustrator
    • Create and theme about page
    • Create “learning” section
      • Outline what should be taught/how
      • Research applicable js modules
      • Program with js and jquery
      • Theme
      • Test
      • User Test
    • Test site
    • User test site

 

Needs

Honors Committee

Women to talk to in the field

Users

Web host and Domain

Creative Cloud (Illustrator)