Computer Science for All Through Inclusive Hosted by

Computer Science for All Through Inclusive Hosted by the DIAGRAM Center Design March 15, 2017 Todays Presenters Richard Ladner Sina Bahram Andreas Stefik University Of Washington Prime Access Consulting University of Nevada, Las Vegas 2 Computer Science For All Initiative In the coming years, we should build on that

progress, by offering every student the hands-on computer science and math classes that make them job-ready on day one. President Obama in his 2016 State of the Union Address 3 STEM Career Outlook 4 Major Efforts Exploring Computer Science AP Computer Science Principles AP Computer Science A

Bootstrap 5 Major Organizations National Science Foundation Computer Science Teachers Association K-12 Computer Science Framework 6 CSforAll Consortium (220 Members) AccessCSforAll

Bringing AP CSP to Students with Learning Differences Deaf Kids Code 7 Founded 2014 Richard E. Ladner, PI Andreas Stefik, PI Sheryl Burgstahler, Co-PI and Director Founded 2014 8 AccessCSforAll Goal Increase the participation and success of students with disabilities in K-12 Computer Science 9 AccessCSforAll Strategies Capacity Building Tool and Curriculum Development

10 Things to Consider When Thinking About Programming and Accessibility 1. Existing solutions for different user groups 2. What are the problem areas? 3. Incorporating inclusive design into programming technologies 11 Existing Solutions for Different User Groups Blind: Use of screenreaders Sometimes accompanied by a braille display (however, speed is a factor) Low vision:

