Glitch Game Testers: the Design and Study of A

Total Page:16

File Type:pdf, Size:1020Kb

Glitch Game Testers: the Design and Study of A GLITCH GAME TESTERS: THE DESIGN AND STUDY OF A LEARNING ENVIRONMENT FOR COMPUTATIONAL PRODUCTION WITH YOUNG AFRICAN AMERICAN MALES A Dissertation Presented to The Academic Faculty by Elizabeth (Betsy) DiSalvo In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in Human-Centered Computing in the School of Interactive Computing, College of Computing Georgia Institute of Technology May, 2012 COPYRIGHT 2012 BY ELIZABETH DISALVO GLITCH GAME TESTERS: THE DESIGN AND STUDY OF A LEARNING ENVIRONMENT FOR COMPUTATIONAL PRODUCTION WITH YOUNG AFRICAN AMERICAN MALES Approved by: Dr. Amy Bruckman, Advisor Dr. Janet Kolodner School of Interactive Computing School of Interactive Computing Georgia Institute of Technology Georgia Institute of Technology Dr. Kevin Crowley Dr. Lisa Nakamura School of Education & Learning Research Asian American Studies & and Development Center Institute of Communications University of Pittsburgh University of Illinois, Urbana Champaign Dr. Mark Guzdial Dr. Willie Pearson Jr. School of Interactive Computing School of History, Technology & Georgia Institute of Technology Society Georgia Institute of Technology Date Approved: Feb. 22, 2012 To the Glitch Guys: Atari, BallBoy, Beast, BigDawg, bkaVontenn, Book2010, burnout, capoCRUSHNem, Collque, Crybaby, Dr. Who, Grim610, Hero, JayDragon, Joker, KillRoy, King1, lo349, Montana, Primetime, Ringleader, Sandman, Shortstuff, Superman, and ThatDude iii ACKNOWLEDGEMENTS I want to acknowledge the generosity of game testers who were a part of the program described in this document, the Glitch Guys. Thank you for sharing with me and teaching me about being a young black man. There were also other Glitch Guys, African American men who believe in giving back, and gave generously of their time to make Glitch happen. A special thank you to Terris Johnson and Corey Steward who were with me from the beginning. You amaze me with your patience and maturity while I fumbled, learning to think and talking about race and gender. Thanks to Marcus Austin and Dr. Ken Perry for being kind and generous teachers. Thank you Dr. Charles Meadows for not laughing me out of your office when I just showed up at Morehouse one day – your belief in this idea is one reason I pursued it. I must acknowledge Cedric Stallworth, for making Glitch the first squatters on the 3rd floor of the CCB, securing surplus computers, and making sure the administration let us do our thing. Thank you Asante Bradford, for getting us clients and helping us sell this idea in the real world. I also want to thank my committee members. Dr Kevin Crowley for giving me the freedom and resources to learn so much at Pitt. Without your encouragement I would have never pursued a PhD. To Dr. Willie Pearson and Dr. Lisa Nakamura, our talks and your work have shaped my understanding of race, media, science and technology and given me the opportunity to reflect on my own whiteness, gaining a better understanding of myself. To Dr. Janet Kolodner and Dr. Mark Guzdial, you have taught me the fundamentals of learning sciences and computer science education. Thank you for the iv frameworks to build my research career. Finally, I would like to thank my advisor Dr. Amy Bruckman. There are many things I can thank Amy for, but particularly I would like to acknowledge her for both encouraging me to work outside of established paradigms and expecting excellence from me. I hope that I have learned from you how to bring out the best in students. To the members of the Electronic Learning Communities Lab, Jill Dimond, Sarita Yardi, Kurt Luther, Jose Zagal, Casey Fiesler, and Andrea Forte, I am sure that I owe you a beer or two. To the other PhD students who helped me in many ways (but mostly to pass HCC2), thank you all and particularly Ben, Brian and Brian, Carrie, Chris, Christina, Evan, Ja-Young, Kim, Lana, Mike, Tammy, TJ, and Yan. I would like to acknowledge all of the amazing work of Dr. Tom Mcklin and the Findings Group, Ltd as outside evaluators on the Glitch project. I would also like to acknowledge Dr. Karen Head, who went far beyond a writing coach and became my writing therapist. This work was primarily supported by the National Science Foundation (NSF) Broadening Participation in Computing initiative grant 0837733. Support and gifts also came from the Blank Family Foundation, EA Tiburon, Yahoo! and Microsoft Xbox. Finally, I would like to thank Carl, Evy and Josie, for their sacrifices and their love during these years. There is little I can say to acknowledge how much you mean to me, but know that nothing else I have done is equal to being a part of your lives. v TABLE OF CONTENTS Page ACKNOWLEDGEMENTS iv LIST OF TABLES ix LIST OF FIGURES x LIST OF ABBREVIATIONS xi SUMMARY xiii CHAPTER 1 INTRODUCTION 1 Motivation 3 Research Context 10 Research Framing 12 2 RELATED WORK 19 African American Males in Computer Science 20 Leveraging Games for Computer Science Learning 23 Understanding the Non-learner 31 Navigating Around Non-learning 37 Moving Non-learners to Learning 41 3 FORMATIVE AND DESIGN RESEARCH 44 Formative Methods: Location and Context 45 Formative Methods: Data Collection 49 Design Research Methods 51 Formative Findings 55 Design Research Process and Outcomes 62 vi Principles for Design 73 Summary 74 4 DESIGN PRODUCT AND RESEARCH 76 Game Testing Designed as Learning Environment 76 The Context of Glitch 77 5 METHODS: EVALUATION AND FACE SAVING STUDIES 90 Surveys 90 Interviews 95 Face Saving Focus Groups 96 Observations 99 Follow Up with Graduates 99 6 FINDINGS ON COMPUTING AND FACE SAVING 101 Interest, Confidence and Intent with Computing 101 Response to CS Workshop 113 Face Saving 122 Summary 139 7 DISCUSSION 140 RQ1: Cultural Values, Play Practices and Learning 140 RQ2: Design Principles for Motivating Non-learners 143 RQ3: Saving Face While Geeking Out 145 Summary 149 8 CONCLUSION AND FUTURE WORK 151 Implications of Cultural Values on Computational Production 152 Implications for African American Male Learning 154 Implications for Learning Motivation 156 vii Future Work 158 APPENDIX A: Prototype Workshop Survey 162 APPENDIX B: Formative Study Semi-Structured Interview Questions 163 APPENDIX C: Interest in Computing Survey 164 APPENDIX D: Intent to Persist in Computing Survey 172 APPENDIX E: Semi-Structured Pre- and Post-Glitch Interview Questions 177 APPENDIX F: Codebook for Pre- and Post-Glitch Interviews 178 REFERENCES 180 VITA 194 viii LIST OF TABLES Page Table 1.1: Five of the 30 fastest growing occupations in U.S. 2006 – 2016 9 Table 1.2: Outline of Research, Goals, Methods and Questions 18 Table 2.1: Doctorates awarded in CS, 2001-2011 21 Table 3.1: Codebook for Game Practices Study 51 Table 4.1: Glitch Program Activities from 2009-2011 81 Table 4.2: Course Offerings in Schools with Glitch Participants 83 Table 5.1: Codebook for Face Saving Study 98 Table 6.1: Glitch Participants’ Confidence in Computing 103 Table 6.2: Glitch Participants’ Intention to Persist in Computer Science 107 Table 6.3: Glitch Participants’ Interest in Pursuing a Computing Career 108 Table 6.4: Glitch Participants’ Educational Status One Year After Leaving Program 111 Table 6.5: Participants’ Self-Reported Confidence in Performing Task in Alice 114 Table 6.6: Participants’ Self-Reported Knowledge of Computer Science 115 ix LIST OF FIGURES Page Figure 1.1: Computational Participation Spectrum 2 Figure 3.1: Sample CD Covers for the Make-A-Game Activity 64 Figure 3.2: Final Advertisement for the Media Literacy Activity 66 Figure 3.3: Logo Ideas from Participants 67 Figure 3.4: The Glitch Handbook 68 Figure 3.5: Mad Lib Programming GUI 69 Figure 3.6: Participant Testing Cartoon Network’s Game Fusion Fall 71 Figure 4.1: Sample of Weekly Activities in Glitch 79 Figure 5.1: Sample Question from Face Saving Survey 94 Figure 6.1: Programming Language Preferred 116 Figure 6.2: Interest in CS Career in Relation to Preferred Programming Language 120 Figure 6.3: Face Saving Survey Responses to Computer Science Justifications 124 Figure 6.4: Face Saving Survey Responses to Higher Education Justifications 128 Figure 6.5: Face Saving Survey Responses to Game Industry Work Justifications 132 Figure 6.6: Face Saving Survey Responses to Full-Time Work Justifications 135 x LIST OF ABBREVIATIONS AA African American AP Advanced Placement BPC Broadening Participation in Computing CAQ Computer Attitude Questionnaire CCB College of Computing Building CMU Carnegie Mellon University CPATH CISE Pathways to Revitalized Undergraduate Computing Education CS Computer Science DiGRA Digital Games Research Association Georgia Tech Georgia Institute of Technology GUI Graphical User Interface HBCU Historically Black Colleges and Universities HCC Human-Centered Computing IT Information Technology JES Jython Environment for Students MBI Microcomputer Beliefs Inventory MMO(RPG) Massively Multiplayer Online (Role Playing Game) NBA National Basketball Association NFL National Football League NSF National Science Foundation QA Quality Assurance xi RQ Research Question S&E Science and engineering STEM Science, Technology, Engineering and Mathematics US United States of America xii SUMMARY The implementation of a learning environment for young African American males, called the Glitch Game Testers, was launched in 2009. The development of this program was based on formative work that looked at the contrasting use of digital games between young African American males and individuals who chose to become computer science majors. Through analysis of cultural values and digital game play practices, the program was designed to intertwine authentic game development practices and computer science learning. The resulting program employed 25 African American male high school students to test pre-release digital games full-time in the summer and part-time in the school year, with an hour of each day dedicated to learning introductory computer science. Outcomes for persisting in computer science education are remarkable; of the 16 participants who had graduated from high school as of 2012, 12 have gone on to school in computing-related majors.
Recommended publications
  • Fill Your Boots: Enhanced Embedded Bootloader Exploits Via Fault Injection and Binary Analysis
    IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Vol. 2021, No. 1, pp. 56–81. DOI:10.46586/tches.v2021.i1.56-81 Fill your Boots: Enhanced Embedded Bootloader Exploits via Fault Injection and Binary Analysis Jan Van den Herrewegen1, David Oswald1, Flavio D. Garcia1 and Qais Temeiza2 1 School of Computer Science, University of Birmingham, UK, {jxv572,d.f.oswald,f.garcia}@cs.bham.ac.uk 2 Independent Researcher, [email protected] Abstract. The bootloader of an embedded microcontroller is responsible for guarding the device’s internal (flash) memory, enforcing read/write protection mechanisms. Fault injection techniques such as voltage or clock glitching have been proven successful in bypassing such protection for specific microcontrollers, but this often requires expensive equipment and/or exhaustive search of the fault parameters. When multiple glitches are required (e.g., when countermeasures are in place) this search becomes of exponential complexity and thus infeasible. Another challenge which makes embedded bootloaders notoriously hard to analyse is their lack of debugging capabilities. This paper proposes a grey-box approach that leverages binary analysis and advanced software exploitation techniques combined with voltage glitching to develop a powerful attack methodology against embedded bootloaders. We showcase our techniques with three real-world microcontrollers as case studies: 1) we combine static and on-chip dynamic analysis to enable a Return-Oriented Programming exploit on the bootloader of the NXP LPC microcontrollers; 2) we leverage on-chip dynamic analysis on the bootloader of the popular STM8 microcontrollers to constrain the glitch parameter search, achieving the first fully-documented multi-glitch attack on a real-world target; 3) we apply symbolic execution to precisely aim voltage glitches at target instructions based on the execution path in the bootloader of the Renesas 78K0 automotive microcontroller.
    [Show full text]
  • Free Remote Agile E-Book
    Table of Contents 1. Welcome to a new kind of Agile 2. Establishing Ground Rules 3. Stop Dreading Meetings: The Webcam Revolution 4. The Virtual Office Setup 5. Case Study: Stack Exchange’s Hybrid Team 6. Building and Nurturing Your Remote Team 7. Best Email Practices 8. Case Study: RES Software’s Three Remote Offices 9. Agile Can Thrive With Remote Teams 10. Let Us Know How We Can Help! Welcome to a new kind of Agile The current charter of most distributed company leaders is to create an online workspace (...) supported by a set of tools and self- organizing behaviors.(...)With a strong vision, clear articulation of priorities, and strongly nurturing culture as part of your company DNA, you have a clear path to success on your distributed Agile team." - Amanda Ross, Director of Marketing & Agile Practices at Sococo It’s been called a framework, a philosophy, a methodology - research Agile and you’ll find that so many people define it with so many different words that you'd be forgiven for thinking it’s some sort of mystical practice involving tarot cards and looking at the stars. But it’s actually a major shift in the way people work, and it’s been happening for over a decade - whatever you choose to call it, if you are in the IT business, Agile is likely part of the way you work. If it’s not, the time to start is now. Companies and teams worldwide have used it to deliver better products in record time with maximum efficiency and minimum burnout.
    [Show full text]
  • Glitch Studies Manifesto
    [email protected]. Amsterdam/Cologne, 2009/2010 http://rosa-menkman.blogspot.com The dominant, continuing search for a noiseless channel has been, and will always be no more than a regrettable, ill-fated dogma. Even though the constant search for complete transparency brings newer, ‘better’ media, every one of these new and improved techniques will always have their own fingerprints of imperfection. While most people experience these fingerprints as negative (and sometimes even as accidents) I emphasize the positive consequences of these imperfections by showing the new opportunities they facilitate. In the beginning there was only noise. Then the artist moved from the grain of celluloid to the magnetic distortion and scanning lines of the cathode ray tube. he wandered the planes of phosphor burn-in, rubbed away dead pixels and now makes performance art based on the cracking of LCD screens. The elitist discourse of the upgrade is a dogma widely pursued by the naive victims of a persistent upgrade culture. The consumer only has to dial #1-800 to stay on top of the technological curve, the waves of both euphoria and disappointment. It has become normal that in the future the consumer will pay less for a device that can do more. The user has to realize that improving is nothing more than a proprietary protocol, a deluded consumer myth about progression towards a holy grail of perfection. Dispute the operating templates of creative practice by fighting genres and expectations! I feel stuck in the membranes of knowledge, governed by social conventions and acceptances. As an artist I strive to reposition these membranes; I do not feel locked into one medium or between contradictions like real vs.
    [Show full text]
  • A Practical Introduction to Python Programming
    A Practical Introduction to Python Programming Brian Heinold Department of Mathematics and Computer Science Mount St. Mary’s University ii ©2012 Brian Heinold Licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported Li- cense Contents I Basics1 1 Getting Started 3 1.1 Installing Python..............................................3 1.2 IDLE......................................................3 1.3 A first program...............................................4 1.4 Typing things in...............................................5 1.5 Getting input.................................................6 1.6 Printing....................................................6 1.7 Variables...................................................7 1.8 Exercises...................................................9 2 For loops 11 2.1 Examples................................................... 11 2.2 The loop variable.............................................. 13 2.3 The range function............................................ 13 2.4 A Trickier Example............................................. 14 2.5 Exercises................................................... 15 3 Numbers 19 3.1 Integers and Decimal Numbers.................................... 19 3.2 Math Operators............................................... 19 3.3 Order of operations............................................ 21 3.4 Random numbers............................................. 21 3.5 Math functions............................................... 21 3.6 Getting
    [Show full text]
  • LIGO Detector Characterization Group Maintained by Josh Smith DCC# LIGO-G1500642 This Document: A
    Glitch classes seen in aLIGO so far (through end of O1) LIGO Detector Characterization Group Maintained by Josh Smith DCC# LIGO-G1500642 This document: A. lists the major glitch classes that have been seen in aLIGO so far, B. shows a few representative images, C.says which detectors have which glitches, and D.provides links to alog pages and wikis for more information 2 Table of Contents 1. LHO/LLO Blip glitches [NF] 9. Blue Mountains [NF] 2. LLO RF Beats [NF] 10. LHO End-Y 60Hz glitches [F] 3. LLO Koi fish (working title) [NF] 11. Saturating tidal control [F] 4. LHO end-Y scattered light [NF] 12.OMC L Scattered light [F] 5. LLO SRM scattered light [NF] 13.Hartmann Wavefront sensor malfunction [F] 6. LHO paired doves [NF] 14. LHO PRCL/SRCL glitches [F] 7. DAC glitches [PF] 15. LHO End-Y 50Hz air compressor 8. n*505Hz glitches [PF] glitches [F] [NF] = not fixed, [PF]= partially fixed, [F]=fixed 3 1. Blip glitches H1 Examples: https://ldas-jobs.ligo-wa.caltech.edu/~areeda/blip-omega.tar 4 Blip glitches documentation • Brief description: Class of common glitches in both detectors, with no known cause currently. The only weak lead is that saturated hardware injections cause glitches that look very similar, so perhaps these are saturations in the actuation chain that happen under normal conditions. • Relevant alogs: • LLO: • LHO: saturated injections look like blips? • Other documentation: Some blip times and scans link 5 2. RF Beats Examples: https://ldas-jobs.ligo.caltech.edu/~areeda/josh-20150828.tgz 6 RF Beats documentation • Brief description: These are beats of two or more RF oscillators that sweep quickly through the audio range.
    [Show full text]
  • Glitch.Com What Is Glitch?
    glitch.com What is Glitch? “Everybody has good ideas of things we want to make on the Internet. But honestly, it’s gotten too hard. Gomix fixes that. If you’re not a professional developer, the barriers are way too high. There are pretty good tools if you just went to make a marketing website or a blog, but if your idea is an app or a bot or something more interactive, you’re out of luck. It ought to be as easy to make an app as it is to edit a blog post or to change a formula in a spreadsheet.” Anil Dash, December 6, 2016 https://medium.com/gomix/introducing-gomix-aec205c421cb#.fqutfey03 https://glitch.com/about/ Glitch handles the mess • While you work with Glitch, it will seamlessly upgrade your servers and cloud infrastructure in the background. • There’s no deployment or server provisioning because it all happens automatically. Backed by a real company Glitch • Glitch is made by Fog Creek, one of the most influential small tech companies in the world. • They made Trello, FogBugz and co-created Stack Overflow. Why did they make it In some ways, Glitch is a throwback to an older era of software or the internet, when there were simpler ways to get started making cool stuff. For people who were around at that time, they'll understand Glitch easily: It brings “View Source” back. The ability to just look at the code behind something, and tweak it, and make your own thing, was essential to making the Internet fun, and weird, and diverse, in its early days.
    [Show full text]
  • It's Time to Get Serious About Developer Relations
    03/04/2018 It’s time to get serious about Developer Relations – Glitch – Medium Images haven’t loaded yet. Please exit printing, wait for images to load, and try to Anil Dash Follow CEO of Fog Creek Software, makers pofri @nt Gagliatcinh. & Manuscript. Trying to make tech more ethical & humane. (Also an advisor to Medium.) More: http://anildash.com/ Sep 27, 2017 · 4 min read It’s time to get serious about Developer Relations Developer relations is a vital part of modern business strategy, but so much of the industry still treats it like an afterthought. Glitch for Platforms is here to help everyone who does Dev Rel. If you do developer relations or evangelism, you’re probably great at your job. You’re talking to coders, getting out in the community, building relationships. But does the rest of your organization value that work as much as they should? A lot of smart people are thinking it’s time for Dev Rel to grow up, and we agree. All of us who give a damn about developer relations need to get a lot louder and more aggressive about the business value of what we do. And that means tackling the ROI question head-on: Can you really show that your developer outreach is working? Jonathan Gottfried @jonmarkgo Replying to @bwest it feels counterintuitive to spend time proving ROI to execs rather than generating value for developers but Jonathan Gottfried, Co-Founder of Major League Hacking Dev Rel’s Burden of Proof For a lot of Dev Rel people, really proving a return on investment is, well, a pain in the ass.
    [Show full text]
  • Making Web Apps with Node - Paths Into Programming - Top Tips for New Coders V1.0 Glitch Is the Friendly Community Where You'll Build the App of Your Dreams
    In this issue: CC BY-NC-SA 4.0 Print & Share! - Making Web Apps with Node - Paths into Programming - Top Tips for New Coders v1.0 Glitch is the friendly community where you'll build the app of your dreams. With working example apps to remix, a code editor to modify them, instant hosting and deployment - anybody can build a web app on Glitch, for free. Learn more at glitch.com Credits Illustration: Good Boy Graphics Layout: Gareth Wilson Content: Jenn Schiffer, Gareth Wilson Edited by: Maurice Cherry Guest Contributors: Cassidy Williams, Saron Yitbarek, Steve Klabnik Contents p2. How Web Servers Work Paths into Programming: p4. Cassidy Williams p10. Saron Yitbarek p14. Steve Klabnik p6. Anatomy of a Web App p9. Expert Advice for New Developers p12. What is npm Exactly? p19. Top Tips for New Coders p16. Understanding Async in Node 1 How Web Servers Work What happens when you enter a URL into your browser? It turns out, a whole bunch of things happen. But one of them is you sending a request to a server (which is just a computer) somewhere, asking it to give you the app or site that relates to that URL. You can think of a computer server as being a bit like a server in a restaurant - you request something and they should return with what you requested. At a diner, for example, if you ask them for food, they eventually return with that food. 2 So when you’re surfin' the web, and you go to example.com, or click a link, you’re asking a server to send you a web page.
    [Show full text]
  • The End of Documentation
    The End of Documentation A Better Way for Developers and Engineers to Preserve and Share Knowledge Introduction When software developers are trying to share knowledge within their organization, there are two principle methods most teams fall back on: documentation and conversation. Conversation can happen face to face, over email, or in chat apps. Documentation takes the form of notes left in the code, lengthy written records and company wikis. Both of these approaches, however, have serious drawbacks. In our latest developer survey, which collected answers from over 90,000 active programmers, respondents felt the greatest challenge to productivity was a distracting work environment. Developers are seeking solid chunks of time in which they can dive deep into focused work, ideally finding their way to a flow state. And as academic research on the daily lives of programmers over the last two decades has shown, the most common breaks from writing code are for meeting with colleagues, reviewing documentation and answering instant messages. Greatest challenges to productivity 68,141 responses Stack Overflow Developer Survey 2019 2 Check the receipts Expensify is an example of what these problems look like in the real world At Expensify, a fast growing Silicon Valley startup focused on simplifying the process of collecting receipts and filing for reimbursements, both of these pain points were present. To help onboard new hires, the team created a wealth of documentation, but it wasn’t easily accessible. “Our documentation at Expensify has been…fairly terrible in the past,” said software engineer John Lee. “People would rather talk to someone with more knowledge than to go search through all these pages of documentation we wrote.” Expensify prides itself on being a flat organization.
    [Show full text]
  • Download Teacher Guide
    Web Development Course vidcode.com Web Development Course Project 1: ​Personal Website Project: ​https://my-personal-site-example.glitch.me/ Code: ​https://glitch.com/edit/#!/my-personal-site-example?path=index.html%3A34%3A9 Big Idea: ​Students can be creative and express themselves online with HTML and CSS I​n this first project, students will get set up and familiar with making websites using the Glitch platform, and make their first website that reflects them and their interests. This course serves as either an off-ramp from ​Vidcode’s JavaScript courses​ into traditional web development, or as a standalone course to teach your students how to make personalized, interactive websites. Your students will be introduced to creating websites with HTML, CSS, and JavaScript. Time: ​35-45 minutes 5-10 minutes Getting set up on Glitch 5 minutes Intro to HTML 20-25 minutes Personal Websites project 5 minutes Discussion and Sharing Web Development Course vidcode.com Background Introducing HTML HTML​ stands for Hyper Text Markup Language. It is the standard markup language for web pages, which means that it allows the user to create and structure web pages. Webpages are broken up into​ HTML​, ​CSS​, and ​JavaScript​. ● HTML​ is the ​content ​of the site. The text and images on a site are ​organized in HTML tags. ● CSS​ ​styles ​sites, and customizes the HTML of the site with fonts, background-colors, placing elements, just to name a few. ● JavaScript ​adds interaction to sites. If you open a menu, or play a game online, JavaScript is probably behind it! Teacher Reference:​ ​More on HTML Personal Site Example project: ​https://my-personal-site-example.glitch.me/ Code: ​https://glitch.com/edit/#!/my-personal-site-example?path=index.html%3A34%3A9 Web Development Course vidcode.com Project Checklist for Students Each project should include: ● At least one header tag ● A paragraph tag ● A list with 3 elements ● At least one picture ● All elements above styled with CSS Start Here: Get Set up on Glitch Students will be moving off of Vidcode in this lesson.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria Revision 1.0
    Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Revision 1.0 Rana Naim∗ Mohammad Fahim Nizam† Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Sheetal Hanamasagar‡ Jalal Noureddine§ Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Marinela Miladinova¶ Concordia University Montreal, Quebec, Canada [email protected] Abstract This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional programming, declarative programming, batch scripting, and UI prototyping. We study these languages in the context of the above mentioned criteria and the level of support they provide for each one of them. Keywords: programming languages, programming paradigms, language features, language design and implementation 1 Introduction Choosing the best language that would satisfy all requirements for the given problem domain can be a difficult task. Some languages are better suited for specific applications than others. In order to select the proper one for the specific problem domain, one has to know what features it provides to support the requirements. Different languages support different paradigms, provide different abstractions, and have different levels of expressive power. Some are better suited to express algorithms and others are targeting the non-technical users. The question is then what is the best tool for a particular problem.
    [Show full text]
  • The Exchange in Stackexchange: Divergences Between Stack Overflow and Its Culturally Diverse Participants
    The Exchange in StackExchange: Divergences between Stack Overflow and its Culturally Diverse Participants NIGINI OLIVEIRA, Paul G. Allen School of Computer Science & Engineering, University of Washington, 130 USA MICHAEL MULLER, IBM Research, USA NAZARENO ANDRADE, Computer Science, Universidade Federal de Campina Grande, Brazil KATHARINA REINECKE, Paul G. Allen School of Computer Science & Engineering, University of Washington, USA StackExchange is a network of Question & Answer (Q&A) sites that support collaborative knowledge exchange on a variety of topics. Prior research found a signicant imbalance between those who contribute content to Q&A sites (predominantly people from Western countries) and those who passively use the site (the so-called “lurkers”). One possible explanation for such participation dierences between countries could be a mismatch between culturally related preferences of some users and the values ingrained in the design of the site. To examine this hypothesis, we conducted a value-sensitive analysis of the design of the StackExchange site Stack Overow and contrasted our ndings with those of participants from societies with varying cultural backgrounds using a series of focus groups and interviews. Our results reveal tensions between collectivist values, such as the openness for social interactions, and the performance-oriented, individualist values embedded in Stack Overow’s design and community guidelines. This nding conrms that socio-technical sites like Stack Overow reect the inherent values of their designers, knowledge that can be leveraged to foster participation equity. CCS Concepts: • Human-centered computing → Empirical studies in collaborative and social com- puting; Empirical studies in HCI; • Social and professional topics → Cultural characteristics; Additional Key Words and Phrases: Stack Overow; Question & Answer sites; Cross-cultural studies; Online collaboration; Value-Sensitive Design ACM Reference Format: Nigini Oliveira, Michael Muller, Nazareno Andrade, and Katharina Reinecke.
    [Show full text]