Text enlargement/zoom Physical impairment: Sticky keys, one-handed keyboards, eye-tracking, voicebased programming 12 Problems with Existing Accessible Solutions Many bespoke solutions Awareness of existing solutions is low Educational resources and those on the web are not necessarily accessible Mainly its power users that end up succeeding Even when things work, they arent great for(int i=0; i<10; i++) { for, left paren, int i equals zero, semicolon, i less than 10, semicolon, i plus plus, right paren, open brace 13 Problems with Current Inaccessible Solutions

Programming environments are complex (most rely upon the use of an integrated development environment [IDE]) 14 Problems with Current Inaccessible Solutions Block-level languages 15 How We Can Make Things Better Weaving inclusive design into programming technologies themselves This is not only a tooling problem but the inputs, outputs, and the surrounding educational and professional resources need to be born accessible

16 Why Does This Matter? Persons with disabilities need to be part of the solution creation process, not just recipients of benevolent works By facilitating access to computer science education, students with disabilities are given the tools they need to create the assistive technologies of the future Institutional inertia matters a lot! We can easily lose an entire generations representation in computer science if we dont find solutions to these problems 17 Quorum Started in 2009 as a Language for the Blind Until 2012, the language was used exclusively by this community As Quorum was born accessible,

we conducted extensive testing with this user community Under an NSF grant, CNS- 0940521, many schools for the blind started teaching Quorum 18 Sina Bahram White House Champion of Change Prime Access Consulting Quorum and all supporting materials are free for all On Quorum, we have available: The language itself (BSD Software License) A Standard Library (BSD Software License) Tutorials and Documentation (Creative Commons) Lessons for students to learn (Creative Commons) Materials are vetted by a curriculum committee of professional teachers with expertise in education and accessibility

Curriculum follows a series of tracks in gaming, LEGO robots, and a variety of other computer science topics 19 Experience Programming in Quorum (EPIQ) Appeared By 2016, about half of the schools using Quorum are in general education about 2,500 students Quorum expanded significantly Extensive multimedia libraries Extensive teacher created documentation was developed Easy text-to-speech with the say command 20 EPIQ 2015 What does Quorum Support in

Practice? Key Key Point: Point: Extensive Multimedia libraries We support 2D and 3D game multimedia designs (sound + graphics) Extensive technical backend (e.g., openGL, openAL, hardware acceleration) Embedded Physics (Quorum 5) Quorum Quorum provides provides extensive extensive commercial commercial strength strength and and powerful powerful support, support, but but is is

extensively extensively vetted vetted for for ease ease of using precise and of using precise and replicable replicable methods. methods. Multi-Platform Support Windows and Mac OS X Run in a Browser, including games, in Quorum 5 (June) Can compile to iPhone in Quorum 4 (Android in Quorum 6 - 2018) Extensive Additional Support

Libraries for music, LEGO (accessibly), math, and many other features Support in NetBeans, on the web, and in the console 21 Quorum Quorum is is likely likely not not for for the the very very young young (e.g., (e.g., those those that that cannot cannot read), read), but but is is used used extensively

extensively by by middle middle and and In Quorum, we try to make hard things easier Consider an example: writing a 3D audio system One way we might do that is to use a library called OpenAL in C++ Some features of OpenAL include: 3D positional audio Distance attenuation Simulation of Doppler Effect As many features in Quorum are very advanced, they are generally not available in educational tools (e.g., Scratch) 22 Loading and Using Sounds in OpenAL/C++ is Hard alListenerfv(AL_POSITION, listenerPosition); alListenerfv(AL_VELOCITY, listenerVelocity); alListenerfv(AL_ORIENTATION, listenerOrientation);

alutLoadWAVFile(MySound.wav", &format, &data, &size, &frequency, &loop); alGenBuffers(NUM_BUFFERS, buffer); alBufferData(buffer[0], format, data, size, frequency); alGenSources(NUM_SOURCES, source); alSourcefv(source[0], AL_POSITION, source0Position); alSourcefv(source[0], AL_VELOCITY, source0Velocity); alSourcefv(source[0], AL_ORIENTATION, source0Orientation); alSourcei(source[0], AL_BUFFER, buffer[0]); alSourcePlay(source[0]); Understanding Understanding OpenAL OpenAL requires requires knowledge knowledge of of Linear Linear Algebra Algebra Naming Naming conventions conventions make make very very little little sense sense

23 Moving Moving to to other other platforms platforms is is Quorum does the same thing, but removes complexity where possible Imagine making a sound source in 3D space with Quorum The code on the right: Loads a sound file Prepares the sound for looping

Sets a sounds position in 3D space Plays the sound use use Libraries.Sound.Audio Libraries.Sound.Audio Audio Audio birds birds birds:Load(Birds.wav) birds:Load(Birds.wav) birds:EnableLooping() birds:EnableLooping() birds:SetPosition(0.6, birds:SetPosition(0.6, 0.9, 0.9, -0.2) -0.2) birds:Play() birds:Play() 24 We use the Scientific Method for Improving Usability

Trying to improve usability for blind programmers brought up nagging questions Innocently, we tried to look up all the human factors data on languages Except, we found something unexpected The The Programming Programming Language Language Community Community was was not not gathering gathering evidence evidence Proofs? Proofs? Performance

Performance Data? Data? Human Human Factors Factors Data? Data? 25 Quick Detour on the history of evidence gathering regarding human A Quick Primer on the History of Evidence Gathering on Humans For more information, consider reading: Kaptchuk, Ted. Intentional Ignorance: A History of Blind Assessment and Placebo Controls in Medicine. Bulletin of the History of Medicine, 72.3 (1998) 389 433. http:// tchuk_IntentIgnor_BulHisMed1998.pdf And the book on the right -------- S

Human Factors Experiments Detect Quackery and Fraud* Louis the XVI formed a commission to evaluate Mesmerism (animal magnetism): Whether the methods analyzed had real force Explicitly excluded non-physical arguments Led by Benjamin Franklin How do we know if it is a real force? Use sham treatments Scientists already had the answer, yet the medical community debated whether the experiments were good enough for nearly a century 27 * Quackery means an individual believes something thoroughly refuted by the evidence. Fraud means intentional

The Nuremburg salt test of 1835 Evaluated Homeopathy Friedrich Wilhelm von Hoven, a doctor in the period, considered the technique to be dangerous and probably fraud The salt test was very close to a modern randomized controlled trial (without stats) Many other investigations have taken place, including early ones like: Armand Trousseau (1801 - 1867) and his students using bread pills (Placebo, 1834, negative result) Other double blind trials in 1879-80 (Milwaukee Academy of Medicine inconclusive result) 28 Bradford-Hills Precision and Coherence were Seminal

By 1935, Fisher coined his famous work, the Design of Experiments. Randomization was controversial at the time Journal of AMA wrote in 1955, that treatments should be [kept] in the hands of the general practitioner and not [be] on the basis of experiments (corrections Kaptchuks) By the 1940s, the veterans administration began using Fishers ideas more formally The first actual randomized controlled trial was done by Austin Bradford Hill (1897 1991)

Bradford-Hill caused a paradigm shift in his field, with the number of RCTs increasing by approximately 11.2%/year since in it (110,485 between 1990 2001) By the mid-1990s, and today, this has culminated into the CONSORT standard of evidence 29 Key Observation: Scientists over time have increased their evidence standards to avoid bias, fraud, and other issues, settling on Randomized Controlled Trials as the gold standard. These studies, along with field work, provides us more precise methods and helps us identify quackery and fraud. S There was (nearly) no evidence language designers were using anecdotes Only 22 Randomized controls trials from the 1950s to 2012! Kaijanaho, A.-J., Evidence-Based Programming Language Design: A Philosophical and 31 Methodological Exploration. PhD Diss., Information Technology Faculty, University of Jyvskyl, So we* created Evidence-Oriented

Programming This new paradigm has several unique attributes: Design features of a language must have corresponding evidence from appropriately constructed Randomized Controlled Trials The language authors must allow the external community to suggest changes according to the scientific method, inspired by lessons from history Evidence from other techniques (e.g., software repository mining, educational data) if gathered from humans and rigorous is allowed Quorum has fixed development and evidence gathering schedules 32 *By we I especially include Stefan Hanenberg (A German scholar that independently came to the same conclusions Lets discuss how we choose our syntax/semantics Approach: Start with Approach: Start with surveys

surveys to to get get aa big big picture picture view view of of the the alternative alternative choices choices in in the the language. language. Writing a program with a loop in Java vs. Quorum: for (int i = 0; i < 10; i++) { System.out.println(Hello, World); } Core Core Syntax Syntax and and Semantics Semantics

is is always always surveyed surveyed before before going going into into Quorum. Quorum. repeat 10 times output Hello, World end 33 Knowing the history, we sometimes use Sham Treatments Result: Result: Novices Novices can can use use the the programming

languages programming languages Java Java and and Perl Perl no no better better than than aa language generated language generated randomly randomly from from the the ASCII ASCII table. table. We extensively observe people programming Use sham treatments (placebo languages)

Test people across the spectrum (e.g., young, old, experienced, novice) Use a statistical procedure to determine which tokens or combinations of tokens cause an impact This is called Token Accuracy Mapping The technique comes from reading DNA sequences 34 Sham treatments and Sham treatments

and randomized randomized controlled controlled trials trials provide provide us us aa way way to to precisely evaluate precisely evaluate observations, observations, as as historical historical lessons lessons say say should should be be the the

Ruby 1 2 3 Tasks

4 Randomo Quorum Python Perl

1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4

0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 Java Accuracy Token Accuracy Maps Provide Clues about Syntax Design* 5 6 Token Accuracy Maps tell us which tokens cause problems 35Case Study (at Google) Hyunmin Seo, Caitlin Sadowski, * This does not just mean novices: Programmers' Build Errors: A Sebastian Elbaum, Edward Aftandilian, and Robert Bowdidge, Hong Kong University of Science and Technology, China; Google, Lets look at an action in Quorum

Assignment not allowed. RCTs suggest this matters Needs More Research action GetClassesSortedInPackage(text packageKey) returns Array HashTable pack = packages:GetValue(packageKey) if pack = undefined return undefined We allow limited Generics end Array sorted guided by Hanenberg PascalCase Iterator cl = pack:GetValueIterator() and Parnins research , not repeat while cl:HasNext() Class next = cl:Next() Under_Sco sorted:Add(next) re end Bind points need types, sorted:Sort() return sorted but some inference on the end inside of actions is allowed.

Use words/symbols No one knows how much 36 derived from surveys/TAMs inference should be allowe Getting involved: Join the Quorum Mailing List: https:// /forum/#!forum/quorum-language Post on the Quorum Facebook page: quorumlanguage Write a game and post it on Github or Bitbucket

Use Quorum for a computer science course Gather precise evidence and help improve language designs for everyone If you are interested in language designs based on evidence, check out the Quorum project: Please feel free to get in touch on build games, tell us what you think, or help us make things better! 37 Thank you for Listening! Page 38

Recently Viewed Presentations

  • Kathleen Stassen Berger The Developing Person Through the

    Kathleen Stassen Berger The Developing Person Through the

    PowerPoint Presentation Author: IT Department Created Date: 7/18/2007 9:22:34 PM ... 7_Blank Presentation 8_Blank Presentation 9_Blank Presentation 10_Blank Presentation 11_Blank Presentation Slide 1 Slide 2 Slide 3 Brain Development Slide 5 Slide 6 Slide 7 Senses and Motor Skills Slide...
  • Principles of Surgical Oncology

    Principles of Surgical Oncology

    transcoelomic . through the peritoneal cavity. Grading of the tumor: Is based on the histological examination of . the degree of differentiation of the tumor cells & mitotic index (well, moderatelyor poorly differentiated) Staging of the tumor: Is an estimation...


    Chapter 11, part C The Prokaryotes: Domains Bacteria and Archaea * * * * * * * The (delta) Proteobacteria Delta Proteobacteria include the genera Myxococcus and Bdellovibrio which prey on other bacteria and Desulfovibrio which are dissimilatory sulfur reducers.
  • Neuroscience - University of Washington

    Neuroscience - University of Washington

    Psychology is the study of human thought and behavior, and the application of the gained knowledge. Areas of Study: Basic Research: Tries to acquire knowledge. Includes neuroscience, developmental, social, cognitive, and personality psychology. Applied Psychology: Uses acquired knowledge. Includes clinical...
  • Review of the Procedures for Assessing the Decommissioning ...

    Review of the Procedures for Assessing the Decommissioning ...

    Minister's Presentation: Select Committee on Education and Recreation BUDGET VOTE: 12 AND SUMMARY OF THE STRATEGIC PLAN 2009/10-2011/12 Themba P. Wakashe
  • The Dreamtime

    The Dreamtime

    Aboriginal Creation Myths is not the actual time to dream is also known as the Creation Time or The Dreaming is the basic draft for the aboriginal mythology is a different concept of time is indefinetly started the Dreamtime when...
  • Nuestra Señora del Buen Suceso - Mariologia Maria Virgen ...

    Nuestra Señora del Buen Suceso - Mariologia Maria Virgen ...

    Padre Manuel Sousa Pereira, de la Orden Seráfica de los Menores del Convento de San Francisco de Quito. ... Habrá un ambiente envenenado de impureza que reinará, que a manera de un mar inmundo correrá por calles, plazas y sitios...
  • Fashion in the 1920s

    Fashion in the 1920s

    WRDSB Other titles: Arial Calibri Constantia Wingdings 2 Wingdings Flow 1_Flow 2_Flow 3_Flow Fashion in the 1920s Who influenced fashion? What was the prominent silhouette? What were the fashion trends? Continued What colours were popular? What textiles were used?