56
acm PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8, NO. 1 Action Ethics for a Soſtware Development Class White Hat, Black Hat: The Ethics of Cybersecurity Basic Do’s and Don’ts in the Classroom: Combating Bias, Presentations, and Slides The Language of Computing Teaching Physical Computing in Family Workshops

Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm In

road

s P

AV

ING

TH

E W

AY

TO

WA

RD

EX

CE

LLEN

CE

IN C

OM

PU

TIN

G E

DU

CA

TIO

N

2017 M

AR

CH

• VO

L. 8

• NO

. 1

acm

PAV I N G T H E WAY T O WA R D E X C E L L E N C E I N C O M P U T I N G E D U C AT I O N

2017 MARCH VOL. 8, NO. 1

Action Ethics for a Software Development Class

White Hat, Black Hat: The Ethics of Cybersecurity

Basic Do’s and Don’ts in the Classroom: Combating Bias, Presentations, and Slides

The Language of Computing

Teaching Physical Computing in Family Workshops

Page 2: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

FRANKLIN, BEEDLE& A S S O C I A T E S I N C .

INDEPENDENTPUBLISHERSSINCE 1985

NEW TITLES NOW AVAILABLE

B E E D LB E E D LE E DE E D LE EEINDEPEINDEPENDENT PNDENT T UBLISHEUBLISHEBL H RS SINCRS SINSINNR E 19851985E 19858

THIS BOOK, DEVELOPED under National Science Foundation grant support , was written to bridge academic disciplines and areas of practice that include music production, audio engineering for theatre and film, and computer science. The value of this book is that it provides a broad context for students. In academic programs that emphasize applications, students are still able to “look under the hood” to gain a deeper understanding of audio processing at a lower level of abstraction. For those in computer science, physics, or mathematics, the mix of science and applications provides interest and motivation. The book also serves as a reference for anyone interested in digital audio processing, including hobbyists, those who are “self-taught” in music production, and those already in the audio processing or music production industry wanting a deeper under-standing of their art and craft.

F R A N K L I N, B E E D L E[INDEPENDENT PUBLISHERS SINCE 1985]

JOHN ZELLE

PROGRAMMING:

THIRD EDITION

AN INTRODUCTION TO COMPUTER SCIENCE

PYTHONTHE THIRD EDITION OF John Zelle’s Python Programming continues the tradition of updating to reflect new technologies while maintain-ing a time-tested approach to teaching introductory computer science. An important change to this edition is the removal of most uses of eval and the addition of a discussion of its dangers. In our increasingly connected world, it’s never too early to begin consid-ering computer security issues. Several new graphics examples have been added to introduce new features of the graphics library that support animations, including simple video game development. This makes the text compatible with the types of final projects often assigned in modern introductory classes.

LEARN MORE & REQUEST REVIEW COPIES800-322-2665 / FBEEDLE.COM

OTHERTITLES

AVAILABLE

ALSO COMING SOON . . . Computing Fundamentals with C++: Third Edition, by Rick MercerPH

OTO

BY

MA

RC R

YCKA

ERT

OUR CATALOGOF BOOKS ATFBEEDLE.COM

Page 3: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  1

CONTENTS

EDITORS’ MESSAGE 4 Editors’ MessageBy Mark Bailey and Laurie Smith King

NEWS 6 News from the SIGs – SIGCSE (Amber Settle), SIGGRAPH (Ginger Alford)By Ellen Walker

OPINION 10 Book Review – Kicking Butt in Computer Science: Women in Computing at Carnegie Mellon UniversityBy Daniel Zingaro

12 Classroom Vignettes – Basic Do’s and Don’ts in the Classroom: Combating Bias, Presentations, and SlidesBy Henry M. Walker

16 Convergent Pathways in Tertiary Education – Everyone Deserves a Second Chance!By Gillian M. Bain and Graham Wilson

19 Colorful Challenges – Row/Column TransformationsBy David Ginat

21 Community College Corner – Community Colleges in the United States and Around the WorldBy Cara Tang

24 EngageCSEdu – Broadening Participation by Supporting Great TeachingBy Beth A. Quinn, Stephanie Weber, Terry Morreale, and Aaron Vimont

27 Reflections – The Language of ComputingBy Deepak Kumar

29 Technology that Educators of Computing Hail (TECH) – Using Cloud9, a Powerful Cloud-Based IDE in the ClassroomBy Jeff Solin

31 Math Counts – Does Mathematics Serve Computing as a Support or a Barrier?By John P. Dougherty

33 Taking the High Road – White Hat, Black Hat: The Ethics of CybersecurityBy C. Dianne Martin

35 NSF Program Officer’s Views – Common Guidelines for Conducting Education Researchby Stephanie E. August

ARTICLES 38 Action Ethics for a Software Development ClassBy David K. Larson and Keith W. Miller

43 PPVT: A Tool to Visualize Predictive ParsingBy Aashi Jain, Archita Goyal and Pinaki Chakraborty

48 Teaching Physical Computing in Family Workshops By Christiane Gresse von Wangenheim, Aldo von Wangenheim, Fernando S. Pacheco, Jean C. R. Hauck and Miriam Nathalie F. Ferreira

BACK PAGE 52 Computer Science for Kids! Houses of CharacterBy Chand T. John

ILLU

STR

ATI

ON

: ©W

WW

.ISH

UT

TER

STO

CK

.CO

M/B

LUEB

AY

(CO

VER

AN

D T

OC

)

2017 March | volume 8, number 1

acm

PAV I N G T H E WAY T O WA R D E X C E L L E N C E I N C O M P U T I N G E D U C AT I O N

Page 4: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

ACM Inroads A Quarterly Magazine of ACM

Editors-in-Chief

Associate EditorsMichal Armoni; Tony Clear; Lucia Dale; Michael Goldweber; Henry M. Walker; Jian Zhang

Editorial Advisory Board Karina Assiter; Tim Bell; Moti Ben-Ari; David Berque; Carol Browning; Angela Carbone; Randy W. Connolly; Ernesto Cuadros-Vargas; Lucia Dale; Mats Daniels; Michael Doherty; Mike Erlinger; Leslie Fife; Margaret Hamilton; Päivi Kinnunen; Joseph Kmoch; Yifat Kolikant; Tami Lapidot; Andrew Luxon-Reilly; Lauri Malmi; Tom Naps; David Naugler; James Teresco; Fran Trees; Paul Tymann; Jacqui Whalley; Daniel Zingaro

ColumnistsMichal Armoni; Stephanie August; Gillian M. Bain; Ian Barnes; Tony Clear; John P. Dougherty; David Ginat; Don Gotterbarn; Deepak Kumar; Amanda Lattimore; Lauri Malmi; C. Dianne Martin; Jeffrey Popyack; Beth A. Quinn; Heikki Topi; Cara Tang; Henry M. Walker

News ContributorsRenee Dopplick; Amber Settle; Yan Timanovsky; Ellen Walker

Back Page EditorJohn Barr

Director of PublicationsScott E. Delman

Executive EditorDiane Crawford

Art DirectorRobert Vizzini

Editorial AssociateSusan S. Lukesh

Web AdministratorJoseph Kmoch

Websitehttp://inroads.acm.org

Author Submissionshttp://mc.manuscriptcentral.com/inroads

Publication InformationACM Inroads is published four times a year:

March; June; September; December by ACMPrint (ISSN 2153-2184) | Online (ISSN 2153-2192)

Editorial InformationContact ACM Inroads via email to the EIC at [email protected]

ACM Inroads Advertising DepartmentAdvertising Sales Account Manager:

Ilia Rodriguez, [email protected]+1-212-626-0686 (Tel) | +1-212-869-0481 (Fax)

AcknowledgmentThe volunteers and staff of ACM Inroads wish to thank the ACM Special Interest Group on Computer Science Education (SIGCSE). Its support helps make the magazine publication and distribution possible.

2  acm Inroads  2017 March • Vol. 8 • No. 1

Mark BaileyProfessor of Computer ScienceHamilton CollegeClinton, NY USA

Laurie Smith KingProfessor of Computer ScienceCollege of the Holy CrossWorcester, MA USA

ACM Publications

ACM Publication BoardCo-Chairs: Jack Davidson and Joseph KonstanBoard Members: Ronald F. Boisvert; Karin K. Breitman; Terry J. Coatta; Anne Cordon; Nikil Dutt; Roch Guerrin; Carol Hutchins; Yannis Ioannidis; Catherine McGeoch; M. Tamer Ozsu; Mary Lou Soffa; Alex Wade; Keith Webster

Publications OfficeACM, 2 Penn Plaza, Suite 701New York, New York 10121-0701 USA+1-212-869-7440 (Tel) | +1-212-869-0481 (Fax)

Annual Subscriptions Single CopiesMembers print: $ 49 e-only: $ 39 p+e: $ 59 $ 9Students print: $ 26 e-only: $ 21 p+e: $ 34 $ 4Non-members: $ 135 e-only: $108 p+e: $ 162 $ 25

SIGCSE members receive ACM Inroads as a membership benefit.

Please send orders to ACM, General Post Office, P.O. Box 30777New York, New York 10087-0777 USA or call +1-212-626-0500

For credit card orders, call +1-800-342-6626 Order personnel available 08:30–16:30 EST After hours, please leave message and order personnel will return your call.

Change of [email protected]

Other Services, Questions, or [email protected]

ACM Inroads Copyright NoticeCopyright ©2017 by Association for Computing Machinery, Inc. (ACM). Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee.

Request Permission to PublishPublications Department, ACM, Inc.

Fax +1-212-869-0481 or email [email protected]

For other copying of articles that carry a code at the bottom of the first or last page or screen display, copying is permitted provided that the per-copy fee indicated in the code is paid through:

Copyright Clearance Center222 Rosewood DriveDanvers, Massachusetts 01923 USA+1-978-750-8400 (Tel) | +1-978-750-4470 (Fax)

Periodicals postage paid in New York, New York 10001 USA and at additional mailing offices.

Postmaster: Please send address changes to:ACM InroadsACM2 Penn Plaza, Suite 701New York, New York 10121-0701 USA

2017 March | volume 8, number 1

acm

PAV I N G T H E WAY T O WA R D E X C E L L E N C E I N C O M P U T I N G E D U C AT I O N

Page 5: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Since its inauguration in 1966, the ACM A. M. Turing Award has recognized major contributions of lasting importance in computing. Through the years, it has become the most prestigious technical award in the field, often referred to as the “Nobel Prize of computing.”

ACM will celebrate 50 years of the Turing Award and the visionaries who have received it with a conference on June 23 - 24, 2017 at the Westin St. Francis in San Francisco. Twenty ACM Turing laureates will join other ACM award recipients and experts in moderated panel discussions exploring how computing has evolved and where the field is headed. Topics include:

• Advances in Deep Neural Networks

• Restoring Personal Privacy without Compromising National Security

• Moore’s Law Is Really Dead: What’s Next?

• Quantum Computing: Far Away? Around the Corner? Or Maybe Both at the Same Time?

• Challenges in Ethics and Computing

• Preserving Our Past for the Future

• Augmented Reality: From Gaming to Cognitive Aids and Beyond

We hope you can join us in San Francisco, or via our live web stream, to look ahead to the future of technology and innovation, and to help inspire the next generation of computer scientists to invent and dream.

For more information and to reserve your spot, visit www.acm.org/turing-award-50

Program Committee

Craig PartridgeProgram Chair

Fahad DogarDeputy Program Chair

Karen Breitman

Vint Cerf

Jeff Dean

Joan Feigenbaum

Wendy Hall

Joseph Konstan

David Patterson

CELEBRATING 50 YEARS OF COMPUTING’S GREATEST ACHIEVEMENTS

Turing50-Ad_R2P3.indd 1 12/2/16 10:14 AM

Page 6: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Welcome to the March issue of Inroads. When this issue hits your local newsstand you might be packing your bags for your trip to Seattle to attend the SIGCSE Technical Symposium. If so, pack

your umbrella and we’ll see you there! The Inroads Haiku contest has come to a close and we have some great submissions! Who knew

geeks write good haiku? We thank you for all of your submissions. Back page editor John Barr will be pouring over the entries to select the best to appear in an upcoming issue.

We welcome Daniel Zingaro (University of Toronto, Mississauga) to the Editorial Advisory Board (EAB). Dan often presents at the SIGCSE Technical Symposium and has a couple of Nifty assignments to his name. Dan has also already authored two book reviews for Inroads (one appears in this issue) and we hope to see more contributions in the future. As we continue to expand our EAB, we welcome your nominations—including self-nominations.

Ellen Walker has been hard at work gathering news of a computing education bent from the ACM Special Interest Groups. This month we have reports from Amber Settle (SIGCSE) and Ginger Alford (SIGGRAPH Education Committee). We thank them for keeping us up-to-date across the computing education scene.

As always, our tireless columnists have been hard at work sharing their education insights. Regular columnist Gillian Bain has shifted her focus away from distance learning to start a new column entitled “Convergent Pathways in Tertiary Education.” In this column, Gillian and co-author Graham Wilson, both of the University of the Highlands and Islands in the United Kingdom, write about educating a diverse student population of non-traditional CS students. We are excited to hear about these challenges and how we can bring their solutions to bear in our own classrooms.

We also welcome Beth Quinn from NCWIT. She proposed that Inroads highlight the EngageCSEdu project’s efforts to attract a wider diversity of students to CS by fostering engaging introductory computing education, principally via a unique online repository of quality peer-reviewed materials informed by research on engaging and retaining students. Beth will curate a column, aptly named EngageCSEdu, that will present the excellent work of faculty making their introductory CS courses relevant and meaningful by integrating interdisciplinary content that helps attract and retain students. In this first column, Beth introduces the column and why its presence is important in Inroads. Welcome aboard Beth!

Finally, we’d like to introduce the new Technology that Educators of Computing Hail (TECH) column. (The first of these actually appeared in the last issue.) This column, organized by Dan Garcia (University of California, Berkeley), features a guest columnist each issue. These authors all presented work at a SIGCSE Symposium TECH session. TECH will highlight technologies that educators find useful in their classrooms. These pieces will focus on the technologies and how they are used, but are not comprehensive reviews of the systems. We hope you find a gem or two in these columns that you can apply in your classrooms. Thank you, Dan, for getting this project on its feet.

Each issue of Inroads only comes together because of the hard work of a large team of volunteers: Associate Editors, Columnists, News Contributors, Editorial Advisory Board members, authors, and reviewers. This group needs to represent the breadth of the computing education community. Please consider nominating someone you think would add a new perspective to the Inroads team. Also, consider signing up to be a reviewer. To do so, visit https://mc.manuscriptcentral.com/inroads.

Mark Bailey and Laurie Smith KingEditors-in-Chief

DOI: 10.1145/3043964 Copyright held by authors.

4  acm Inroads  2017 March • Vol. 8 • No. 1

EDITORS’ MESSAGEMark BaileyHamilton College

Laurie Smith KingCollege of the Holy Cross

Page 7: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Visit CSTAjobs.ACM.ORG and get started today!

ComputerScienceTeachersAssociationcsta.acm.org

JOB SEEKERSThe CSTA Career & Job Center will help you find your next great career opportunity in the searchable database of computer science education jobs. Post your resume, create job alerts, and take advantage of free access to a content library of career articles.

EMPLOYERSGet started today by creating a company profile, posting your available jobs, and searching resumes, to begin your search for an exemplary educator.

The new CSTA Career &Job CenterA career hub for job seekers and employers in K–12 computer science education

Page 8: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

6  acm Inroads  2017 March • Vol. 8 • No. 1

News from the SIGs

NEWS

In this issue of News from the SIGs, we introduce a new reporter, Ginger Alford, chair of the ACM SIGGRAPH Education Committee. Ginger’s article introduces the ACM SIGGRAPH Education Committee, and challenges us to join in the

quest for interdisciplinary learning. But first, we have a report from SIGCSE Chair, Amber Settle, with an overview of the SIGCSE conferences scheduled for the year.

by Ellen WalkerHiram College

From our SIGCSE reporter and SIGCSE chair, Amber Settle

The start of a new calendar year brings with it a sense of excitement and renewal, and one of the things I’m looking forward to in 2017 is at-tending SIGCSE conferences. As you read this, the 2017 Symposium (March 8-11) is likely taking place in Seattle, Washington, USA. As the largest SIGCSE conference, the Symposium offers a multitude of ways for both practitioners and researchers to come together, discuss their work, learn about new approaches to comput-ing education, and network with energetic and enthusiastic colleagues. While a large conference can be in-timidating, especially to newcomers, the Symposium offers many smaller events like the birds-of-a-feather ses-sions which help you to connect with people who share common interests. If you’re not attending the Sympo-sium in 2017, I hope that you’ll add it to your calendar for February 2018 in Baltimore, Maryland, USA.

The next SIGCSE conference in 2017 is ITiCSE, which will be back in Europe and specifically in Bologna, Italy, July 1-5. ITiCSE is a smaller con-ference but also offers a mix of work for researchers and practitioners as

well as opportunities for networking. One of the most enjoyable aspects of the ITiCSE conference is partici-pating in a working group, in which a small group of people develop and write a longer article. A first draft of the article is due by the end of the conference and is published as a part of the proceedings later in the year. Working with a group of people over the months leading up to the con-ference and then intensely over the week of the conference can lead to great collaborations and even lasting friendships. Also, not to be missed is the ITiCSE excursion where you can learn about the host country and socialize with conference attendees.

The last of the SIGCSE conferences taking place in 2017 is ICER. Comput-

ing education researchers will gather in Tacoma, Washington, USA, August 18-20, to discuss their work, hear about the diverse research projects of other attendees, and brainstorm ideas for new collaborations. With its single-track format and roundtable discussions, the atmosphere at ICER engages participants with presenters and with each other. Events before and after ICER allow people with ideas for research to develop them more fully. The doctoral consortium, supported by the SIGCSE Board, offers students a chance to get in-depth feedback about their disser-tation research and takes place on August 17th. On August 20th and 21st all computing education researchers are welcome at the Work-in-Progress

Whether you’re meeting people who have done interesting work you want to know more about, people who have

novel ideas on directions for your work, people with whom you will later start collaborations, or people who are

just enjoyable companions during lunch, dinner, or breaks, the

opportunity to network is one of the best things our conferences offer.

Page 9: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  7

NEWS

local chapters and more. The SIGGRAPH Education Com-

mittee participates in a variety of activities year-round such as spon-soring the annual SPACETIME student contest, overseeing outreach and mentoring at the Annual Conference, organizing workshops, and creating opportunities for networking and community building. The committee recently identified some priority areas to best serve our diverse community—curriculum development for cross-dis-ciplinary programs, including virtual reality, and creation of a repository of peer-reviewed classroom-ready teaching materials, that can both acknowledge the scholarly contribu-tion of such work and be distributed without fee for classroom use.

A specific example of such a re-pository is cGEMS (Computer Graph-ics Education Materials Source). The SIGGRAPH Education Committee and the Eurographics Education Board are launching cGEMS in 2017. This is a peer-reviewed repository of educa-tion publications including classroom materials. This will be a valuable service and, for contributors, a way to be recognized for the work and schol-arship that goes into preparing useful materials in a pedagogically sound way. Another valuable resource is

the opportunity to network is one of the best things our conferences offer. So, take advantage of the workshops, sessions, posters, and especially the social events scheduled at each of the SIGCSE conferences. I’m confident that you’ll walk away happy that you did.

From our SIGGRAPH reporter and Chair of the SIGGRAPH Education

Committee, Ginger Alford

SIGGRAPH is the ACM SIG on Graphics and Interactive Techniques, broadly encompassing the elements of hardware, software and human elements of information representa-tion and rendering. Since its founding in the 1960’s, the community has embraced creativity, interdisciplinary collaboration and strong industry interaction. The community has grown to include sponsorship of two major annual conferences, SIGGRAPH and SIGGRAPH ASIA, and year-round activities by several standing com-mittees devoted to such things as supporting a digital arts community, providing student services, sponsor-ing specialized conferences, creating

Workshop where participants and organizers assist in developing ideas.

One of the events I enjoyed most at ICER in 2016 was the dinner at the Melbourne Zoo. In the picture, you can see Judy Sheard, the conference chair, preparing to introduce an activity she designed for the dinner. In the activity, each table was given a page with pictures of notable people in computing and asked to name as many people as possible. Gathering with your table and trying to name the people pictured on the sheet was great fun, but even more enjoyable was the message that the activity brought home. Computing is all about the people. The course of computing was changed in some significant way by each person on that page (except for the distractor Sir John Monash), and it was a delight seeing the faces of the names we know so well.

The activity also made me think about how much value being able to meet people at the SIGCSE confer-ences brings. Whether you’re meeting people who have done interesting work you want to know more about, people who have novel ideas on direc-tions for your work, people with whom you will later start collaborations, or people who are just enjoyable com-panions during lunch, dinner, or breaks,

Page 10: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

8  acm Inroads  2017 March • Vol. 8 • No. 1

NEWSNews from the SIGs

these conversations at the SIGGRAPH 2017 conference in Los Angeles next summer and planning an Educa-tion Forum at the conference for in depth discussions on focused topics. We also will coordinate with other education groups, such as Leonardo Education and Art Forum and ASIFA Animation Educators.

Conversations such as these will help us grow and learn as a commu-nity of practice, and have profound influences on our students for years to come.

Interested educators are encour-age to send questions and thoughts to [email protected] or go to https://education.siggraph.org/ for more information. Subscribe to our listserv at http://listserv.siggraph.org/scripts/wa-SIGGRAPH.exe?SUBED1=cg-educators&A=1 . Watch for information about the upcoming Annual Conference at http://s2017.siggraph.org/.

Ellen L. WalkerProfessor of Computer ScienceHiram College11715 Garfield RoadHiram, OH 44234 [email protected]

Amber Settle School of ComputingCollege of Computing and Digital MediaDePaul UniversityChicago, IL 60604 [email protected]

Ginger AlfordChair, SIGGRAPH Education Committee, Director of Computer SciencesTrinity Valley School7500 Dutch Branch RdFort Worth, TX [email protected]

DOI: 10.1145/3043962 Copyright held by authors.

of educators has been struggling with for some time. In the larger context of current computer science education trends, with increasing interest in STEM + C Partnerships and CS + X degree programs emerging alongside the longstanding urgent calls to broaden the number of people with computing skills, it’s time for a larger conversation.

The ACM SIGGRAPH Education Committee is committed to consid-ering these questions seriously, with the hope of finding practices and in-struments that can be easily adapted for cross-disciplinary programs more generally. We invite a conversation among the entire ACM community to consider what this means when computer science is one of the component fields of an interdisciplin-ary study. We want to identify and address issues such as • what comprises exemplary inter-

disciplinary work for both a single course and for a program of study,

• how to effectively assess student work,

• how to value the scholarly con-tribution and impact of a faculty member who may hold appoint-ments in multiple departments,

• what new administrative funding, staffing and promotion obstacles are introduced, and

• how to leverage our knowledge and share our tools as a comput-ing education community to ease adoption of computing science as a component in other fields.

How can we start this conversation to share our collective experiences about computer science as a compo-nent of a interdisciplinary degree? We hope to intentionally setup cross-SIG conversations, perhaps as Birds of a Feather or panel discussions at vari-ous conferences. Toward this end, we are setting up a framework to support

SIGGRAPH University, which provides recorded versions of popular courses from the Annual SIGGRAPH Confer-ence delivered by experts in the field and made available for free. We con-tinue to work to make resources from past conferences easier to access for educators seeking quality reference material. This is particularly of interest in virtual reality, which is enjoying a resurgence of recent activity while having a long history of research within SIGGRAPH.

SIGGRAPH members include art-ists, architects, designers, engineers, physicists, psychophysicists and … oh, computer scientists and are not only interested in computer graph-ics. Many members defy traditional academic boundaries. As the current chair of the SIGGRAPH Education Committee, I marvel at the ease with which artists and engineers mingle in this community while pondering the task ahead—how to forge education programs that capture a way of think-ing across disciplines and to support educators in this endeavor. Thinking across disciplines is more than simply collecting a set of courses from dif-ferent programs together. It is about transforming student learning in a way that requires merging those dis-ciplines in pursuit of a cohesive goal. Students need to learn the thinking and practice in one discipline that will guide choices and impose constraints in another. Human endeavor does not fit so neatly in academic departments yet we should educate students, eval-uate instruction, and assess outcomes in a discipline-blended way.

But it’s not easy. Let’s talk.Formal education has tradition-

ally been organized along discipline boundaries for institutional conve-nience. But that poses some challeng-es in an interdisciplinary world. It’s something the SIGGRAPH community

Page 11: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

INSPIRING MINDS FOR 200 YEARS

Ada’s Legacy illustrates the depth and diversity of writers, things, and makers who have been inspired by Ada Lovelace, the English mathematician and writer.

The volume commemorates the bicentennial of Ada’s birth in December 1815, celebrating her many achievements as well as the impact of her work which reverberated widely since the late 19th century. This is a unique contribution to a resurgence in Lovelace scholarship, thanks to the expanding influence of women in science, technology, engineering and mathematics.

ACM Books is a new series of high quality books for the computer science community, published by the Association for Computing Machinery with Morgan & Claypool Publishers.

Page 12: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Kicking Butt in Computer Science: Women in Computing at Carnegie Mellon University

BOOK REVIEW

by Daniel Zingaro,University of Toronto, Mississauga

10  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Carol Frieze and Jeria Queensberry Dog Ear Publishing, Indianapolis, Indiana, 2015ISBN: 978-1-4575-3927-5

For me, the edgy title of the book promised a fiery romp through the halls of Carnegie Mellon University (CMU),

wherein the stories of butt-kicking women in computer science (CS) are told. Anecdotes of successful women in CS, chronicles of their rise to butt-kicking status—this is what I expected. This is not what I got. What I got was more useful—a careful academic treatise of women in CS at CMU, and a cache of food-for-thought for anyone hoping to improve the women and computer science (women-CS) fit at their schools.

The book’s thesis is simple, if conten-tious—a focus on gender differences does not work; a focus on culture does.

In 1999, changes were made at CMU that improved the women-CS fit. One result of these changes was that more women were admitted to the CS major. Contrary to literature reporting on women feeling un-happy and uncomfortable in CS, research-ers at CMU noted that women were now graduating at rates comparable to their male peers and were enjoying themselves while doing so. In the first chapter, the authors survey and critique the existing literature that suggests bleak experiences for women in CS. A particularly interesting observation is that women in CS are often interviewed when they are few of them. Might things change when the number of women is increased? The authors also ar-gue that supposed gender differences are over exaggerated, and that such differenc-es are often context- and culturally-specific.

In the second chapter the authors leverage up-to-date, relevant statistics to argue that women’s participation in CS is low in both absolute numbers and relative to other science fields. The moral, social, economic, societal, and performance costs of this low participation are explored. This is a short chapter, and an optional one if you are already convinced of the benefits of a diverse workforce.

Chapter 3 is composed of two main parts. The first is a largely optional history of CMU and its School of Computer Science, and the role that diversity played in these histories. The second part expands on the changes to admissions made in

1999—selecting students with both strong SAT scores and evidence of giving back to the community—and explores the effects of these changes in terms of women’s participation and school atmosphere. More than any other chapter, this chapter is steeped in the traditions, people, and his-tory of CMU; this offers useful perspective, though some of the material is so specific as to make application difficult.

In chapter 4, the authors introduce the case studies and qualitative methods on

which the analyses in chapters 5 and 6 are based. There are five primary case studies. The first is from the pre-1999 days when women’s participation was low, and when attitudinal gender divides were prominent (e.g., men “dream in code,” women “compute with a purpose”). The latter four are from the post-1999 days of gender and opportunity balance and, in stark contrast to the first case study, demonstrate that gender divides are not as large as once thought. The qualitative method of choice is ethnography: an inter-view- and observation-heavy approach used to understand a cultural group.

Chapter 5 is the first results chapter, and the strongest chapter in the book. In this

The book’s thesis is simple, if contentious— a focus on gender differences

does not work; a focus on culture does.

Page 13: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  11

OPINION

chapter, the authors explore the spectrum of attitudes around entering the CS pipeline, perceptions of the field, stereotypes, perfor-mance and confidence, and the inclusive CS culture at CMU. Gender similarities, rather than differences, abound: men and women both grow up with and use computers, have “computing families,” conceptualize CS as problem-solving rather than program-ming, have similarly diverse interests in CS, problematize dominant CS stereotypes, and so on. Do men like programming more than do women? Do men report higher pro-gramming confidence than do women? Do women leave the major at higher rates than do men? In this chapter, the authors provide nuanced and sometimes surprising respons-es to these and many other questions.

Along with increased gender balance, the authors credit Women@SCS [1] as the impetus for the evolving CS culture at CMU. Women@SCS is an organization of students and faculty, funded by the School of Computer Science, focused on social, academic, and professional opportunities for women. With this organization as the backdrop, the authors address in Chapter 6 a pernicious conundrum—how can we enhance opportunities for women without turning the whole thing into a support group? In the final chapter, the authors outline the development of Women@SCS, the reasons why it has thrived, the types of events and programs that are offered, and the impacts of those efforts on students and Women@SCS volunteers.

The book offers both a well-researched study and a comprehensive index into the women-in-CS literature. Perhaps most im-portantly, the book urges us to be mindful of and act on ill-fitting CS cultures at our own schools.

References 1. Women@SCS; https://www.women.cs.cmu.edu/.

Accessed 2016 December 17.

Daniel ZingaroUniversity of Toronto Mississauga3359 Mississauga Rd.Mississauga, ON, CanadaL5L [email protected]

DOI: 10.1145/3008663 Copyright held by author.

Page 14: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Basic Do’s and Don’ts in the Classroom: Combating Bias, Presentations, and Slides

CLASSROOM VIGNETTES

by Henry M. Walker,Grinnell College

12  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

This column is the third and final installment in a series designed to help new and inexperienced faculty

get started in their teaching.• The Classroom Vignettes column for

September 2016 listed 21 do’s and don’ts related to the classroom environ-ment, student-faculty interactions, and general classroom parameters.

• My Curricular Syncopations for Decem-ber 2016 presented practical tips and techniques for planning and organizing a course for the first time.

• This column presents another list of do’s and don’ts for the classroom—focusing on combating implicit bias, details of slides, board notes, and similar day-to-day activities.

As with the previous columns, the reader is warned that what follows is designed as a starting point rather than a definitive or com-plete statement regarding effective teaching. Although some elements of effective teach-ing may vary based on faculty personalities and perspectives (as noted in my September 2016 column), the suggestions here are widely observed as practices and approach-es that apply in many classroom settings with small and mid-sized enrollments.

Combating Implicit Bias and Discrimination (e.g., Figure 1)1. Do be careful in praising (or criticizing)

only some class participants.Commentary: Selective praise in class may be perceived as a bias toward one student or group and against another. For example, if one person provides a nice answer to a question and receives a

“well done” comment, then others providing helpful answers should receive similar praise.

2. Do and publicly advertise blind grading, where the instructor does not know whose solution is being scored at any time.

Commentary:• A well-observed phenom-

enon, sometimes called the “halo effect,” is that graders tend to give the benefit of the doubt to students who generally perform well, but are less forgiving and sympathetic to students who generally perform less well—inde-pendently of the answer written.

• When students take a written test, I ask them to write their names on the first page only. Then I grade all of question 1 responses, then all question 2 respons-es, etc. After grading each question, I record the score and turn the paper to the next problem before going on.

This allows me to grade each answer fresh—without knowing whose paper I am reading. (I might be able to guess somewhat based on handwriting, but even then, a similar handwriting might be common to several students.) This approach also ensures that I do not know students’ scores on previous problems when I am grading the next one—again reducing the possibility of bias when grading.

3. Don’t show bias in interacting with all students.

Commentary:• As an extreme, do not address some as

“Mr. Walker” and others as “Donna.” • Avoid use of terms, such as “guys,” that

some may consider a general reference, but others will consider sexist and exclusionary. For example, avoid “these guys,” “those guys,” and “you guys.”

• With increasing cultural sensitivity to matters related to gender, one must be careful with the use of pronouns—what is appropriate when referring to a specific student: “he,” “she,” “ze,” etc.? Some faculty recommend asking each student to complete a note card on the first day to clarify such matters.

Figure 1: Two Lab-based Sections of CS2—Celebrate Diversity

Page 15: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  13

OPINION

• Personally, I call all students by their first names and avoid pronouns. For me, this is a simple approach that avoids many potential pitfalls.

4. Do be careful to avoid bias in examples, pictures, etc.

Commentary:• Not all professional people are white

males, so one must be careful that examples involving professional people include a diverse range of names and references. (Of course, similar com-ments apply to any career group.)

• Images send messages regarding who is included in a group, profession, club, etc., and images also suggest which groups might be excluded or not welcome.

Standards5. Do maintain standards, but be creative

in how students demonstrate mastery—reflecting different personality types and learning styles.

Commentary: Years ago, I had the same student for calculus I and calculus II. Throughout calculus I the student did well on homework and in class discus-sions. However, the student consis-tently performed poorly on tests. By the end of Calculus I, the student was frustrated in that test scores did not seem to reflect the student’s knowl-edge. Immediately after the first test in Calculus II, the student came directly to my office and indicated, “It happened again. I did not show what I knew.” The student then indicated a wish to show me that the student knew each answer and proceeded to write a completely correct solution to every test problem on my blackboard. Thereafter, I allowed the student to take the test in my office—on the blackboard, and the stu-dent aced every test. The point is that, at least for me, grades should reflect actual mastery of the relevant material, but different students may flourish in one environment rather than another. I am open to students demonstrating their understanding in various settings, but the course grade must be based on actual evidence, not on assertions of “I panicked.”

Presentation Basics6. Do speak loud enough, without over-

whelming some in the front of a room.Commentary: Speaking clearly and at an appropriate volume does not guarantee a conversation will be effective. Howev-er, mumbling or speaking too quietly or too loudly or utilizing a monotone voice will likely guarantee that other qualities of a presentation will not be effective.

7. Don’t fall prey to distracting mannerisms:a. Avoid verbal ticks, such as “like,” “uh,”

“basically,” “you know,” and the like.b. Avoid unnecessary physical gestures

and movements that sidetrack a listener’s attention from the matter at hand.

Commentary: Students need to focus on content, logical connections among ideas, techniques, etc. Idiosyncrasies in presentation can capture a listener’s attention, undermining the examination of the intended subject matter.

8. Do ask an observer to periodically attend a class session to note what is working well, what details might be distracting, and what improvements might be possible.

Commentary: As an instructor engaged in classroom interactions, it is very dif-ficult to objectively determine how stu-dents percieve behaviors and practices. Are notes clear, can students read slides/board notes, is the instructor too loud or too quiet, etc.? An observer can provide worthwhile feedback without having to lead the class at the same time.

9. Don’t pretend you know everything.Commentary: The discipline of computer science changes at a rapid rate, and few (if any) can keep up with all current de-

velopments in the field. Thus, it is fine to say you do not know an answer, but then either think it through with the class or tell them the following class (after doing your homework).

10. Do articulate your thought process, when you need to think about the answer to a student question.

Commentary: Thinking quietly, by

yourself, may seem efficient in getting an answer, but talking about the process provides insight about how you ap-proach a problem. Further, students can observe both false starts and successful approaches, and you are modeling the problem-solving process.

Class Structure and Organization11. Do start each class by presenting an

outline of what will be covered, so listeners can follow the various topics being covered and can put the pieces together as the class proceeds.

Commentary: Within an oral presen-tation, listeners cannot go back to previous material to check connections with what happened earlier. Rather the speaker must make those connections. Beginning class by outlining topics to be covered helps identify an initial structure for what follows.

12. Do encourage students to bring their books to class, and then refer to graphs, tables, etc. rather than reproducing extensive content on the board.

Commentary: Since it takes time to read and digest large amounts of data and long passages of text, classroom activ-ities can easily become bogged down when extensive details are presented.

Avoid bias in examples, pictures… Images send messages regarding who is

included in a group, profession, club, etc., and images also suggest which groups might be excluded or not welcome.

Page 16: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

14  acm Inroads  2017 March • Vol. 8 • No. 1

OPINIONBasic Do’s and Don’ts in the Classroom: Combating Bias, Presentations, and Slides

When handouts or the textbook are available for reference, class time can be devoted to highlighting important ele-ments and making connections among topics. When students see the data or descriptive material in the book, they will know where to go for in-depth study after the class is over.

13. Do define terms when they are first used, so all in the room will know the meaning of what is being said. Similar-ly, avoid excessive use of acronyms, as being largely unnecessary.

Commentary: Lack of definition of terms can represent an inherent bias toward under-represented groups who may not have encountered the terms previously, but could excel if they were brought into the discussion.

14. Do show the payoff of each topic presented.

Commentary: For example, covering the mechanics of program verification without giving experience on developing proofs and code together give the me-chanics without any insight about why anyone would care.

Slides and Notes on a Whiteboard/Blackboard15. Don’t copy the book to slides or your

notes, and then copy the slides or notes to the black board/white board.

Commentary:• If the book already provides informa-

tion, there is little gain in repeating it in the same way—that is already done.

• A common goal of a degree program is to provide students with the skills they will need for a career requiring lifelong learning. Copying the book and reading it to students seems counter to this need for lifelong-learn-ing skills. In contrast, helping students to learn on their own (with support and guidance) can be an important element in preparing students for life after graduation.

16. Don’t read slides word-for-word.Commentary: Attendees will read the slides—teacher commentary can provide additional perspectives.

17. Do visit the classroom ahead of time to determine what parts of a slide are easily visible from all locations in the room.

Commentary: In some rooms, the bottom third of a slide may be obscured by furniture or otherwise not visible. In other rooms, lighting fixtures near the ceiling may obscure the top part of a slide. Knowing about such obstacles is important in creating slides that are clearly visible by everyone in a classroom.

18. When writing on the board, read aloud what you are writing, so students can take notes as you are writing; then when done writing, repeat what you said (likely in different words) as you are looking at the class.

Commentary:• Make eye contact with your students

throughout the classroom as much as possible.

• Not only does reading aloud fill dead air while writing, it causes listeners to hear the material once while they are taking

Figure 2: Well-designed Slide, with index at left and concise, clear notes in body

Figure 3: Cluttered Slide with Excessive Color and Graphics

Page 17: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  15

OPINION

notes. Restating the material after the writing is completed reinforces the material and helps drive home the main ideas: one instructor writing is bolstered by one student copying and two spoken reviews of the material.

19. Don’t fill a slide or the board with extensive content in small print (e.g., Figures 3).

Commentary: Students cannot read and digest vast amounts of material in a short time—even if they can read all the details from the back of the classroom.

20. Don’t talk to the board or a monitor. Do write large enough to be seen eas-ily at the back of the room (and peri-odically check the board after class by walking around the classroom).

Commentary: Sometimes in the excite-ment of the moment, it is easy to rush through the writing process. At least for me, the result can be sloppy and too small—unless I consciously work to maintain legibility for all (even those in the back of the room).

21. Do plan what you will put on the board where, so the presentation will be logical and easy to put into students’ notes.

Commentary: Since slides or board notes will likely be transcribed into student notes, the board needs to make sense as the session progresses. Inserts, erasures, arrows, etc. can make notes very hard to follow after the fact, and students may have difficulty recon-structing the ideas presented.

22. Don’t write haphazardly on the board.Commentary: Expect that your notes (from slides or the board) will represent exactly what students write in their

notes. When your writing on the board is sketchy or randomly placed, student notes likely will be similarly unorganized, and students likely will have difficulty determining how the pieces fit together.

23. Do assume that what is written on the board or on slides will be transcribed into students’ notes (but assume noth-ing else will go into students’ notes)

Commentary: When I have looked at student notebooks during office hours over the years, I almost always can ob-serve copies of what I have written on the board (not always copied perfectly, but usually representing a valiant effort at copying). Although some students add their own comments during note taking, my experience suggests that added comments are relatively rare, and when present, these comments are only sometimes on target.

AcknowledgmentsMany thanks to Charlie Curtsinger, Grinnell College, and Titus Klinge, Iowa State University and Grinnell College, for providing feedback on a draft of this column and suggesting additional discussion points for this column. Some ideas regarding presentations grew out of materials prepared by Kent McClelland, Department of Sociology, Grinnell College.

Henry M. WalkerDepartment of Computer ScienceGrinnell CollegeGrinnell, Iowa 50112 [email protected]

DOI: 10.1145/2953885 Copyright held by author.

Lack of definition of terms can represent an inherent bias toward under-represented

groups who may not have encountered the terms previously, but could excel if they

were brought into the discussion.

COMMUNICATIONSAPPS

Available for iPad, iPhone, and Android

Available for iOS, Android, and Windows

http://cacm.acm.org/about-communications/mobile-apps

Access the

latest issue,

past issues,

BLOG@CACM,

News, and

more.

Available for iPad,

Available for iOS,

Page 18: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Everyone Deserves a Second Chance!

CONVERGENT PATHWAYS IN TERTIARY EDUCATION

by Gillian M. Bain and Graham Wilson,Moray College, University of the Highlands and Islands

16  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

This article introduces a new author to ACM Inroads and begins a new chapter in

Moray College, The University of the Highlands and Islands (UHI)’s contribution. We have a new heading for our opinions column—Convergent Pathways in Tertiary Education. The theme of this new title—that of inclu-sivity and the different path-ways on which students arrive in computer science at Moray College—is expanded on in this first opinion piece.

Having just returned from attending the Moray College UHI 2016 graduation awards ceremony we are pleased to report that we had very few students graduating from Computing this year. Why pleased? Well, because most of last year’s cohort have stayed with us into the new session! We have the privileged status of being comprised of Further Education colleges, Moray College being one, and a University combined and for our students that pres-ents an opportunity that may be difficult to find anywhere else in the world. Students can graduate with a qualification at the end of each of the four years of their pro-spective studies. Our qualification structure allows students to graduate with a Higher National Certificate (HNC) in Computing in year 1, a Higher National Diploma (HND) in Computer Science in year 2, in year 3 a Batchelor of Science in Computing and fi-nally in year 4, a Batchelor of Science Hon-ours Degree in Computing (levels 7–10).

Students graduating with these distinct qualifications can either continue studying with us, go into employment, or move to another university perhaps to pursue a different pathway. This yearly graduation ceremony at Moray College UHI is unique. We can be celebrating a first-year student graduating with an HNC in Computing with the intention to continue studying else-where and at the same time be celebrating a fourth-year student graduating with their honours degree.

This article introduces Graham Wilson, a computing lecturer at Moray College UHI, new to writing with ACM Inroads, and two Moray College UHI students each with his own story to tell about graduation. At the post-graduation gathering afterwards Gra-ham spoke with these two students who

had graduated this year. These are their stories as told to Graham.

Two of the students I chatted with highlighted the unique opportunities avail-able at Moray College UHI. Both started in one of our entry-level further education courses. Although by their own admission neither excelled in secondary education, they gambled on a return to education—one has just graduated with a BSc in Computing and the other a BSc (Hons) in Computing. The latter tells me that he was advised not to take Computing at school but he did so anyway and now the local authority employs him, designing front-end apps for management. Like graduates everywhere, ours are clearly proud of their achievements and rightly so. For many, an educational false-start means that

Page 19: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  17

OPINION

they must work extremely hard to achieve academic success. I wouldn’t claim that we, their lecturers, have worked miracles, but maybe we have helped inspire them to turn the seemingly impossible into reality.

I (Graham) asked both students about their experiences at Moray College UHI and they were very candid; they enjoyed it and claim to be very different people from when they started. They were uncertain at first, taking it day-by-day, but now they are confident and still enjoying learning on their own terms. The cumulative achieve-ments of passing units and course levels and overcoming personal obstacles have helped them to shape their identity.

To get a record of these valuable post-graduation perspectives, I asked Jim (happy to be named), a non-traditional age student, if he will do a short interview with me; he happily agreed. He initially came to college to learn how to make a website for his novels, of which he has written dozens and is self-published with a growing fan base. Jim had 2 O’ Grades from school, but had been out of education for a long time (25 years) and his initial feelings were of being out-of-place, alienated, and “older than all of the lecturers.” After passing a further education entry level course, Jim set his sights on going as far as he could, then he encountered serious difficulties at HND level. At that point he visited a coun-sellor, was diagnosed with learning disabil-ities, and officially registered as disabled. After coming to terms with the nature of his disability and learning to appreciate his own strengths, Jim found that he could work around his problems [5].

Jim reported that once the support structure for those with disabilities swung into action:

With the help of the lecturers and staff of the college, I was able to push myself much further than I would have been able too otherwise. The biggest difference was actually realising that I had strengths that I could utilise as well. Without that knowledge, I would never have passed my HND year.

I asked Jim if college has changed him, to which he gave a remarkably honest and heartening response:

On a personal level, the changes have been very dramatic. To begin with, I was very unsure of myself in the learning environment. The bad experiences I had at school were never far from my mind. I was probably quite brash, always on the defensive, maybe even offensive at times. Now I am far more confident, more patient, more willing to listen. To that end, I feel that I have grown substantially on many different levels.

Clearly, Jim had reservations about the education system before coming to college and I wondered if his experience at Moray College UHI has changed his opinion:

You are talking about an entirely different era here. There is simply no comparison to the hell I went through at school, to the wonderful experience I had at college.

One week later I talked to Grant (also happy to be named), who, though he was not at the graduation ceremony, had just gained a BSc in Computing. Grant also came to Moray College UHI as a non-tradi-tional age student entering a further edu-cation level computing course, possessing an SVQ in painting and decorating. He had only intended to stay for one year while trying to find a job. Initially he was very uncertain but then he started enjoying the classwork. Grant recalled that:

Learning how to become a student again was quite difficult as I hadn’t been in education for nearly 10 years and I wasn’t the best pupil at school, so going from that to actually study-ing was a big step.

Grant admitted that he found learning, “particularly programming,” difficult at times, but he could seek out support when it was required:

The lecturing staff were really good at helping and would sit with me and go through specific problems until I understood it. Other students were also really good helping with problems as well.

A lack of employment opportunities was a motivating factor for Grant and he believes that a persevering attitude helped him carry on when things just weren’t going his way:

The fact that I was being turned down for jobs as I had no qualifica-tions, I knew I had to work hard to get what I wanted. I feel quite proud to have managed to get my degree having planned to drop out at the Jim and Graham post-graduation

Jim reports that … “With the help of the lecturers and staff of the college,

I was able to push myself much further than I would have been able too

otherwise. The biggest difference was actually realising that I had strengths

that I could utilise as well.”

Page 20: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

18  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Everyone Deserves a Second Chance!

end of every year I was here. I think I am a lot more responsible now than when I started. My parents are really proud of me for getting the degree as they can see the difference in me from what I was like before.

Despite similar educational pathways, Grant and Jim have very different per-spectives regarding their educational experiences at Moray College UHI. For Jim, college has clearly had a profound impact upon him personally. Grant appears to have perceived the experience as neces-sary from an employability perspective, de-lineated by the potential rewards success could bring. Grant states:

I still feel that apprentice schemes are the way every person should go for most jobs. Learning on the job is the only way people really learn something.

It appears that Grant, considerably younger, has maintained a career-focussed, outward-looking perspective [2], while Jim has experienced college at a deeper, introspective level [3]. Although both have ultimately achieved the same qualification, they reflect on it quite differently; Grant still perceives education as a necessary step on the road to employment, and has consistently held that opinion, while Jim who had no clear goal initially, appears to have undergone a fundamental personal transformation.

Although we offer a non-traditional route to higher-level qualifications (despite having university status), we may proudly consider ourselves a university of second chances. Our student entrants at further education levels come from a mix of backgrounds; HNC students can enter Moray College UHI with a minimum of one higher qualification at grade C, whereas mainstream universities are looking for a minimum of four Highers at grades AABB. We cater for many students with compli-cated and difficult circumstances (social deprivation, broken homes, etc.) [1] and al-though some have the necessary qualifica-tions to gain entry to the top universities, they choose to come to us instead; often to our surprise, we discover them extremely competent, skilled, and conscientious. Our

students encompass a broad spectrum of ability, unlikely to have any comparable equivalent at any other higher education institution.

In recent years, our student numbers have swelled with a growing number of well qualified school leavers, who come to us for their HNC year, using it as a spring-board to get into what would have been their first-choice University. Often, they are still quite young or lacking in confidence and not quite ready to move away from home [4]. Increasingly these students re-main with us, perhaps because they make a network of friends or find the environ-ment (small class sizes, etc.) comfortable and welcoming, while potentially avoid-ing being burdened with a student loan through being able to study at a university in their local area.

As lecturers at Moray College UHI, we need to develop different skills from traditional university lecturers (greater focus on social awareness, behavioural and classroom management), particularly in terms of HN courses. With highly qualified students entering directly from school, mature students returning to education, and students working their way up through further education levels, our first year HNC classes can comprise a real mixture of age, experience, and ability. We have become accustomed to such diverse cohorts and as demonstrated by Jim and Grant, the entry route does not have to be a bar to achievement. While we must by necessity be a great deal more supportive than traditional university lecturers, we still encourage independent learning and thinking. There are many pathways into and through further and higher education

and while a qualification should not always be the ultimate measure of success, we believe that, no matter what has gone before—everybody deserves a second chance.

References 1. Devlin, M. Effective teaching and support of students

from low socioeconomic status backgrounds: Practical advice for teaching staff. (2012); http://www.lowses.edu.au/assets/Practical%20Advice%20for%20Teaching%20Staff.pdf. Accessed 2016 November 30.

2. Kandiko, C.B. and Mawer, M. Student Expectations and Perceptions of Higher Education. (London: King’s Learning Institute, 2013); https://www.kcl.ac.uk/study/learningteaching/kli/People/Research/DL/QAAReport.pdf. Accessed 2016 November 30.

3. Meyer, J.H.F. and Land, R. Threshold Concepts and Troublesome Knowledge 1–Linkages to Ways of Thinking and Practising in Improving Student Learning–Ten Years On, edited by C. Rust (OCSLD, Oxford, 2003). Accessed 2016 November 30.

4. ORA Prep. 8 Common Fears about University–and Why You Should Stop Worrying. (2014); http://www.oraprep.com/common-fears-university-worry/. Accessed 2016 November 30.

5. Tinklin, T., Riddell, S. and Wilson, A. Support for students with mental health difficulties in higher education: the students’ perspective. British Journal of Guidance & Counselling, 33, 4 (2005), 495-512; http://www.ces.ed.ac.uk/PDF%20Files/TT_0419.pdf. Accessed 2016 November 30.

Gillian M. BainDepartment of ComputingMoray CollegeUniversity of the Highlands and IslandsMoray Street, Elgin IV30 1JJ [email protected]

Graham WilsonMoray College UHIMoray StreetElginMoray IV30 [email protected]

DOI: 10.1145/3043957 Copyright held by authors.

With highly qualified students entering directly from school, mature

students returning to education, and students working their way up

through further education levels, our first year HNC classes can comprise a real

mixture of age, experience, and ability.

Page 21: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Row/Column Transformations

COLORFUL CHALLENGES

by David Ginat,Tel-Aviv University

acm Inroads • inroads.acm.org  19

OPINION

The first part of the current column poses questions about the utilization of algorithmic operations. After

examining several examples, one may offer intuitive conjectures. Yet, these are just conjectures. The challenge is to develop their sound proofs. Such a phenomenon occurs often in algorithmics, when algorithmic problems are offered, and their underlying characteristics need to be proved. The second part of the column involves an algorithmic solution that capitalizes on a hidden simple notion, which is also relevant in a variety of occasions in computer science.

New ChallengeROW/COLUMN TRANSFORMATIONSGiven an N×N matrix of positive and negative integers, we may repeatedly apply an operator that changes the signs of all the integers in a selected row or a selected column. The goal is that the sum of the integers in each row and each column will be non-negative. We ask two questions. 1. Can we obtain the desired goal for

every given matrix of positive and neg-ative integers?

2. What is the lower bound on the num-ber of sufficient operator applications for reaching the desired goal (for those matrices for which the goal may be obtained)?

Prove your answers.Example. The goal may be obtained with the matrix below, in two operator applications. We may first apply the operator on the 3-rd (bottom) row, and

then apply it on the 2-nd (middle) column. Can we obtain the goal for every given 3×3 matrix of integers? Are there matrices for which we may need more than 2 applications of the operator; and, if so, how many operator applications will suffice for obtaining the goal for 3×3 matrices?

+3 +2 −1

+4 −5 +1

−8 +1 −1

PREVIOUS CHALLENGES SOLUTIONSLINEAR CAT-&-MOUSE GAME

A cat, on the ground, and a mouse, under the ground, play the following game. The mouse hides in an underground tunnel, composed of a linear concatenation of N sections - section1, section2, section3 … sectionN. Each section has a ground exit, into which the cat may insert its leg (from the outside). Initially, the mouse

is in one of the sections. The cat is free to move on the ground as it wishes, and insert its leg into any of the sections (one at a time). If the cat inserts its leg into the section where the mouse hides, then the mouse it caught. Otherwise, right after the cat’s attempt, the mouse moves to an adjacent section (e.g., the mouse hides

in section7, and the cat inserts its leg into section3; thus, the cat does not catch the mouse, and right after this cat’s attempt, the mouse must move, either to section6 or to section8 (as it wishes), and wait for the next attempt by the cat). The mouse changes its section only following an attempt by the cat. Can the cat always catch the mouse? If so,

how? If not, why?

SOLUTIONProblem solvers attempt this task in various ways. Some try repeated cat attempts on the same section. One solution in this direction involves two consecutive attempts on each section, starting from section2. Unfortunately, the mouse may escape such an algorithm.

Others try to advance from one end of the tunnel to another by “local back and forth” attempts (e.g., attempting section2, then section1, then section2 again, then section3, then section2 again, then section3 again, then section4, and so on). The mouse may escape such an algorithm as well. In these cases, the mouse may

Such a phenomenon occurs often in algorithmics, when algorithmic

problems are offered, and their underlying characteristics need to be proved.

Page 22: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

20  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Row/Column Transformations

“sneak” from a zone on one side of the cat’s attempt to a zone on the other side.

While these algorithms may seem intuitively relevant at first glance, they are not based on suitable underlying

characteristics. The challenge is to recognize a suitable characteristic on which to capitalize. In careful examination, we may attempt a potentially relevant characteristic: in every step, the mouse changes the parity of its section.

A sequence of cat attempts in consecutive sections, starting from section1 (and advancing from left to right), guaranties that the mouse will be caught if the mouse is initially in an odd section. This is due to the observation that at any given time, the cat attempts a section whose parity equals the parity of the mouse section. A “sweep” from left to right will not let the mouse escape from a zone ahead of the cat to a zone behind the cat; as the distance between the cat and the mouse before every new attempt by the cat is even (0, or 2, or 4, …).

However, the mouse may manage to escape if its initial section-parity is even (and the cat starts from section1). Does this mean that the cat may catch the mouse only in half of the initial cases? Not quite. If the cat does not catch the mouse in its left-to-right “sweep,” then upon reaching sectionN, the cat may “synchro-nize” the parity of its attempted section with that of the mouse by attempting sectionN again (i.e., attempting sectionN twice in a row). Then, the cat may perform a “sweep” from right to left, and this time it will catch the mouse.

All in all, the cat may always catch the mouse, in at most two “sweeps.” The key point was to “go for” a parity characteristic of the distance between the cat’s attempted section and the mouse

section. When an even distance exists, it is kept throughout a “sweep.” The underlying theme here, of capitalization on parity (with respect to distances), appears in a variety of occasions in computer science—e.g., the notion of even distances between nodes in a bipartite graph, or the notion of odd-length cycles found by Breadth-first search in an undirected graph. Although this theme is simple and common, our experience with students shows that many are not aware of its relevance. An example like the one here may enhance students’ awareness of this theme.

David GinatTel-Aviv UniversityTel-Aviv, [email protected]

DOI: 10.1145/3024914 Copyright held by author.

The underlying theme here, of capitalization on parity (with respect to

distances), appears in a variety of occasions in computer science—e.g., the notion of even distances between nodes

in a bipartite graph, or the notion of odd-length cycles found by Breadth-first

search in an undirected graph.

ACM Conference Proceedings

Now Available viaPrint-on-Demand!

Did you know that you can now order many popular

ACM conference proceedings via print-on-demand?

Institutions, libraries and individuals can choose from more than 100 titles on a continually updated list through Amazon, Barnes & Noble, Baker & Taylor, Ingram and NACSCORP: CHI, KDD, Multimedia, SIGIR, SIGCOMM, SIGCSE, SIGMOD/PODS, and many more.

For available titles and ordering info, visit: librarians.acm.org/pod

ACM Conference Proceedings

Now Available via Print-on-Demand!

Page 23: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

PH

OTO

: ©W

WW

.IS

TOC

KP

HO

TO.C

OM

/GU

MP

AN

AT

Community Colleges in the United States and Around the World

COMMUNITY COLLEGE CORNER

by Cara Tang,Portland Community College

acm Inroads • inroads.acm.org  21

OPINION

At ITiCSE (July 2016) in Arequipa, Peru, the ACM CCECC (Committee for Computing Education in Community

Colleges) organized and presented an invited panel titled “Global Perspectives on the Role of Two-Year/Technical/Junior Colleges in Computing Education.” Panelists from four different continents represented Australia (Simon), Canada (Diana Cukierman), China (Ming Zhang), Peru (Ernesto Cuadros-Vargas), and the United States (Elizabeth Hawthorne). Education systems differ around the world, and many countries have schools that fit somewhere after high school and before or in parallel with universities, usually offering shorter-term and/or more workforce-oriented degrees than universities. When considering pathways in computing education, these schools play an important role. This column presents information on such schools in the countries represented by the ITiCSE panel, and takes a deeper look at community colleges in the U.S. and the typical computing programs offered using my own school as an example.

Community colleges comprise a significant portion of higher education in the United States, with over 1100 colleges across the country enrolling over 12 million students. The American Association of Community Colleges 2016 Fast Facts sheet [1] indicates that 45% of United States undergraduates are community college students. The number is over 50% for some demographic groups, namely Black, Hispanic, and Native American. Additional-ly, 46% of students who complete a degree at a four-year institution were previously enrolled in a two-year institution [4]. The

number is over 60% for some U.S. states, including California and Texas.

The variety of computing programs and courses offered at community colleges in the United States is vast and serves a diversity of constituent groups. Comput-er science transfer programs offer lower division coursework towards a computer science bachelor’s degree, and (ideally) allow students smooth transfer to a four-year university to complete the degree. Applied associate degree programs offer a two-year degree (Associate of Applied Science, or AAS) leading to entry-level employment. While the transfer programs at community colleges are typically modeled after the lower division portion of the local university’s programs to facilitate transfer, applied programs can vary widely

and are often driven by the local economy. Titles of AAS degrees in computing include Information Technology, Computer Infor-mation Systems, Network Administration, Computer Network Systems & Security, Information Assurance, Computer Pro-gramming Specialist, Internet and Mobile Device Software Development, to name a few. In applied programs, courses may align with industry certifications, such as A+, Networking+, CCNA, and Security+.

In addition to degree programs, com-munity colleges in the United States offer an assortment of certificate programs, as well as non-credit courses and programs. Certificates generally have a narrower focus than degrees, and may be pursued along with an associate degree, or perhaps stacked towards a degree. Some commu-

Page 24: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

22  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Community Colleges in the United States and Around the World

nity colleges contract with local businesses to offer computing certificates to a target-ed audience. Often non-credit courses are offered to the local community and may range from basic computer skills to digital design to programming languages.

As an example, Table A summarizes the computing programs at Portland Community College (PCC). Located in Portland, Oregon, PCC is the largest community college in the state of Oregon, enrolling approximately 90,000 students per year. Three computing departments offer for-credit degrees and certificates in computing: Computer Science, Computer Information Systems (CIS), and Computer Applications and Office Systems (CAS). The courses in the computer science transfer program are modeled closely after those at Portland State University, the most popular transfer destination for PCC computer science students. Computer science students also transfer to Oregon Institute of Technology, Oregon State Uni-versity, University of Oregon, and Western Oregon University. The CIS program offers two AAS degrees and a variety of certifi-cates. An advisory board of local industry leaders informs the offerings in CIS. CAS similarly has an industry advisory board, and offers AAS degrees and certificates on the topics of office software as well as web design and development.

A detailed example of both transfer and applied computing degrees at a commu-nity college can be found at Bluegrass Community and Technical College (BCTC), located in Lexington, Kentucky. BCTC’s computer science transfer degree is a featured exemplar in CS2013 [3], and their computer & information technologies AAS degree is a program example in the ACM IT two-year guidance (Information Technol-

ogy Competency Model of Core Learning Outcomes and Assessment for Associ-ate-Degree Curriculum [2]).

Students at community colleges in the United States range from those fresh out of high school, to working professionals looking to upgrade their skills, to those wanting a career change, to retired indi-viduals who want to keep learning. One of the distinguishing features of community colleges is that they are open access, and the demographics of the student popula-tion tends to reflect that of the surround-ing community.

In Canada, the educational model varies by province. During the ITiCSE panel [5], Diana Cukierman shared her perspective from British Columbia based on her membership on the British Columbia Computing Education Committee (BCCEC), a part of the British Columbia Council on Admissions and Transfer. The British Columbia post-secondary system includes public colleges and institutes

in addition to universities. The range of programs offered at the colleges is similar to the range in the United States described above. However, there are very few private colleges and universities, thus the province can mandate transfer pathways from colleges to universities, which it does for computing programs through the BCCEC. With twice-yearly meetings and ongoing collaboration, the BCCEC facilitates articulation for transfer degrees in computing.

The Chinese education system includes junior colleges which offer 2- and 3-year degrees that have lower requirements than universities. As Ming Zhang shared at the ITiCSE panel [5], these junior colleges offer vocational programs as well as programs that allow transfer to a university. In fact, some local universities, such as Beijing Union University, are required to reserve up to 15% of enrollment for junior college graduates transferring to the university. The employment rate for those students seeking a job after junior college is 84%, compared to 66% for students graduating from university.

Representing Australia on the panel [5], Simon noted that the equivalent school in Australia is commonly called a TAFE, an institute of technical and further educa-tion. TAFEs offer technical and vocational programs, including those in computing such as software development and web development. In some cases, a TAFE and university share a campus, and students

Table A: Computing Programs Offered at Portland Community College

Program Type Degree/Certificate/Course Titles Typical Length

Transfer Computer Science 2 years

Associate of Applied ScienceComputer Information Systems, CIS Network Administration, Administrative Assistant, Administrative Office Professional, Website Development and Design

2 years

Certificates (sampling)Java Application Programming, Linux Server Administration, Database Design & SQL, Virtual Assistant, Web Assistant I

3 courses to 1 year

Non-Credit Courses (sampling)

Computer Security for the Home User, Creating Web Pages, MS Project 2013, AJAX Programming: Level 1, SQL: Level 1, Java Programming: Level 1

1 session to full term (10 weeks)

Page 25: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  23

OPINION

with TAFE diplomas may receive anywhere from minimal up to almost full credit for their TAFE study if they go on to study at the university. A challenge TAFEs are fac-ing is the Australian government’s recent extension of subsidies to private education providers (some of whom operate ques-tionably), making it difficult for the TAFEs to compete.

In Peru, the Peruvian Ministry of Education governs all educational institu-tions. Ernesto Cuadros-Vargas explained the educational system in Peru for the ITiCSE panel [5]. Technical colleges offer 3-year degrees in technical areas, such as computer technician, as well as shorter programs. Students who transfer from a technical college to a university to complete a bachelor’s degree are gen-erally able to receive recognition of their previous studies.

In keeping with its global mission to serve and support community and technical college educators in all aspects of computing education, the CCECC was

privileged to organize the ITiCSE pan-el described here. Furthermore, we are forming a group of international advisors to maintain an international perspective. Currently these include Reyyan Ayfer, from Bilkent University in Ankara, Turkey; and Margaret Hamilton, from RMIT University in Melbourne, Australia. Sharing perspectives across the world on computing education benefits all. I invite readers around the world to contact me or pass my informa-tion along to those interested in com-puting education at a community/junior college in their country. Anyone interested in computing education at community/junior colleges can join the google group cc-ed-computing and continue the discus-sion online.

References 1. American Association of Community Colleges.

Community College Fast Facts; http://www.aacc.nche.edu/AboutCC/Pages/fastfactsfactsheet.aspx. Accessed 2016 August 1.

2. Hawthorne, E.K., Campbell, R.D., Tang, C., Tucker, C.S., Nichols, J. Information Technology Competency Model of Core Learning Outcomes and Assessment

for Associate-Degree Curriculum. New York: Association for Computing Machinery, 2014; DOI=http://dx.doi.org/10.1145/2686614.

3. Joint Task Force on Computing Curricula, Association for Computing Machinery (ACM) and IEEE Computer Society. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. New York: Association for Computing Machinery, 2013; DOI= http://dx.doi.org/10.1145/2534860.

4. National Student Clearinghouse Research Center, Contribution of Two-Year Institutions to Four-Year Completions, 2015; http://nscresearchcenter.org/snapshotreport-twoyearcontributionfouryearcompletions17. Accessed 2016 August 1.

5. Tang, C., Hawthorne, E. K., Tucker, C.S., Cuadros-Varg, E., Cukierman, C., Simon, Zhang, M. Global Perspectives on the Role of Two-Year/Technical/Junior Colleges in Computing Education. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16), 204-205; DOI=http://dx.doi.org/10.1145/2899415.2899420.

Cara TangPortland Community College12000 SW 49th Ave.Sylvania, TCB 312Portland, OR [email protected]

DOI: 10.1145/3007576 Copyright held by author.

A personal walk down the computer industry road.

BY AN EYE-WITNESS.Smarter Than Their Machines: Oral Histories of the Pioneers of Interactive Computing is based on oral histories archived at the Charles Babbage Institute, University of Minnesota. These oral histories contain important messages for our leaders of today, at all levels, including that government, industry, and academia can accomplish great things when working together in an effective way.

Page 26: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Broadening Participation by Supporting Great Teaching

EngageCSEdu

by Beth A. Quinn, Stephanie Weber, Terry Morreale, and Aaron Vimont, National Center for Women & Information Technology

24  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

I walked into that 300-person lecture and never looked back. It was Intro to Programming. I had never even seen code

before in my life. But I knew this class was going to be different. The professor made the environment comfortable and open enough for me to feel unafraid as a novice. For the first time in a long time I was en-gaged and interested in what I was learning. With programming, I love seeing my work ‘come to life.’ —Yadira, new CS graduate

Yadira is the first in her family to attend college. When she presented her story last fall to the Board of the National Center for Women & Information Technology (NCWIT), her eyes lit up as she described her experience in that first computer sci-ence class. It was “engaging” and “relevant to my life.” This positive experience con-nected her to computer science, and this year she will graduate with a BS in Com-puter Science from a leading research uni-versity. A great experience in CS1 changed Yadira’s life, and it illustrates the power of introductory classes to engage students in computing—or to turn them off.

Our mission at NCWIT is to increase the meaningful participation of girls and wom-en in computing. Before NCWIT, programs focusing on women and computing existed mostly in isolation, without the benefit of shared best practices, effective resources, communication with others, or national reach. Today, these programs are part of the NCWIT community, where a “change leader network” of both men and women access evidence-based tools and resourc-es and participate in an action-oriented national community of events and projects.

We developed EngageCSEdu, in collab-oration with Google and a team of CS faculty and diversity experts, because one important way to broaden participation in computing is to ensure that all students have the opportunity for an engaging and welcoming experience in their introductory CS courses [5].1 Just like Yadira.

Because of its specific focus on

broadening participation, EngageCSEdu is a unique collection. First, all materials sub-mitted to the collection undergo peer-re-view both by computer science educators and by learning and social scientists. Sec-ond, each material must use at least one “Engagement Practice”—a research-based technique to engage and motivate all students by “making it matter,” “growing inclusive student community,” or “build-ing student confidence and professional identity.” [7] Lastly, it’s a big collection—more than 1,200 items—that’s also easy to search. You can filter results on several criteria, including programming language

and the Engagement Practice used. We’re in the process of adding syllabi to the collection so you can explore how other instructors are sequencing their introduc-tory courses. Chris Stephenson, Computer Science Education Program Manager at Google and former Executive Director of CSTA, sums up EngageCSEdu well: “Many faculty want to improve the engagement

of diverse students in computer science undergraduate education. EngageCSEdu is a valuable peer-driven resource that helps achieve this goal.”

Yadira’s Intro ExperienceIn the quote that introduced this article, Yadira remarks that her intro CS professor “made the environment comfortable and open enough” for her to “feel unafraid as a novice.” While we don’t know what this specific professor did, we can offer some general research-based practices that you can use to the same effect. How can you help students feel comfortable being nov-ices? How can you make a classroom feel “comfortable” and “open?” In this brief arti-cle, we highlight the Engagement Practices outlined in the EngageCSEdu Engagement

1 For more information on how EngageCSEdu fits within NCWIT’s larger strategic change model, see [12]. To learn more about the early development of EngageCSEdu, see [10].

Many faculty want to improve the engagement of diverse students in computer

science undergraduate education. EngageCSEdu is a valuable peer-driven resource that helps achieve this goal.

Page 27: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  25

OPINION

Practices Framework that focus on grow-ing “inclusive student community.” As any experienced instructor knows, the students make the class—and the environment—as much as the professor does. So, foster-ing an inclusive student community is an important step in broadening participation in computing, and is one of three principles that make up the Engagement Practices Framework, the conceptual backbone of the EngageCSEdu project.2

Growing Inclusive Student CommunityStudents are more likely to persist when they have a community related to their academic pursuits [9]. One way that some departments attempt to create commu-nity for women students is by creating women’s groups. While these are great first steps, it’s not what we mean here. Instead, we are talking about the overall student culture, and whether women feel welcome both inside and outside of class. Faculty can help establish, support, and grow inclusive student community by fol-lowing some relatively simple practices in the classroom, and by providing leadership and support outside of class time.

One way to do this in your classroom

is by employing a well-structured collab-orative learning technique such as peer instruction or Process Oriented Guided Inquiry Learning (POGIL) [3]. In addition to being excellent ways for students to

learn, these practices help students get to know one another in the context of “work,” form social networks for studying and for support, and practice working in teams. Learn more about collaborative learning on the EngageCSEdu site, where you will find collection materials that use these tech-niques, and links to background research and other sites with more detail [3,7,11].

While there is a lot of great informa-tion available on these techniques, there are some details to consider to be as inclusive as possible. For example, avoid divide-and-conquer task allocation where students may use stereotypes to assign tasks, e.g., having women do project man-agement tasks rather than key technical ones [2]. Communicate that the goal is for all students to grow their skills. Also, avoid evoking stereotype threats by using women as an example or calling them out specifically. Just set the ground rules and apply them to everyone. To learn more, check out the Collaborative Learning page on the EngageCSEdu site [6].

The growth of an inclusive student community can also be encouraged through informal activities both in and out of the classroom or lab. Informal activities differ from collaborative learning experi-

ences because the primary goal is to help students make social connections rather than to directly impact learning. While not “educational” per se, these activi-ties—which we call “Student Interaction” in EngageCSEdu—can encourage the growth of important peer-support networks and a student-centered learning community. These can be as simple as an ice-breaking exercise early in the class. Like collabora-

tive learning, not all ice-breakers will grow inclusive student community. There are some tricks to it. For example, avoid activi-ties that might reinforce divisions between students based on gender, race, class, or other divisions where some groups are subject to negative stereotypes. Instead, find ways for students to find common-alities across the usual divisions. Also, set ground rules upfront and hold everyone accountable for them. These should in-clude explicit instructions on “professional behavior,” i.e., treating people like respect-ed colleagues. To learn more about grow-ing inclusive student community through informal activities, see the EngageCSEdu page on this Engagement Practice [8].

A final note on helping grow an inclu-sive, positive student community—com-puting has come to be associated with some strong stereotypes about who is a “computer scientist,” or more narrowly, a “programmer.” (“Brogrammer,” anyone?) Students who don’t fit the stereotype may have difficulty seeing themselves in the field and be less likely to have people sup-porting them in their pursuit of computing [1]. But faculty can help counteract these stereotypes, and the culture they promote, by modeling inclusive behavior and by teaching the norms of professionalism.

These are just some of the practices that you can use to grow inclusive student community. Check out the EngageCSEdu website to explore the other parts of the Engagement Practices Framework and to explore the peer-reviewed collection of ma-terials for introductory computer science.

Calls for New SubmissionsThe EngageCSEdu collection has many great resources for collaborative learning and we’re always looking for more. But we would also like to see submission of mate-rials that instructors are using to structure and implement these activities. These could be student-facing materials on how pair programming works (including the basic ground rules) or short papers providing oth-er instructors with tips on how to effectively offer a collaborative learning experience.

In addition to innovative materials on collaborative learning, we are looking for submissions focused on encouraging infor-mal student interaction. Because of our his-

2 The other principles are “Build Student Confidence and Professional Identity” and “Make it Matter.” Explore these principles and the related practices on the EngageCSEdu platform [7]. Read about its genesis in previous ACM Inroads articles [4,10].

Figure 1: EngageCSEdu Screenshot: EngageCSEdu Engagement Principles

Page 28: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

26  acm Inroads  2017 March • Vol. 8 • No. 1

OPINIONBroadening Participation by Supporting Great Teaching

torical focus on student-facing materials, we have very few materials in the collection that provide the level of detail instructors need to effectively encourage informal student interaction. What fun activities do you do with your students in the first day or week to get them talking to each other in class? Do you have any techniques for encouraging students to work together outside of class? Do you have resources for setting ground rules for behavior in labs that have been par-ticularly effective? If you do, please consider submitting them for consideration.

To submit for either of these calls, email us a brief description of your idea at [email protected]. We will work with you to find the right way to structure your materials for submission to our review process.

We’ll be at SIGCSE in Seattle!Come see us on the exhibitor floor at the 2017 meeting of the Special Interest Group on Computer Science Education (SIGCSE) March 8th through the 11th [13]! Look for the orange, blue, and green EngageCSEdu

logo. We’ll be available to talk about Engagement Practices, to discuss how you can submit your own course materi-als, and to sign you up to review. You can also pick up an Engagement Practices Framework poster, promo cards, and other EngageCSEdu materials while you’re there. Please feel free to reach out to us at any time at [email protected].

Figure 3: EngageCSEdu logo

References 1. Ashcraft, K. Plenary I-The Glass Slipper: Leaning

in…to the Evidence on Gender and Professions. NCWIT Summit (May 2015); https://www.ncwit.org/summit/archive/2015-ncwit-summit-plenary-i-glass-slipper-leaning-%E2%80%A6-evidence-gender-and-professions. Accessed 2016 December 12.

2. Barker, L.J. When do group projects widen the student experience gap? in Innovation and Technology in Computer Science Education.

(Caparica, Portugal: ACM, 2005), 276–280. 3. CS-POGIL; http://cspogil.org/Home. Accessed 2016

December 10. 4. DuBow, W.M., Quinn, B.A., Townsend, G.C., Robinson,

R., and Barr, V. Efforts to Make Computer Science More Inclusive of Women. ACM Inroads, 7, 4 (2016), 64–80.

5. EngageCSEdu; https://www.engage-csedu.org/. Accessed 2016 November 1.

6. EngageCSEdu, Collaborative Learning; https://www.engage-csedu.org/engagement/grow-positive-student-community/collaborative-learning. Accessed 2016 November 1.

7. EngageCSEdu, Engagement Practices Framework; https://www.engage-csedu.org/engagement/. Accessed 2016 November 1.

8. EngageCSEdu, Student Interaction; https://www.engage-csedu.org/engagement/grow-inclusive-student-community/encourage-student-interaction. Accessed 2016 November 1.

9. Joo, M., Nanette, K. and Tamara, V. Belonging and Academic Engagement Among Undergraduate STEM Students: A Multi-Institutional Study. Research in Higher Education (2015), 750–776.

10. Monge, A.E., Fadjo, C.L., Quinn, B.A., and Barker, L.J. EngageCSEdu: engaging and retaining CS1 and CS2 students. ACM Inroads, 6, 1 (2015), 6–11.

11. Peer Instruction in Computer Science; http://www.danielzingaro.com/pics.php Accessed 2016 December 16.

12. Recruit and Retain Strategically, NCWIT; https://www.ncwit.org/recruit-and-retain-strategically. Accessed 2016 December 21.

13. SIGCSE2017; http://sigcse2017.sigcse.org/ Accessed 2016 December 16.

Beth A. QuinnEngageCSEdu Project DirectorNational Center for Women & Information TechnologyUniversity of Colorado at Boulder, CB 417Boulder, CO [email protected]

Stephanie WeberEngageCSEdu Content ManagerNational Center for Women & Information TechnologyUniversity of Colorado at Boulder, CB 417Boulder, CO [email protected]

Terry MorrealeAssociate Director & CTONational Center for Women & Information TechnologyUniversity of Colorado at Boulder, CB 417Boulder, CO [email protected]

Aaron VimontTechnical Project Manager, WebmasterNational Center for Women & Information TechnologyUniversity of Colorado at Boulder, CB 417Boulder, CO [email protected]

DOI: 10.1145/3043951 Copyright held by authors.

Figure 2: Exemplars from the Collection using Collaborative Learning

Page 29: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

The Language of Computing

REFLECTIONS

by Deepak Kumar,Bryn Mawr College

acm Inroads • inroads.acm.org  27

OPINIONIL

LUS

TR

AR

TIO

NS

: © 2

016

DE

EP

AK

KU

MA

R

Comprehending and building correct cognitive models for the language of computing is a barrier to students

in the learning of computing. Students in introductory computing are challenged not just by the syntax and execution models of the programming language they may be learning, they are also challenged by the need to learn, internalize, and understand the vocabulary of computing so they can properly comprehend the process of com-putational problem solving.

This is not a column about reviving the “language wars.” I covered that in [3]. Widespread adoption and reliance on

technology for everyday tasks has contrib-

uted a new and ever evolving language of computing, a vocabulary that either

introduces new terms, or reifies

existing words with new meanings. Most

people google for stuff on the internet, they tweet nuggets of thoughts to their social networks, and FBI investigators de-duplicate sets of e-mails from sets of other e-mails [2]. Technology has also led to the re-interpretation of numerous com-mon words into completely new meanings and metaphors. For example, think about what the words computer, server, cursor, monitor, bug, cycle, spam, cloud, and virus would mean to an older generation.

Students in introductory computing classes arrive with a baggage of techni-

cal mastery in using all sorts of devices and computers. They have acquired and seem superficially proficient in using the technology influenced vocabulary. But, their understanding of such terms (noted earlier, for example) is often lacking. Thus, it becomes important for those of us who teach introductory computing courses to attend to and make concise the meanings of technical terms. HTML or CSS is not a programming language. There is no such thing as an if-loop. While- is not a func-tion. Beginning students, eager to learn to code, often neglect or mentally gloss over the precise vocabulary of computing and this inevitably contributes to poor performance and attrition. This creates an almost insurmountable cognitive crevasse noticeable by teachers only in the middle or two-thirds of the way into the course. We must make a conscious effort to make our students aware of not just the con-cepts we are trying to teach, but also the precise vocabulary that is embodied by these concepts.

Curricular and syllabus design for intro-ductory courses focuses on a wide array of concepts and applications. For example, here is an overview of the CS Principles course:

In this course, stu-dents will develop computational thinking skills vital for success across all disciplines, such as using compu-tational tools to an-alyze and study data and working with large data sets to analyze, visualize, and draw conclusions from trends. The course is unique in its focus on fostering student creativity. Students are en-couraged to apply creative process-es when developing computational artifacts and to think creatively while using computer software and other technology to explore questions that interest them. They will also develop effective communication and collaboration skills, working individually and collaboratively to solve problems, and discussing and writing about the importance of these problems and the impacts to their community, society, and the world. [1:4]

The AP CS Principles document makes explicit most of the essential conceptual knowledge students will learn. For exam-ple, the Big Idea#4: Algorithms section of the document lists the following essential

Page 30: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

28  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

The Language of Computing

ILLU

ST

RA

RT

ION

S: ©

20

16 D

EE

PA

K K

UM

AR

knowledge students will gain in the course:

Sequencing, selec-tion, and iteration are building blocks of algorithms. Sequenc-ing is the application of each step of an algorithm in the order in which the statements are given. Selection uses a Boolean condition to determine which of two parts of an algorithm is used. Iteration is the repetition of part of an algorithm until a condition is met or for a specified number of times. Algorithms can be combined to make new algorithms. [1:23]

As a communi-ty, we therefore

acknowledge that teaching the essential concepts of computing is an inte-

gral part of learning com-

puting. However, in practice, most

teachers succumb to prepared lesson plans. In a rush to ensure that the embod-iment of such concepts in a programming language is covered, teachers are often left with no time to stress upon students the importance of the language of computing that underlies the concepts. Textbooks exacerbate the issue further by completely ignoring it. While students may end up designing algorithms and writing programs that use sequencing, selection, iteration, and functions, they are often left without much time to reflect upon the acquisition of this new language of computing.

In NFL Football, or any other sport for that matter, I am reminded of play calls coaches make in crunch game situations only to watch it go horribly wrong leaving the fans questioning the rationale behind those calls, especially if their team loses. In postgame interviews coaches are often called upon to justify the rationale behind their calls. Blame for the outcome is then squarely placed on execution on the field. While we can make the right calls on what

to teach and how to teach, our execution in the classroom is often lacking when it comes to teaching/learning the lan-guage of computing. Student learning will always vary across a wide spectrum

but I do believe that taking the time to emphasize learning the language of

computing is as important as learning to read, write, and analyze programs. Proper understanding of the vocabulary, in my mind, is critical to student outcomes, learn-ing, and retention of core concepts well beyond the course.

At a certain level, if we were to de-sign our courses to limit exposure to new concepts and vocabulary, this might suggest going against the grain of the current design of introductory comput-ing courses where we are encouraged to emphasize the importance of computing across all disciplines and present a much broader perspective to students. With the effectiveness of using contexts (whether it is graphics, media, robots, etc.) in broad-ening participation we further add to the cognitive load of learning additional new concepts and vocabulary. As is, the list of terms we need to ensure our students understand is long—data types (integer, floating point, character, Boolean, strings), data representation (bits, bytes, binary, decimal, hexadecimal), data range, data structures (arrays, lists, vector, matrices), non-numeric data (text, images, sound, video, etc.), data abstraction, constants, expressions (numeric, Boolean), declara-tion/definition, statements, sequencing, selection, iteration, functions, parame-ters, recursion, algorithms, correctness, computing time & complexity, pseudo-code, programs, documentation, errors, debugging, programming languages, API, compilers, IDEs, etc. This list was mostly culled from [3] and represents less than half the vocabulary listed in the essential knowledge from the AP CS Principles course. Also, each of these has a specific meaning, outside of the context of the real world. We need to give students the time to acquire, learn, use, and reflect upon these in introductory courses. For it is a

good foundation of these terms that we would like as a least take-away from an introductory computing course.

Comprehending and building correct cognitive models for the language of com-puting often becomes a barrier to students in learning computing. And, while the play call in our course design efforts may be correct, our execution needs to be more deliberate and near perfect.

References 1. AP Computer Science Principles Course and

Exam Description, The College Board. Fall 2016. Available at: https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-principles-course-and-exam-description.pdf. Accessed 2016 November 14.

2. Bertrand, N. ‘It’s not a complicated or improvised process’: How it’s possible to examine 650,000 emails in 8 days. Business Insider- Politics. http://www.businessinsider.com/how-did-fbi-go-through-650000-clinton-emails-in-8-days-2016-11 Accessed 2016 November 8.

3. Kumar, D. Language Wars and False Dichotomies. ACM Inroads Magazine. 1,3 (2010). ACM New York. DOI>10.1145/1835428.1835431

Deepak KumarComputer ScienceBryn Mawr CollegeBryn Mawr, Pennsylvania 19010 [email protected]

DOI: 10.1145/3043952 Copyright held by author.

Page 31: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Using Cloud9, a Powerful Cloud-Based IDE in the Classroom

TECHNOLOGY THAT EDUCATORS OF COMPUTING HAIL (TECH)

by Jeff Solin,Albert G. Lane Technical College

Preparatory High School

acm Inroads • inroads.acm.org  29

OPINION

In the K–12 environment, teachers are often locked out of having administrator privileges on their classroom computers

and work computers. Frequently, only one person manages the IT infrastructure and sometimes that person isn’t even on-site. For example, I teach at Lane Tech College Preparatory High School, the largest school in the Chicago Public School district with a 4400-student population and only two people on-site as the IT Department. With well over 3000 computers in the building, a two-person team is woefully inadequate to handle software and hardware needs. Sometimes installing or even updating an in-

tegrated development environment (IDE) is not an option, or the Operating System (OS) is old enough that it doesn’t support mod-ern IDEs. My district didn’t even support 64-bit OSs until a few years after they became ubiquitous. There have been a few online cloud-based IDEs showing up, but, so far, none has worked better for me than Cloud9 [1]. You can even integrate Git Hub and Git Hub Education [5] which many colleges and now high schools use to handle their code version control and documentation.

I have taught various levels of Computer Science over the past 15 years, all in Chica-go Public Schools. Personally, I have seen

the most impact from Cloud9 in two spe-cific courses, Exploring Computer Science, a “K–12/University partnership committed to democratizing computer science,” and Elements of Computing Systems (aka Nand to Tetris), a “series of hands-on hardware and software construction projects, leading to the creation of a simple, yet surprisingly powerful, computer system.” [4,6] Even though these are the courses for which this tool has been the most useful, just about any course that covers text-based programming would benefit greatly. In the Exploring Computer Science course, we use Cloud9 to introduce the students to

Figure 1: Screenshot of Cloud9 (redacted profile name and installed Chrome extensions)

Welcome to the latest TECH column, a column that features a guest columnist, discussing technologies that educators find useful in their classrooms. The guest columnist is selected from those who have presented at a SIGCSE Technical Symposium session. This issue’s guest columnist, Jeff Solin, offers his ideas on Cloud9.

Page 32: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

30  acm Inroads  2017 March • Vol. 8 • No. 1

OPINIONUsing Cloud9, a Powerful Cloud-Based IDE in the Classroom

HTML and CSS. The environment allows students to see live changes to their edits as well as to publish their page for teachers, friends, and family to see. For the Elements of Computing Systems course, we use Cloud9 to code the Assembler module (Chapter 06) in Python. The Assembler in this curriculum takes in an Assembly text file and outputs the resulting machine code text file. Cloud9 handles files of all types that can be uploaded to the project direc-tory either by file selection dialog boxes or simple drag and drop.

Assuming the browser is current (Chrome and Firefox are the only officially supported browsers) and the school has a reliable internet connection, there are some additional stand-out areas on which Cloud9 has a strong impact. • With Cloud9, the IDE stays current with-

out updates needed on school com-puters. In many K–12 schools, especially public education schools, the negative effects of having minimal technical support personnel and locked-down ac-counts and/or profiles are widespread. Web-based software distribution of updates vs installation on each machine can be a life saver.

• It’s a powerful tool for grade school through college (and beyond).

• It supports project publishing and sharing.

• The environment is not a simulation. The sites are live and can be shared through a public URL.

• The workspaces allow for real-time col-laboration in a way similar to concurrent editing in Google Docs.

With the free account, comes one private workspace and unlimited public workspaces. The IDE handles many base workspace templates including but not limited to HTML5, CSS, Python, Node.js, Django, C++, Rails, PHP, Meteor. It even allows the use of familiar key mappings like Vim. When working on HMTL and CSS content, there’s a live preview window built right into the IDE through a split screen. These features allow for an always-up-to-date IDE that is as full-featured as most desktop applications, and additionally allows students to log in to their account from any computer, thus picking right back

up where they left off. In my classes, each student has a Cloud9 account, submits a Google Form to me with a link to their pro-file, and shares edit permissions with me so I can help them when needed.

Setup of the accounts is fairly simple. Although Cloud9 did recently change their account and pricing models, they do still offer a free account with the same feature-set as before. There is one caveat, however; the free account requires a credit card. A Cloud9 employee has offered that the reason for this is “…to help prevent bots, DDOS attacks, phishing attacks, and to give them time to improve the IDE.” [2] They also offer a new pricing model for Educa-tion that costs $1 per teacher per month. At the time of this writing, it appears that you can create your teacher account, have all students join (without the need for a credit card), then cancel the teacher account and students’ free accounts remain intact. Their price for the Education account started at $10 per month but has since dropped to $1 per month. A full description of their pricing plans and included features can be found at [3].

Once an account is created and set up, you can store local files for reference in your code, edit the themes (students love setting their own UI look and feel), make text large on your teacher profile so that your work is clear on a projector, turn on auto-save, and start writing code!

References 1. Cloud9; http://c9.io, Accessed 2017 January 23. 2. Cloud9 Community Blog, July 13, 2016; https://

community.c9.io/t/credit-card-required-for-free-account/7434/3. Accessed 2017 January 23.

3. Cloud9 Pricing; https://c9.io/pricing. Accessed 2017 January 23.

4. Exploring Computer Science; http://www.exploringcs.org. Accessed 2017 January 23.

5. GitHub Education; https://education.github.com, Accessed 2017 January 23.

6. Schocken, Shimon. Taming Complexity in Large-Scale System Projects. SIGCSE ’12, Proceedings of the 43rd ACM technical symposium on Computer Science Education, (ACM, New York, 2012); 409–414.

Jeff SolinComputer Science DepartmentAlbert G. Lane Technical College Preparatory High School2501 West Addison StreetChicago, Illinois [email protected]

DOI: 10.1145/3043953 Copyright held by author.

ACM Journal on

Computing andCultural Heritage

� � � � �

JOCCH publishes papers ofsignificant and lasting value inall areas relating to the use of ICTin support of Cultural Heritage,seeking to combine the best ofcomputing science with realattention to any aspect of thecultural heritage sector.

� � � � �

www.acm.org/jocchwww.acm.org/subscribe

Page 33: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Does Mathematics Serve Computing as a Support or a Barrier?

MATH COUNTS

by John P. Dougherty,Haverford College

acm Inroads • inroads.acm.org  31

OPINION

In this month’s column, I would like to summarize and contribute to a Fall 2016 SIGCSE listserv discussion that started

with a simple post by Ursula Wolz. The subject line of the post read, “Forget the language wars, try the math wars.” Nicely done, Ursula, as this post started, or should I say rekindled, a discussion about the role of mathematics in computer science education (and in software engineering education [5], but that’s for a subsequent column). And that also puts it squarely into the Math Counts arena.

As I read the initial responses to the post, I had a few thoughts. For example, CS2013 seemed clear about the role of discrete mathematics in computing edu-cation, and how probability and statistics should line up with other computing areas. Furthermore, the role of calculus is still debated as it appears often in computing requirements, though arguments for its inclusion have been arguably shallow (i.e., we’ve always required it) and even de-scribed as “puzzling.” [1] I agree, as I have only used a derivative once in my profes-sional career to identify the projected op-timal performance of a parallel computing application. Still, accreditation often man-dates a certain number of mathematics courses that either explicitly or implicitly force calculus into the computing curric-ulum. On top of this, many programming careers require an undergraduate degree as a minimum. I am glad that my current institution (not ABET accredited) does not require calculus for the computer science major. At the same time, I am working on alternatives that would support paths to other opportunities in mathematics

such as statistics (see last quarter’s Math Counts column [3]).

Several of the contributors to the SIGCSE listserv thread have written quite extensively on this topic in the past, with a few listed in the references. These col-

leagues write mostly from the viewpoint that “mathematics (if done right) is not only good, but needed to some degree in computer science education.” A few other participants in the discussion would cite circumstances where mathematics might not be as effective as promised, and that’s where the “barrier” idea could surface. Still others suggested that we distinguish between computer science and computer programming, the latter requiring less mathematics so one can focus on how to design and implement software.

The initial SIGCSE post involves this last point, citing a set of slides [6] describing the author’s experience as she explored returning to college to study programming. My take on the argument is that educators need to provide different pathways for those wanting to pursue a collection of skills to enter the world of software devel-

opment and for those intending to dive deeper into computation. This depiction may be overly simplistic, but I think it does get to the important aspect of the matter.

As much as I have worked with com-puting education, I am amazed at how

much I continue to learn from SIGCSE friends. There were many fine points made in the discussion, and I suspect you can guess a few. What I really appreciated was that some of the contributions included links to relevant papers, most I had not yet read. So, to prepare for this column, I dove into a few of these papers and would like to share how they moved the discussion forward. Please remember that this sum-mary is my interpretation of the discussion, and it is my responsibility (i.e., fault), if the points are not quite what the original authors intended.

There was a time not too long ago where computer science education was described as too light on mathematics. [7] supports this notion using two simple techniques; namely, a quick survey of mathematics requirements at prestigious (as identified by US News and World

[E]ducators need to provide different pathways for those wanting

to pursue a collection of skills to enter the world of software development

and for those intending to dive deeper into computation.

Page 34: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

32  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Does Mathematics Serve Computing as a Support or a Barrier?

Report) computer science universities, as well as a comparison of the number of pages allocated to mathematics topics in five popular data structures textbooks at the time. In this latter study, I was surprised to find that four of the five texts had no material on correctness, something that we have featured in our introductory course for as long as I can remember [4].

[2] presented a few examples of the motivations for mathematics in computer science education. The lead author, Kim Bruce, contributed to the listserv conver-sation as well, suggesting two approaches to introduce mathematics he calls “just in time” (i.e., enough math to teach the topics and complete the assignment) and “just in case” (i.e., a more complete treatment to prepare students for a broader set of challenges in computing). Where I work, I sense my friends in other departments of-ten use “just in time” to help students with domain-specific computing topics, while we in the Computer Science Department con-sciously support the “just in case” approach.

A more recent paper discusses the potential connections between mathe-

matics and computer science education [1]. Their treatment is extensive, providing both an extensive set of links between topics in computer science and concepts in math (see Figure 1) along with a nuanced description of this mutual support. The authors note that on the surface, minimal experience with mathematics is not really a problem (at present?) as students can land and hold jobs in the field. They also point out that this minimal experience may appear later as a problem, reminiscent of the “training vs. education” creed found at many colleges.

As I stated earlier, many of these contributors do see mathematics as a net positive for computer science students who complete the program. The point made in [6] is more about the path towards that degree, and the current mathematics requirements may act more like impediments than features, especially the start. For example, the author notes that she would need to successfully com-plete two mathematics courses before receiving permission to even enroll in the “Introduction to (Computer) Program-ming” in either C++ or Java, and that was

enough of a barrier to stop her.Many in the discussion, and I as well,

feel that there needs to be multiple options available to support a variety of interests and careers involving computing. I believe this is quite in line with the theme of SIGCSE 2008 (a personal favorite), “Diversity through Accessibility.” This may not be an issue for larger universities with a significant number computer science courses, but I suspect that we at smaller colleges often must force students into existing programs that may not fit their goals. Thus, there may be cases where students do not need the mathematics courses we require.

In conclusion, I hope that the author of [6] has found a path to enter the world of programming. However, I do not believe we can accommodate that goal of a computer programming degree at every institution. Certainly, not mine at present, we barely have staff to handle the large number of majors in computer science, and it seems the requirement of discrete mathematics does not yet dissuade (as it should not).

References 1. Baldwin, D., Walker, H.M., and Henderson, P.B. The

roles of mathematics in computer science. ACM Inroads 4,4 (December 2013), 74-80.

2. Bruce, K.B., Drysdale, R.L.S., Kelemen, C., and Tucker, A. Why math? Commun. ACM 46,9 (September 2003), 40-44

3. Dougherty, J. P. Statistics, Data Science, and Discovering Truth. ACM Inroads 7,7 (December 2016), 38-39.

4. Dougherty, J.P. and Wonnacott, D.G. Use and assessment of a rigorous approach to CS1. SIGCSE Bull. 37, 1 (February 2005), 251-255.

5. Frezza, S. Computer Science: Is It Really the Scientific Foundation for Software Engineering? Computer 43,8 (August 2010), 98-101

6. Smith, C. 2016. The Set of Programmers: How Math Restricts Us; https://events.linuxfoundation.org/sites/events/files/slides/The%20Set%20of%20Programmers_0.pdf, Accessed 9 November 2016.

7. Tucker, A.B., Kelemen, C.F., and Bruce, K.B. Our curriculum has become math-phobic!. In Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education (SIGCSE ‘01). ACM, New York, NY, USA, 2001, 243-247.

John P. Dougherty Department of Computer ScienceHaverford College370 Lancaster AvenueHaverford, Pennsylvania 19041-1392 [email protected]

DOI: 10.1145/3043954 Copyright held by author.

Figure 1: Mathematics associated with computer science areas [1]

Page 35: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

White Hat, Black Hat: The Ethics of Cybersecurity

TAKING THE HIGH ROAD

by C. Dianne Martin,The George Washington University

acm Inroads • inroads.acm.org  33

OPINION

ACM adopted the first code of computer ethics in 1973. Since that time, the profession of computer

science has matured to the extent that a well-developed set of ethical principles have evolved to guide the ethical practice of the discipline. One of two well-known codes of ethics today is the ACM Code of Ethics, passed in 1992, which identifies the elements of ethical professional conduct stated in the form of 24 imperatives of personal and professional responsibility. “It outlines fundamental considerations that contribute to society and human well-be-ing and those that specifically relate to professional responsibilities, organizational imperatives, and compliance with the code [1].” That code is now undergoing an update to address possible blind spots or anachronisms that may have resulted from changes in technology or the profession since 1992. Similarly, the 1999 Software Engineering Code of Ethics and Profes-sional Practice [2], the product of an ACM/IEEE-CS Joint Task Force, articulates eight Principles related to the behavior of and decisions made by professional software engineers, including practitioners, edu-cators, managers, supervisors, and policy makers. These two codes of ethics have provided the moral compass needed by the discipline of computer science to evolve into a true profession. Even for those who do not consider themselves to be “professionals” the Computer Ethics In-stitute published the Ten Commandments of Computer Ethics [3] in 1992 to guide all computer users in ethical behavior.

However, as is always the case with computer technology, the technical

capabilities of computers and the internet, specifical-ly, have moved rapidly beyond the human ability to guarantee a safe and ethical environment in cyberspace, no matter how ethical the developers may be. One consequence is that cyberspace is plagued with rogue individuals, groups, and even state-sponsored bad actors who have the aim to commit fraud, crime, espionage, damage to infrastructure, even terrorism. To combat this threat, it has been neces-sary to train a cadre of computer security experts who may have to use similar tools and strategies to neutralize such threats. This causes the cybersecurity landscape to shift every year with organizations desperate to fill the growing chasm of security jobs amid a serious shortfall of skilled graduates. In this frenetic climate, the tendency is to focus on developing individuals’ cybersecurity knowledge and talent and to put them on the front line as quickly as possible, not considering how new recruits could potentially abuse these abilities. Lacking context on cyber-security ethics, individuals must defer to their personal moral compass. This leads to good decisions as often as it leads to mistakes. The issue has become—what is an appropriate set of ethical standards for cybersecurity experts? Do we need a Code of Ethics for Cybersecurity?

Rainbow of HackersIn addressing this issue, Aidan Knowles, an Ethical Hacking Engineer for IBM, defines what he calls the “rainbow of hackers.” He groups hackers into three categories—black hats (the bad guys), white hats (the good guys), and grey hats (somewhere in between). As Knowles states [5], the three types of hackers carry out similar actions. They all use the same tools and resources to target various aspects of computer infrastructure—applications, networks, systems, hardware, and software as well as people. What differentiates their activities are motivation, legality, permission, and pre-knowledge of others regarding their actions. Each type of hacker has a different goal in mind for their work, as Knowles indicates:

“A white hat is commonly employed or contracted to carry out an attack under explicit permission and clear-cut boundaries. The goal of white hats’ work is to research, find and test vulnerabilities, exploits and viruses in their defined targets. The findings of these professional en-gagements are reported directly to the target to enable them to fix any

Page 36: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

34  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

White Hat, Black Hat: The Ethics of Cybersecurity

holes and strengthen their overall security posture. White hats are also sometimes involved in developing security products and tools.”

“In contrast, black hats cause great intentional damage and profit at the expense of their targets…This darker side of the hacker spectrum can be further subcategorized into different camps: cybercriminals, cyber spies, cyber terrorists and hacktivists. Malicious actors may not always be operating externally from their vic-tim. Research suggests that the in-sider threat within an organization’s networks and premises, including from current or former employees and contractors, is responsible for a large portion of successful hacks. To carry out attacks, black hats may de-velop their own malicious tools but will frequently employ or repurpose existing white-hat software.”

“Grey hats, as the name suggests, are more ambiguous in their defi-nition. Their work may be classified as leaning toward good or bad on the spectrum depending on your perspective. The term gray hat is sometimes used to describe those who break the law but without criminal intent. This definition may include cyber vandals who deface websites and so-called rogue secu-rity researchers who publicly share discovered vulnerabilities without notifying or receiving prior permis-sion from their targets.”

The most important takeaway mes-sage from Knowles and the motivation for this article is that, “Without clear ethical standards and rules, cybersecurity profes-sionals are almost indistinguishable from the black-hat criminals against whom they seek to protect systems and data.”

ISSA Code of EthicsTo fill the compelling need for an ethics code for cybersecurity professionals, the Information Systems Security Association established the following Code of Ethics for its members in 2006 [4]:

1. Perform all professional activities and duties in accordance with all applicable laws and the highest ethical principles;

2. Promote generally accepted informa-tion security current best practices and standards;

3. Maintain appropriate confidentiality of proprietary or otherwise sensitive information encountered in the course of professional activities;

4. Discharge professional responsibilities with diligence and honesty;

5. Refrain from any activities which might constitute a conflict of interest or otherwise damage the reputation of or is detrimental to employers, the information security profession, or the Association; and

6. Not intentionally injure or impugn the professional reputation or practice of colleagues, clients, or employers.

Although the code is quite general, it does provide a moral framework for ethical cybersecurity practice based upon the principles of integrity, respect for confiden-tiality and privacy, and avoiding conflicts of interest.

Examples of Actions Requiring an Ethical ResponseUsing the general ethical principles delin-eated by ISSA, here are specific examples of appropriate actions to be taken while carrying out typical cybersecurity duties.

Denial of Service (DoS) attack recovery: During firewall security scans, the security team may discover a port call that results in a denial of service attack. The low road response to such an attack is to hack and attack the host back. However, that could result in other sites being caught in the DoS crossfire. The high road response in keeping with standards 1 and 2 above is to block the attack and gather forensic evidence to respond to the attack legally and ethically.

Penetration testing and response: Cyber-security professionals often do penetration testing to determine the robustness of firewalls and security features in a system. When a weakness or vulnerability is found, it could allow a remote hacker to take control of the system and cause significant harm. There are two possible responses. The low road response is immediate full disclosure—

publishing full details of the vulnerability as soon as possible and making the informa-tion available to everyone without restric-tion. This could enable black hat hackers to exploit the weakness before it is fixed. The high road response, “responsible disclosure,” is more nuanced. Responsible disclosure requires the security expert to confidentially report the weakness to the company, work with the company to develop a fix within a given timeframe, and then publicly disclose the vulnerability and the fix at the same time [6]. This response would be in keeping with standards 3, 5 and 6 above.

Fighting malignant worms with benign worms: Should a cybersecurity expert release a benign worm “in the wild” when she believes that it might be able to patch a known vulnerability, inoculate systems to protect them from a malignant worm and keep it from spreading? The low road response would be to release it and hope for the best. The high road response, which can be concluded from standards 2, 4, and 5 above, would be to make the benign worm code publicly available with sufficient caveats that knowledgeable professionals should use it with care.

Cybersecurity experts, the white hats, work with sensitive data, have access to company and national secrets, and gen-erally wield much power over networks, systems, and data. How individuals handle this responsibility comes down to their ethical yardstick, and reinforcing that ethi-cal yardstick is a fundamental responsibili-ty of the programs that train these experts. Teaching students how to make ethical decisions using the ethics codes in place through professional associations and in exemplary corporate cultures strengthens and reinforces the students’ ethical yard-sticks. It can be argued that developing ethical cybersecurity experts is even more important than developing technically competent cybersecurity experts.

Resources for Teaching Computer Ethics:Baase, S. The Gift of Fire: Social, Legal, Ethical Issues in

Computing. 4th Edition, Prentice Hall, New Jersey, 2013.

Bowyer, Kevin W. Ethics and Computing. 2nd Edition, Wiley-IEEE Press, October 26, 2000).

Edgar, Stacey. Morality and Machines: Perspectives on Computer Ethics. Boston, MA: Jones and Bartlett, 1997.

Friedman, B. and Kahn, P. H., Jr., Educating Computer Scientists: Linking the Social and the Technical. Communications of the ACM, 37, 1 (1994), 65–70.

Page 37: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Common Guidelines for Conducting Education Research

by Stephanie E. August,NSF—DUE

acm Inroads • inroads.acm.org  35

OPINIONNSF PROGRAM OFFICER’S VIEWS

Gotterbarn, D. Informatics and Professional Responsibility. Science and Engineering Ethics, 7,2 (2001), 221–230.

Gotterbarn, D. and Riser, R. Ethics Activities in Computer Science Courses. Computers & Society Newsletter, 26,3 (1996), 13–17.

Huff, C.R., Martin, C.D. and Project ImpactCS Steering Committee. Computing Consequences: A Framework for Teaching Ethical Computing (First Report of the ImpactCS Steering Committee). Communications of the ACM, 38,12 (1995), 75–84.

Johnson, D.G. Computer Ethics. 4th Edition, Prentice Hall, Englewood Cliffs, NJ, 2009.

Kling, R. and Dunlop, C. Computerization and Controversy: Value Conflicts and Social Choices. Academic Press, New York, NY, 1991.

Liffick, B. Analyzing Ethical Scenarios. Proceedings of the ETHICOMP95 Conference on Ethical Issues of Computing, DeMontfort University, Leicester, UK, March, 1995.

Martin, C.D., Huff, C. Gotterbarn, D., Miller, K. Implementing a Tenth Strand in the Computer Science Curriculum (Second Report of the ImpactCS Steering Committee), Communications of the ACM, 39,12 (1996), 75–84.

Martin, C.D. and Holz, H.J. Integrating Social Impact and Ethics Issues Across the Computer Science Curriculum. Information Processing 92: Proceedings of the 12th World Computer Congress, Madrid Spain, Vol. II: Education and Society, 239–245. Elsevier Science Publishers, North Holland, September, 1992.

Miller, K. Computer ethics in the curriculum. Computer Science Education, 1 (1988), 37–52.

Quinn, M. J. Ethics for the Information Age. 7th Edition, Pearson Publishing, 2016.

Spinello, R. Cyberethics: Morality and Ethics in Cyberspace. 6th Edition, Bartlett Jones Publishers, 2017.

Tavani, H.T. Ethics and Technology: Controversies, Questions, and Strategies for Ethical Computing. 4th Edition, Wiley Publishing. 2012.

References 1. ACM. ACM Code of Ethics. 1992; https://www.acm.

org/about-acm/code-of-ethics. Accessed 2017 January 9.

2. ACM/IEEE Joint Task Force. Software Engineering Code of Ethics and Professional Practice. 1999; http://www.acm.org/about/se-code. Accessed 2017 January 9.

3. Computer Ethics Institute. Ten Commandments of Computer Ethics. 1992; http://computerethicsinstitute.org/publications/tencommandments.html. Accessed 2017 January 9.

4. ISSA. ISSA Code of Ethics. 2006; http://www.issa.org/?page=CodeofEthics

5. Knowles, A. The Hacker Rainbow; https://securityintelligence.com/how-black-hats-and-white-hats-collaborate-to-be-successful/. Accessed 2017 January 9.

6. Tull, J. A Snapshot in Cybersecurity Ethics; http://informationassurance.regis.edu/ia-programs/resources/blog/cyber-security-ethics. Accessed 2017 January 9.

C. Dianne MartinDepartment of Computer ScienceScience and Engineering HallRoom 4100George Washington University Washington, DC 20052, [email protected]

DOI: 10.1145/3043955 Copyright held by author.

The work of the NSF Division of Under-graduate Education (DUE) focuses on workforce development, learning and

learning environments, and broadening par-ticipation. This month we focus on educa-tion research, a foundational component of many NSF programs and all DUE programs. The mission of NSF’s Directorate for Edu-cation and Human Resources (EHR), DUE’s parent organization, includes the goal to “develop a robust research community that can conduct rigorous research and evalu-ation that will support excellence in STEM education and integrates that research and education [6].” Program Officers Mike Er-linger and Paul Tymann introduced five DUE programs in previous columns [1,2]:• “Improving Undergraduate STEM Edu-

cation: Education and Human Resourc-es” (IUSE: EHR) supports projects that focus on challenges and opportunities in undergraduate STEM education [8].

• “Education and Human Resources Core Research: Fundamental Research in Science, Technology, Engineering and Mathematics (STEM) Education” (ECR) supports projects that advance our understanding of how people learn [5].

• “Scholarship in Science, Technology, En-gineering, and Mathematics” (S-STEM) addresses two needs: a well-qualified STEM workforce and increased success of academically talented, low-income students in undergraduate and graduate STEM disciplines [7].

• “Advanced Technological Education” (ATE) focuses on workforce development [4].

• “STEM + Computing Partnerships” (STEM+C) seeks to integrate all forms of computation into K-12 education [9].

Mike and Paul admonish principal investi-gators (PIs) to “read and write to the solicita-tion.” [7:3] I add that PIs should make certain the proposed work is informed by the Com-mon Guidelines for Education Research and Development [3]. These guidelines describe the understanding shared by NSF and the U.S. Department of Education about “the roles of various types or ‘genres’ of research in gener-ating evidence about strategies and interven-tions for increasing student learning.” At least one track in each of the five DUE programs described above requires a knowledge-gen-erating component related to research education, and all reference the Common Guidelines. The IUSE: EHR solicitation clearly establishes the reason for this: “Research and development efforts that increase under-standing of effective undergraduate STEM teaching and learning provide the foundation for building the STEM workforce of tomorrow and improving scientific literacy.” [8]

The solicitations require PIs to look be-yond the artifacts, activities, or scholarships that support student success in their pro-posed work and identify a hypothesis that reflects the anticipated legacy of the educa-tion research component of their projects. We ask what will the community learn about

Page 38: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

36  acm Inroads  2017 March • Vol. 8 • No. 1

OPINION

Common Guidelines for Conducting Education Research

education from the project? What knowl-edge do the PIs believe they will gain? What evidence supports that belief? The guidelines lay out a logical sequence or “pipeline” of evidence gathering, as shown in Figure 1. The pipeline view illustrates a high-level introduc-tion to the guidelines rather than a detailed depiction of the entire Common Guidelines document. The guidelines identify six types of knowledge and organize them into three groups representing projects that:1. Contribute to our core knowledge of

how people learn.2. Develop solutions to achieve a learning

goal.3. Contribute to the body of evidence

that demonstrates the success of the interventions and strategies developed in achieving the intended goals.

The questions to the right of each type of research reflect the question it asks. The complete guidelines outline the purpose, significance, theoretical, and empirical basis for each type of research. They also describe project outcomes and relevant research and external feedback plans for each, with concrete examples of awards to illustrate each type of research.

Software developers will note the similar-ity between the last three types of research, shown in blue in Figure 1, and alpha, beta, and production testing. At each stage, the

audience broadens and the contexts in which the PIs gather data more closely represents an operational deployment of the innovation.

PIs new to education research often ask what metrics and evidence can be used when a novel intervention or strategy is added to a course, and small class sizes and limited offerings of the course make it infeasible or impossible to conduct a study with a control group, or where no benchmarks exist. Such instances call for a bit of ingenuity. For exam-ple, the PIs can conduct formative assessment workshops that invite faculty, students, and stakeholders to the PIs’ institution(s) to review and test the idea. PIs can ask participants to complete surveys and pre- and post-tests and participate in focus group discussions that provide valuable feedback to the PIs. PIs can include in their grant proposals small stipends to compensate participants for their time and travel expenses. Alternatively, a PI with the habit of saving scores for individual problems on assignments, exams, and quizzes, can use this data from pre-intervention runs of a course to provide benchmark data for evalu-ating their hypothesis.

While Common Guidelines identifies a pipeline, it also emphasizes the actual com-plexity of building knowledge. The guidelines are descriptive rather than prescriptive. In soft-ware engineering, the waterfall model is a way to think about traceability. However, the model only works as a system development pipeline in a perfect and unrealistic world in which developers know all requirements, stakehold-ers, software, and hardware before the project begins, and exclude updates as platforms evolve and innovations as developers gain knowledge about the system. Similarly, the pipeline in Common Guidelines provides a framework for understanding, analyzing, and structuring education research projects and their relationship to one another. The research journey looks more like the highly-connected network of Figure 2 in which each type of research can inform, grow out of, and lead into the others. Researchers are free to use any of the nodes in the network as the starting point for their work, providing they establish the appropriate purpose, significance, theoret-ical, and empirical basis as well as project outcomes and relevant research and external feedback plans for that type of research.

Reducing the fifty-three pages of the Common Guidelines into 1000 words is

an impossible task. My hope is that this column provides an orientation to the guidelines and motivates you to explore the report and rely on it to inform your education research projects.

Tip: Solicitations often include a list of references relevant to the solicitation. They are there for a reason—a wise PI will become familiar with those references before writing a proposal in response to the solicitation.

References 1. Erlinger, M. and Tymann, P. NSF Program Officers’

Views – Inside the NSF. ACM Inroads, 7, 3 (2016), 17-18. 2. Erlinger, M. and Tymann, P. NSF Program Officers’

Views – Inside the NSF. ACM Inroads, 7, 4 (2016), 40-41. 3. Institute of Education Sciences and National Science

Foundation. Common guidelines for education research and development; https://www.nsf.gov/pubs/2013/nsf13126/nsf13126.pdf. (2013). Accessed 2016 November 12.

4. National Science Foundation—ATE; Advanced Technological Education (ATE); https://www.nsf.gov/pubs/2014/nsf14577/nsf14577.htm. Accessed 2016 November 12.

5. National Science Foundation—ECR; http://www.nsf.gov/pubs/2015/nsf15509/nsf15509.htm/. Accessed 2016 November 12.

6. National Science Foundation—EHR; http://www.nsf.gov/ehr/about.jsp. Accessed 2016 November 12.

7. National Science Foundation—S-STEM; NSF Scholarships in Science, Technology, Engineering, and Mathematics (S-STEM); http://www.nsf.gov/pubs/2016/nsf16540/nsf16540.htm/. Accessed 2016 November 12.

8. National Science Foundation—STEM; Improving Undergraduate STEM Education: Education and Human Resources (IUSE: EHR); http://www.nsf.gov/pubs/2015/nsf15585/nsf15585.htm/. Accessed 2016 November 12.

9. National Science Foundation—STEM+C; STEM + Computing Partnerships (STEM+C); https://www.nsf.gov/pubs/2016/nsf16527/nsf16527.htm. Accessed 2016 November 12.

Stephanie E. AugustProgram OfficerNSF – DUE4201 Wilson BlvdArlington, Virginia 22203 [email protected]

DOI: 10.1145/3029346 Copyright held by author.

Figure 1: A pipeline view of education research.

Figure 2: The web-like reality of education research. Each type of research can contribute to an evidence base that informs and justifies other types of research [3].

Page 39: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

The VR Book: Human-Centered Design for Virtual RealityBy Jason Jerald, PhDThe VR Book focuses on human-centered design of virtual reality (VR) experiences. Creating compelling VR experi-ences is an incredibly complex challenge. When VR is done well, these experiences can be brilliant and pleasurable, but when done badly, they can result in frustration and sickness. While there are many causes of bad VR such as the limitations of technology, much is centered on a lack of understanding of human perception, interaction, design principles, and real users.

This book focuses on human elements of VR, such as how users perceive and intuitively interact with various forms of reality, causes of VR sickness, creating useful and pleasing content, and how to design and iterate upon e� ective VR applications. It is not just for VR designers; it is for the entire team, as they all should understand the basics of perception, VR sickness, interaction, content creation, and iterative design.

Good VR design requires strong communication between human and machine, indicating what interactions are possible, what is currently occurring, and what is about to occur. A human-centered design principle, like lean methods, is to avoid completely de� ning the problem at the start and to iterate upon repeated approximations and modi� cations through rapid tests of ideas with real users. Thus, The VR Book is intended as a foundation for anyone and everyone involved in creating VR experiences including: designers, managers, programmers, artists, psychologists, engineers, students, educators, and user experience professionals.

Paperback ISBN: 9781970001129 Hardcover ISBN: 9781970001150Ebook ISBN: 9781970001136 DOI: 10.1145/2792790

&CMAssociation for Computing Machinery2 Penn Plaza, Suite 701New York, NY 10121-0701, USAPhone: +1-212-626-0658Email: [email protected]

CMCMC&C&CM&MCMC&CMCMorgan & Claypool Publishers1210 Fifth Avenue, Suite 250San Rafael, CA 94901, USAPhone: +1-415-462-0004Email: [email protected]

For more info please visit http://books.acm.orgor contact ACM at [email protected]

Paperback ISBN: 9781970001129Hardcover ISBN: 9781970001150Ebook ISBN: 9781970001136550 pages • Copyright 07/2015Paperback: $79.95Hardcover: $145.00Ebook: $39.95

ACM Books.

In-depth. Innovative.Insightful.

ACM_Books_Jerald_FullPageHouseAd_V08.indd 1 8/3/16 12:24 PM

Page 40: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

38  acm Inroads  2017 March • Vol. 8 • No. 1

Action Ethics for a Software Development Class

CONTRIBUTED ARTICLESARTICLES

By David K. Larson, University of Illinois at Springfield, and Keith W. Miller, University of Missouri –St. Louis

The integration of ethics into computer science instruction is not a new idea (for example, see [10]),

but it is still useful to illustrate how this integration can be done in specific kinds of courses [14]. In this article, we present a hands-on ethics lesson for students involved in programming. We think this exercise can be used in any undergraduate class that engages students in software development. Although our examples are written using JavaScript, and can run in any modern browser, they could be easily adapted to other programming languages and platforms. Our goal in this exercise is to encourage students to think more carefully about the ethical implications of the kinds of work students are likely to be asked to do in their first software development jobs.

In the first part of this lesson, students are encouraged to make modifications to an existing program. That program simulates a system designed to monitor hospital patients’ vital signs. If desired, an instructor could give a specification instead of the initial version, and require the students to develop that initial version themselves.

These activities are designed for students working individu-ally or in small groups. The strategy is to alternate technically oriented tasks with time for reflection. This lesson is meant for students to do at least one software development step and one re-flection in a single session. Because there are multiple stages, the entire exercise can be stretched across multiple classes, or could be accomplished in a single long session. The repeating cycle of specification, coding, and reflection is shown in Figure 1.

Using case studies in ethics education has a long history in business, medicine, and engineering. For example, see Herkert [7], Jennings [9], and Watson [17]. A distinctive characteristic of this proposed lesson is the integration of software artifacts, leading to an intertwining of software engineering issues and societal impact issues.

PHASE 1: AN INITIAL VERSION OF A PATIENT MONITORING SYSTEMThe first version of a program is available at [11]. The source code for that HMTL web page, including JavaScript, Cascading Style Sheet (CSS), and Hypertext Mark Language (HTML), is in a single file. If the students are to develop this first version on their own, then this completed program would not be given to them; instead, they would be given a specification, such as the one in Appendix A. In either case, students should have a working web page that simulates patient monitoring, including vital signs of a hypothetical patient, before continuing with this exercise. We will assume that students are shown our Version 1. Figure 2 is a screenshot of that version.

This is a simplified version of actual software that could be used in a clinical setting; it is not nearly compliant with typi-cal standards for disabled users. For example, the audible alarm

Figure 1: When teaching ethics through software development, the instructor can specify a task, students can code it, and then the students and the instructor can then reflect on the ethical significance of the work.

Page 41: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  39

ARTICLES

(a central focus of the exercise) would not be an issue for deaf users. Colorblind users might find it difficult to distinguish between the red out of range numbers and the black in range numbers. The issue of disabled users is mentioned in a later reflection question. The simplicity of this version will make it easier for beginning programmers to do the tasks required; however, some faculty may want to modify this code in the ini-tial version, or require students (especially students with more skills than beginners) to modify the program during the exer-cise, to increase its utility for a broader user base. With some changes, the ethical issues surrounding access to users of differ-ent abilities could become the focus of the exercise.

The speed of the simulated patient monitoring is governed by the constant timeUnit in the Javascript code. The code available for all three versions linked to in this paper set that constant to 1000 milliseconds, or one second. All three scripts have the same values for the constants that control how often the vital signs are sampled, the initial values of the vital signs, the random perturbations of each sign, and the ranges of each sign. With the values specified in these example programs, the alarms are tripped in a matter of minutes. (Since random num-bers are involved, the behavior varies, but it usually takes more than a minute but less than 4 minutes for at least one vital sign to go out of range.)

The alarms are a central issue as the exercise plays out, and it is crucial that students listen to the alarm often. Students and the instructor may find it tedious waiting for the alarm to sound during testing, and the instructor may suggest reducing timeUnit to speed things up. However, timing for implemen-tations of the second version (described below) should be ex-amined carefully if timeUnit is changed. Version 2 requires a pause of 30 seconds, and the Version 2 script given in this paper assumes a one second timeUnit when implementing that pause.

Students should visit the website of Version 1 (or their own version, or another student’s version, if those are available), and execute the simulation multiple times. They should be instruct-ed to record their reactions to the program. In our Version 1, the program is reset by reloading the page into the browser.

No matter how the students get the Version 1, it should be mentioned (though not necessarily emphasized) that the pro-gram is being designed for use with actual patients. (The first sentence of the specification states this.) However, in its initial version (and in all the versions in this exercise), a simulated, virtual patient is being monitored. If students ask about this, the instructor should suggest that after the software is developed and tested with the simulated patient, the plan is to use it with real patients with a minimum of changes.

After examining the execution of the system multiple times, students will then discuss (either in small groups, or as a class), the following questions:1. What was your overall impression of the program?2. Did you record any failures, or strange behaviors, of the

program you executed?3. When you executed the program, did the visual and

auditory alarms catch your attention?4. What did you do after the alarms were activated?5. Do you have any suggestions for improving a new version?

The instructor should not try to lead this discussion in any specific direction. However, the instructor should list the sug-gestions for improvements where all the students can see those suggestions. It is particularly helpful if at least one student sug-gestion includes some limits or controls that will allow the user to turn off the alarms, and/or reset the vital signs readouts. Our Version 1 includes a loud alarm bell that we expect to be an-noying, and we anticipate that at least one student will want to be able to turn it off somehow during testing. If no student lists such a change for the new version, the instructor should add to the list the following change: “Mute the audible alarm after a certain time.”

PHASE 2: A NEW VERSION OF THE PATIENT MONITORING SYSTEMDuring the second phase, the instructor gives the students one or more changes to make in the program. Depending on the time available, and on the students’ development skills, the in-structor may decide to include several changes; the exercise is improved if there are multiple changes specified. However, whether there is one change or several changes specified, this specific change should be included:

“Modify the program so that the alarm sound ceases after 30 seconds. The visual alarm should continue.”

After students have made this (and perhaps other) changes, they should test their modified programs, and the programs of others. Students should record the results of their testing, and record any impressions they have of the revised functionality. A second version of this program that is like Version 1 (above), but includes the change that turns off the alarm sound after 30 seconds (our Version 2) is available at [12].

Students will then discuss the following questions, in order, as a class. We do not expect the class discussion to finish this

Figure 2: A screenshot of the Version 1 program after two vital signs have gone out of range.

Page 42: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

40  acm Inroads  2017 March • Vol. 8 • No. 1

Action Ethics for a Software Development Class

ARTICLES

list of questions. That is explained beneath the questions. 1. What are the advantages of the new version of this

program?2. Are there any disadvantages of the new version?3. Did you have any questions about the changes when they

were specified to you?4. Do you foresee any problems with this new version when

the program is converted for use with real patients instead of simulated patients?

5. Do you foresee any problems that might arise for patients with this program? For nurses? For the hospital?

6. Do you foresee any safety concerns with turning off the audible alarm after 30 seconds?

7. Do you think that 30 seconds was sufficient time for the alarm bell to sound? Why or why not?

We expect that as the class works through these questions, eventually a student will suggest that turning off the alarm sound might cause problems when this program is converted to real patients. If the alarm bell is turned off, or turned off too quickly, the warning might be ignored or never noticed. The patient may suffer if health professionals do not notice that there is a warning about the patient’s vital signs. If a patient suffers harm, nurses may be reprimanded for not responding in a timely fashion. The hospital might be sued for negligence. It is important that these issues be put on the table. Once at least one student raises this issue (perhaps as one concern among others), the instructor can move to a discussion of this specific aspect of the revised program.

At this point, the instructor should encourage a discussion about the advisability of turning off the audible alarm. Eventu-ally, the instructor should ask for alternatives to the “30 second rule” that was used in Version 2. Eventually one of the students (or the instructor if necessary) will suggest a means to turn off the audible alarm manually. This could be appropriate, it might be argued, if a nurse discovers the problem indicated by one or more vital signs going out of range, and has taken appropriate action. (That is, after the audible alarm has served its purpose, it can safely be turned off.)

The instructor now tells the students to make that change in the program. The specification is as follows:

“Add functionality to Version 2 to make a Version 3 that al-lows manual turning off of the audible alarm. Until the alarm is turned off manually, it should keep sounding. The visual alarm should stay on whenever a vital sign has gone out of range.”

PHASE 3: A THIRD VERSION OF THE PATIENT MONITORING SYSTEMOur Version 3 is available at [13]. This program adds a button that turns off the audible alarm. After students have produced their third version of the program, they should look at their own and others’ versions. After those examinations, the students are broken up into small groups to discuss the following questions:

1. Does the manual system function as specified to turn off the audible alarm?

2. Can you think of any problems with this system design? 3. If a user were deaf or colorblind, would the current version

be sufficient? Why or why not?4. Should anyone be able to manually turn off the audible

alarm, or should only some users be authorized?5. In at least one version of this program, numbers start out

black, and then turn red when a vital sign moves from normal to abnormal. Should the numbers turn back to black if the vital sign in question returns to the normal range? Why or why not?

6. Can you think of any other weaknesses of this version of the program with respect to its eventual use with real patients?

The instructor should list any weaknesses that come up in the discussion of these questions. At some point, the instruc-tor should invite the students to suggest program modifications that would address one or more of those weaknesses. For ex-ample, someone may point out that only authorized medical staff should be allowed to turn off the audible alarm. This could be accomplished with a password protection for the “turn off the alarm” feature. If there were password protection, then we could envision having other protected functionality, such as re-setting the simulated vital signs to normal.

It seems likely that the discussions will sometimes focus on the difference between a simulated patient monitoring system and a system that monitors actual human patients. We think it is important for the instructor to acknowledge the important distinction between those two kinds of systems, but then also point out that a simulated system might someday be converted to a system for real patients. The instructor should point out that in the specification given for the system under consider-ation in this exercise, the conversion to a system monitoring human patients was explicitly mentioned in its first sentence. This possibility means that decisions made for monitoring a simulated patient could indeed have consequences for human patients in the future.

PHASE 4: REFLECTIONSAfter the discussion that ends Phase 3, the instructor may want the students to change their Version 3 implementations into a Version 4 that improves some of the weaknesses of Version 3. Whether a Version 4 is produced, we think this exercise should end with a final phase in which students reflect on the rest of the exercise. Individually, in small groups, or as a class, students should discuss the following questions. Depending on how much time the instructor wants the students to spend on this ex-ercise, their response to the questions could be verbal or written.1. At any time during this exercise, did you have questions

about the software you were asked to write that you didn’t ask?

Page 43: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  41

ARTICLES

2. Were you surprised when you realized the software specified might lack important safety features?

3. Did you remember noticing that the initial specification mentioned human patients? In retrospect, do you think that is an important detail in the specification? Why or why not?

4. When software is being developed for use with patients, how much responsibility do you think the software developer should have to ensure patient safety? Is there anyone else who shares that responsibility?

5. What are some other kinds of software in which human safety is an issue? In these cases, how much of the responsibility for human safety belongs to the software developer?

To prepare for this discussion, the instructor might read some literature about the ethical responsibilities of software developers. Collins et al. [3], Stanberry [16], and Brown [1] are three examples of this literature. There is a recorded ACM web-cast [4] that might be of interest to the students and the instruc-tor; the webcast features Dr. Donald Gotterbarn, a well-known expert in professional ethics for software engineers. Another approach is to tie students’ reflections to a code of profession-al ethics such as the Software Engineering Code of Ethics and Professional Practice adopted by the ACM and the IEEE Com-puter Society [8]. Principle 3 of this code focuses on software engineering products, and may be particularly appropriate for this exercise. The instructor (and eventually the students) might also study literature on alarm fatigue in medical settings, such as Graham and Cvach [6].

Although we think the instructor should look at some of these resources before the exercise, we recommend that stu-dents study some of these resources after the exercise. We think experiencing for themselves how technical decisions in-teract with human values will prime them for learning about professional ethical responsibilities. The exercise is then a structure to encourage discovery, followed by reflections, fol-lowed by deeper learning. This final phase in the exercise is like the “debriefing” following experiential learning exercises described by Sims [15].

CONCLUSIONIt is important that computer science instructors lead students to consider their ethical responsibilities as computing profes-sionals. Some computer science faculty have expressed reser-vations about teaching ethics to their students [14]. We suggest that computer science faculty can be more comfortable and more effective in teaching about ethics when the ethical issues emerge naturally from teaching about computing. The exercise above is one example in which the technical details lead directly to questions about professional responsibility. Other resources that might be helpful to faculty wanting to develop their own exercises include Epstein’s classic “Case of the Killer Robot” [5], and Collins and Miller’s “Paramedic Ethics.” [2]

The exercise was designed to encourage students to discover the importance of focusing on people affected by their deci-sions during software development. It is only after this discov-ery that a discussion about computer ethics and professional responsibilities is attempted.

APPENDIX A. SPECIFICATION OF A PATIENT-

MONITORING SIMULATIONPURPOSE: Ultimately, this system will be used to monitor hos-pital patients. In this initial version, the system will simulate a pa-tient’s vital signs, and display the measurements on a web page. The vital signs to be monitored are temperature, diastolic blood pressure, systolic blood pressure, and pulse. The simulated values will start with initial values, and then will be periodically adjusted randomly. If any of the measurements are out of the range specified as normal, an audio alarm sounds, and an alarm icon is displayed.

INPUTS: No inputs necessary in this version. Eventually, patient vital signs will be read in from hardware devices.

OUTPUTS: After initializations, a web page is displayed, showing the current values of the vital signs. These values are updated periodically.

CONSTANTS: TimeUnit: The number of milliseconds between updates to the screen. Value: 1000

InitialTemperature: Given as Fahrenheit degrees, rounded to one decimal place = 98.6HiTemperature = 104.0LowTemperature = 90.0

InitialDiastolicBloodPressure: Given as mm of mercury. = 80HiDiastolicBloodPressure = 120LoDiastolicBloodPressure = 45

InitialSystolicBloodPressure: Given as mm of mercury. = 120HiSystolicBloodPressure = 170LoSystolicBloodPressure = 70

Pulse: Given a beats / minute. = 60HiPulse = 90LoPulse = 30

NOTE: At each TimeUnit, a random number from a uniform distribution between 0 and 1 is added to the current value of each vital sign. In addition, a “trend constant” for each vital sign is subtracted. By adjusting the trend constants, different scenar-ios can be simulated. Use the following trend constants in your initial version:

Page 44: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

42  acm Inroads  2017 March • Vol. 8 • No. 1

ARTICLESAction Ethics for a Software Development Class

trendTemp = 0.475trendDiastolicBloodPressure = 0.755trendSystolicBloodPressure = 0.15trendPulse = 0.7

DETAILS: Title the web page as “Patient Monitoring.” Make up a name for the patient being monitored, a name for the su-pervising nurse, and a name for the company producing the software. Display all the information on one web page. Feel free to format the information in a way that uses the screen geogra-phy wisely, and is easy to read.

AcknowledgementsWe appreciate the students who have engaged in this experience during two semesters of software engineering classes at the University of Missouri—St. Louis. Thanks also for helpful suggestions from reviewers and the editors.

References 1. Brown, I., & Adams, A. A. The ethical challenges of ubiquitous healthcare.

International Review of Information Ethics, 8,12 (2007), 53–60. 2. Collins, W. R., & Miller, K. W. Paramedic ethics for computer professionals. Journal of

Systems and Software, 17,1 (1992), 23–38. 3. Collins, W. R., Miller, K. W., Spielman, B. J., & Wherry, P. How good is good enough?:

an ethical analysis of software construction and use. Communications of the ACM, 37,1 (1994), 81–91.

4. Gotterbarn, D. and Miller, K. (2014). Do good and avoid evil… and why that is complicated in computing. ACM webcast; https://www.youtube.com/watch?v=b8TJvEr6eSQ. Accessed 2016 October 14.

5. Epstein, R.G. Case of the killer robot; http://www.onlineethics.org/Resources/killerrobot/robot.aspx. Accessed 2017 January 5.

6. Graham, K. C., & Cvach, M. Monitor alarm fatigue: standardizing use of physiological monitors and decreasing nuisance alarms. American Journal of Critical Care, 19,1 (2010), 28–34.

7. Herkert, J. R. Engineering ethics education in the USA: Content, pedagogy and curriculum. European Journal of Engineering Education, 25,4 (2000), 303–313.

8. IEEE-CS / ACM Join Task Force on Software Engineering Ethics and Professional Practices. Software Engineering Code of Ethics and Professional Practice (5.2); http://seeri.etsu.edu/Codes/TheSECode.htm. Accessed 2016 October 14.

9. Jennings, M. M. Business Ethics: Case Studies and Selected Readings. 8th ed. (Stamford, CT: Cengage Learning, 2014).

10. Miller, K. Integrating computer ethics into the computer science curriculum. Computer Science Education, 1,1 (1988), 37–52.

11. Miller, K. (2016). Simulated patient monitoring system, Version 1; https://edocs.uis.edu/kmill2/www/PatientMonitoringV1.html. Accessed 2016 October 15.

12. Miller, K. (2016). Simulated patient monitoring system, Version 2; https://edocs.uis.edu/kmill2/www/PatientMonitoringV2.html. Accessed 2016 October 15.

13. Miller, K. (2016). Simulated patient monitoring system, Version 3; https://edocs.uis.edu/kmill2/www/PatientMonitoringV3.html. Accessed 2016 October 15.

14. Quinn, M. On teaching computer ethics within a Computer Science department. Science and Engineering Ethics 12,2 (2006), 335–343.

15. Sims, R. R. Debriefing experiential learning exercises in ethics education. Teaching Business Ethics, 6,2 (2002), 179–197.

16. Stanberry, B. Legal ethical and risk issues in telemedicine. Computer Methods and Programs in Biomedicine, 64,3 (2001), 225–233.

17. Walton, D. N. Ethics of Withdrawal of Life-Support Systems: Case Studies on Decision Making in Intensive Care. (Praeger, 1987).

David K. LarsonUniversity of Illinois at SpringfieldDepartment of Management Information SystemsOne University Plaza, MS UHB 4021, Springfield, IL [email protected]

Keith W. MillerUniversity of Missouri – St. LouisComputer Science Dept. and the College of Education1 University Blvd., MS 100 MH, St. Louis, MO [email protected]

DOI: 10.1145/3043949 ©2017 ACM 2153-2184/17/03 $15.00

The Golden TicketP, NP, and the Search for the ImpossibleLance Fortnow

Paper $17.95

“ A provocative reminder of the real-world consequences of a theoretical enigma.” —Booklist

“ An extremely accessible and enjoyable treatment of the most important question of theoretical computer science.” —Choice

DO NOT PRINT THIS INFORMATION SIGCSE INROADS SPRING 2017 17-300

See our e-books at press.princeton.edu

Have a question about advertising

opportunities?CONTACT US212 • 626 • [email protected]

Page 45: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  43

PPVT: A Tool to Visualize Predictive Parsing

CONTRIBUTED ARTICLESARTICLESP

HO

TO: ©

WW

W.I

STO

CK

PH

OTO

.CO

M/S

KY

NE

SH

ER

By Aashi Jain, Archita Goyal, and Pinaki Chakraborty, Netaji Subhas Institute of Technology

The use of a Predictive Parsing Visualization Tool (PPVT) as a teaching aid in a course on compiler construction

offered in the fall of 2015 helped students better understand the predictive parsing as they reported in a survey after the course. PPVT takes as input a grammar, calculates the FIRST and FOLLOW sets, and constructs the parsing table. Then for a given string, PPVT performs table-driven parsing and displays the parse tree and the leftmost derivation.

Parsing algorithms are classified into universal parsing algo-rithms, top-down parsing algorithms, and bottom-up parsing algorithms [1]. Universal parsing algorithms, as the name sug-gests, can be used for any context-free grammar. However, uni-versal parsing algorithms are not used in compilers because of their high time complexities. The parser of a practical compiler should be able to parse a source program in linear time. This can be achieved by one of the many top-down and bottom-up parsing algorithms. Top-down and bottom-up parsing algo-rithms can parse the programming constructs found in com-mon programming languages.

Predictive parsing is a top-down table-driven parsing tech-nique. A predictive parser uses a stack to store grammar symbols that represent how the parser expects the rest of the source pro-gram to be. In each step, the action to be performed depends on the next token in the source program and the symbol at the top of the stack. A step may require consulting the parsing table, pop-ping off a symbol from the stack and pushing one or more sym-bols onto the stack. Predictive parsing is invariably included in all courses on compiler construction. Since predictive parsing can be used for LL(1) grammars only, it is less powerful than most bot-tom-up parsing algorithms. Nevertheless, the predictive parsing algorithm can be used to parse all commonly used programming languages and it is comparatively easier to implement a predictive parser. Consequently, many compilers use predictive parsers. Al-though predictive parsing is simpler than the bottom-up parsing algorithms, it is complex enough to require a visualization tool so

that students can understand it better. In this article, we present a tool called PPVT which can be used as a teaching aid to compre-hensively visualize the process of predictive parsing.

RELATED WORKIn universities around the world, faculty design different types of teaching aids to assist in teaching compiler construction. Many use programming exercises to enhance their courses on compiler construction [6]. Some faculty tend to use visualization tools as well to assist in teaching these courses. The visualization tools that are used to teach courses on compiler construction can be broad-ly classified as visual compilers and parsing algorithm visualizers.

A visual compiler is a compiler that presents its internal work-ing to the user in a stepwise manner. A visual compiler illustrates, typically using quality graphics, the different steps involved in compiling a given program. Visual compilers can be said to be performing an in vivo analysis of the entire compilation process. Some visual compilers like PAG [17], Tree-viewer [19] and VAST [2] emphasize constructing parse trees and annotating them with information. There are some visual compilers that have been developed to compile specific programming languages. For example, ICOMP [3] compiles PL/0 and VisiCLANG [14] com-piles a Pascal-like language called CLANG. Both ICOMP and VisiCLANG visualize the recursive-descent parsing technique.

Page 46: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

44  acm Inroads  2017 March • Vol. 8 • No. 1

PPVT: A Tool to Visualize Predictive Parsing

ARTICLES

There also exists an alternate approach where a compiler-com-piler is used to create a visual compiler for a given context-free grammar. Visual compilers for different languages can be gener-ated by providing different grammars to the compiler-compiler as input. ANTLR [4] and VOCOCO [15] can be used to generate LL(1) parsers. GYACC [11] and Visual YACC [20] are used in conjunction with YACC, and generate LALR parsers. CUPV [9] is another tool that generates visual compilers with LALR pars-ers. LISA [12] can be used to generate several types of LL(k) and LR(k) parsers. ANTLR and LISA are most versatile among these tools, and can be used as comprehensive teaching aids.

A parsing algorithm visualizer is a more specialized tool. It graphically visualizes one or more parsing algorithms. It can be used to study the parsing process in more detail. A parsing al-gorithm visualizer can be used to study the construction and the working of a parser. This makes parsing algorithm visual-izers quite popular among faculty as well as students. Blythe et al. [5] developed tools named LLparse and LRparse to visualize LL(1) and LR(1) parsing algorithms, respectively. Khuri and Su-gono [10] developed a tool to visualize LL(1) and SLR(1) pars-ing algorithms. JFLAP [8,16] is undoubtedly the most sophis-ticated parsing algorithm visualizer to have been developed so far. JFLAP can visualize backtracking-based recursive-descent, LL(1), SLR(1) and CYK parsing algorithms. Alternatively, Com-piler Construction Toolkit [7] can be used to visualize LL(1), LR(0) and SLR(1) parsing algorithms. Some work has been done to visualize recovery from syntax errors too [18]. Positive stu-dent feedback about these tools has been reported in literature.

In this article, we carry forward the work on parsing algorithm visualizers. PPVT is fast and effi-cient. PPVT is highly scalable, i.e., it works well for large grammars and input strings. The main ad-vantage of PPVT over other pars-ing algorithm visualizers is in the fact that it presents the output in a textual format like that used in textbooks. PPVT stepwise illus-trates the construction of a pre-dictive parser for a given grammar and then the use of that parser to parse a given input string. Care has been taken to show the calculations involved in each step.

THE PREDICTIVE PARSING VISUALIZATION TOOLPPVT receives a context-free grammar from the user in a text file. Once PPVT is run, the user is prompted to enter the name of the grammar file. It is assumed that the grammar is LL(1) and there is no ambiguity, left-recursion or scope for left-fac-toring in the grammar. A nonterminal is represented by a sin-gle uppercase letter in the grammar, while a single lowercase letter, digit, or special symbol represents a terminal. The ‘~’ character is used to represent ε. The ‘$’ character is used to denote the stack start symbol as well as the end of string. The

head and the body of a production rule are separated by a ‘->’ mark. Each production rule is written in a new line. Two pro-duction rules of the form A → α | β are written separately in two different lines as A → α and A → β. The nonterminal at the head of the first production rule is treated as the start symbol of the grammar.

On receiving a grammar, PPVT starts with calculating the FIRST sets for all terminals and nonterminals in the grammar. The algorithm to calculate the FIRST sets is given in literature [1]. However, the algorithm is optimized for calculation by hand. To overcome this problem, the algorithm has been im-plemented in PPVT in two steps. In the first step, topological sorting is used to determine the order in which the sets can be calculated. In the second step, the sets are calculated. PPVT next calculates the FOLLOW sets for all the nonterminals in the grammar, again using a two-step method. Using the FIRST and FOLLOW sets, PPVT now constructs a predictive pars-ing table for the given grammar. In the parsing table, there is a row corresponding to each nonterminal and one column cor-responding to each terminal in the grammar. If at any point in the process of parsing, there is a nonterminal A at the top of the stack and the current input symbol is a, then the production rule in the cell [A, a] will be used. A cell in the parsing table can contain at most one production rule. An attempt to fetch a production rule from an empty cell in the parsing table denotes a syntax error. All calculations done by PPVT till this point are independent of the input string and the output is saved in a text file. If file.txt is the name of the grammar file, then the output is saved in file_Output.txt (Figure 1).

The user is now prompted to enter the string to be parsed. PPVT then carries out a table-driven parsing of that string fol-lowing the predictive parsing algorithm and using the parsing table. In each step, PPVT prints the part of the string already matched, the contents of the parsing stack and the input buf-fer, and the production rule used in that step. The result of the parsing process—an acceptance or a syntax error—is printed at the end. PPVT next prints a parse tree which visually expresses the derivation of the given string following the given grammar. Top-down parsers, including predictive parsers, are known to emulate the leftmost derivation to derive a string from the grammar start symbol. So, PPVT at last prints the leftmost der-ivation of the given string. These outputs based on the input string are appended in file_Output.txt (Figure 1). PPVT has been implemented in C++.

Figure 1: Input and output of PPVT.

Page 47: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  45

ARTICLES

AN ILLUSTRATIVE EXAMPLEWe demonstrate the working of PPVT using an example. We provide the following grammar to PPVT.

A->CBB->+CBB->-CBB->~C->EDD->*EDD->/EDD->%EDD->~E->(A)E->i

PPVT calculates the FIRST and FOLLOW sets, and con-structs the parsing table (Figure 2). We now enter a string that is an element of the language generated by this grammar, say i-i*(i+i%i)/i. PPVT uses the parsing table to parse the string (Figure 3). PPVT then prints the parse tree in a textual format using the ‘|’ and ‘_’ characters (Figure 4). The nodes that appear top-to-bottom in the parse tree are printed left-to-right. The root node is printed in the leftmost column. All nodes that are at the same level in the parse tree are printed in the same col-umn. All children of a node are printed in the column right to it with the leftmost child printed on the top. The leftmost deri-vation, showing all the sentential forms from the grammar start symbol to the given string, is also printed (Figure 5). Alterna-tively, if we enter a string that is not an element of the language generated by the grammar, say i+i(i-i), then the parser stops as soon as it detects a syntax error because of the viable-prefix property of the predictive parsing algorithm. It is interesting to see how PPVT can succinctly visualize the predictive parsing algorithm for an arbitrary grammar and an arbitrary string. This verifies the correctness of the design and the appropriate-ness of the notation used by PPVT.

CONCLUDING REMARKSPPVT was used as a teaching aid in an undergraduate-level introductory course on compiler construction in the fall 2015 semester which was attended by 62 students. The objective was to use PPVT as a visualization tool to help students in under-standing how to construct a predictive parser and use it to parse a string. Due to its ease of use and fidelity to textbooks, it was easy to integrate PPVT in the course. Students used PPVT to cross-check their classroom exercises and take-home assign-ments on predictive parsing. PPVT’s ability to show the details of the calculations proved particularly helpful here. PPVT also allowed the students to solve exercises involving large gram-mars and input strings which they would not have solved oth-erwise. Although it was not an objective, a few students also used PPVT to construct parsing tables of their compiler-related projects. In a survey at the end of the semester, students report-ed that PPVT helped them in understanding predictive parsing better (Table 1). They said that after seeing the output of PPVT they understood how to present their answers to questions on predictive parsing. The students also asked for a similar tool to visualize SLR, CLR and LALR parsing algorithms. An exe-cutable version of PPVT and two sample grammars have been made available online [13].

Figure 2: FIRST sets, FOLLOW sets and parsing table as calculated by PPVT.

Table 1: Student feedback (number of students = 62).

Yes No No opinion

1. Did PPVT help you in understanding the concept of predictive parsing? 55 7 —

2. Did PPVT help you in understanding how to answer questions on predictive parsing? 52 9 1

3. Is it easy to write the grammar in the specified format and use PPVT? 51 11 —

4. Is the representation of parse tree used by PPVT easy to understand? 56 5 1

Page 48: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

46  acm Inroads  2017 March • Vol. 8 • No. 1

PPVT: A Tool to Visualize Predictive Parsing

ARTICLES

Figure 3: Table-driven parsing by PPVT.

Figure 4: A parse tree as printed by PPVT.

Figure 5: Leftmost derivation of a string as derived by PPVT.

Page 49: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  47

ARTICLES

References 1. Aho, A. V., Lam, M. S., Sethi, R. and Ullman, J. D. Compilers: Principles, Techniques,

and Tools. Second Edition, Pearson, 2006. 2. Almeida-Martínez, F. J., Urquiza-Fuentes, J. and Velázquez-Iturbide, J. A.. VAST:

visualization of abstract syntax trees within language processors courses. Proceedings of the Fourth ACM Symposium on Software Visualization, 2008, 209-210.

3. Andrews, K., Henry, R. R. and Yamamoto, W. K. Design and implementation of the UW illustrated compiler. ACM SIGPLAN Notices, 23,7 (1988), 105-114.

4. ANTLR; http://www.antlr.org. Accessed 2016 December 21. 5. Blythe, S. A., James, M. C. and Rodger, S. H. LLparse and LRparse: visual and

interactive tools for parsing. ACM SIGCSE Bulletin, 26,1 (1994), 208-212. 6. Chakraborty, P., Saxena, P. C., Katti, C. P., Pahwa, G. and Taneja, S. A new practicum

in compiler construction. Computer Applications in Engineering Education, 22,3 (2011), 429-441.

7. Compiler Construction Toolkit; http://hackingoff.com/compilers. Accessed 2016 December 21.

8. JFLAP; http://www.jflap.org. Accessed 2016 December 21. 9. Kaplan, A. and Shoup, D. CUPV – a visualization tool for generated parsers. ACM

SIGCSE Bulletin, 32,1 (2000), 11-15. 10. Khuri, S. and Sugono, Y. Animating parsing algorithms. ACM SIGCSE Bulletin, 30,1

(1998), 232-236. 11. Lovato, M. E. and Kleyn, M. F. Parser visualizations for developing grammars with

YACC. ACM SIGCSE Bulletin, 2,1 (1995), 345-349. 12. Mernik, M. and Zumer, V. An educational tool for teaching compiler construction.

IEEE Transactions on Education, 46,1 (2003), 61-68. 13. PPVT; https://drive.google.com/folderview?id=0B6CbAq8pewJOUkhpMWNmY0U

0QTA&usp=sharing. Accessed 2016 December 31. 14. Resler, D. VisiCLANG – a visible compiler for CLANG. ACM SIGPLAN Notices, 25, 8

(1990), 120-123. 15. Resler, R. D. and Deaver, D. M. VCOCO: a visualisation tool for teaching compilers.

ACM SIGCSE Bulletin, 30,3 (1998), 199-202. 16. Rodger, S. H. and Finley, T. W. JFLAP: An Interactive Formal Languages and

Automata Package. Jones and Bartlett, 2006. 17. Sierra, J.-L., Fernández-Pampillon, A. M. and Fernández-Valmayor, A. An

environment for supporting active learning in courses on language processing. ACM SIGCSE Bulletin, 40,3 (2008), 128-132.

18. Urquiza-Fuentes, J., Almeida-Martínez, F. J., Pérez-Carrasco, A. and Velázquez-Iturbide, J. A. Improving students’ performance with visualization of error recovery strategies in syntax analysis. Journal of Research and Practice in Information Technology, 45,3-4 (2013), 237-250.

19. Vegdahl, S. R. Using visualization tools to teach compiler design. Journal of Computing Sciences in Colleges, 16,2 (2001), 72-83.

20. White, E. L., Ruby, J. and Deddens, L. D. 1999. Software visualization of LR parsing and synthesized attribute evaluation. Software: Practice and Experience, 29,1 (1999), 1-16.

Aashi JainDivision of Computer Engineering, Netaji Subhas Institute of Technology, New Delhi 110078, [email protected]

Archita GoyalDivision of Computer Engineering, Netaji Subhas Institute of Technology, New Delhi 110078, [email protected]

Pinaki ChakrabortyDivision of Computer Engineering, Netaji Subhas Institute of Technology, New Delhi 110078, [email protected]

DOI: 10.1145/3002136 ©2017 ACM 2153-2184/17/03 $15.00

An influential voice in the study of people, technology, and design.

EVERY ISSUE:Explores how and why we interact with the designed world of technologiesOffers content to inspire and educate HCI designersShares innovations and creations in the business worldMakes engaging HCI research accessible to practitioners and makes practitioners voices heard by researchers.

To learn more about us, visit our award-winning websitehttp://interactions.acm.org

Follow us on Facebook and Twitter

To subscribe:http://www.acm.org/subscribe

INTER AC TIONS

Page 50: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

48  acm Inroads  2017 March • Vol. 8 • No. 1

Teaching Physical Computing in Family Workshops

CONTRIBUTED ARTICLESARTICLES

By Christiane Gresse von Wangenheim, Aldo von Wangenheim, Fernando S. Pacheco, Jean C. R. Hauck, and Miriam Nathalie F. Ferreira, Federal University of Santa Catarina

Family workshops in which children together with a parent learn basic physical computing concepts and

programming have proven very successful in popularizing computing in Santa Catarina/Brazil. During the hands-on workshops, participants learn step-by-step how to “give life” to an interactive superhero robot through a simple, low-cost, platform-independent, reliable, and stable strategy integrating a microcontroller, a few hardware parts and block-based visual programming languages. The results of several of these family workshops in Santa Catarina indicate that the workshops enable the learning of basic computing concepts (specifically programming) besides providing additional benefits through the involvement of the families.

Teaching computing to kids either at their school or as part of extra-curricular activities, such as summer camps, after school clubs, or workshops has become a trend in education [20]. How-ever, it’s not only the children who need to be considered. Par-ents, family, and community members play significant roles in the lives of children and their involvement in education is important for several reasons [11]. Parents and families have the most di-rect and lasting impact on children’s learning and education [5]. When parents are informed, and convinced of the importance of computing education, their motivation, assistance, and in-vestment (e.g., in books or computers) can help their children to achieve more, exhibit more positive attitudes and behavior, and increase attendance and engagement [2,3,6]. Thus, involving parents in computing education is even more important as they probably have little computing knowledge themselves [1]. In this context, children from low-income families may be disadvan-taged for several reasons. With less involved parents, they often experience fewer of the academic benefits than children coming from higher income homes and, thus, may be more at risk for lower academic achievement [17]. Often, their parents do not ap-

preciate the opportunity of computing education for the careers of their children and/or even for themselves. Sometimes parents even dissuade their children from pursuing a computing career in favor of entering the labor market as unskilled workers to start contributing to the family income immediately. This undesirable situation contributes to an increased mismatch between an un-skilled workforce and labor market needs for very skilled com-puting professionals as highlighted by several studies [9,10].

Therefore, computing programs for kids should also reach out to families to build the kind of relationships that inform and engage them as active partners in their interest and learn-ing about computing [7]. Yet, for parents to develop supportive roles, they must gain first-hand competence in computing for themselves and with their children [12]. However, so far, most initiatives focus on the children only by teaching computing ei-ther within the classroom or in a more informal way as summer camps or after school clubs. Very few programs take into con-sideration the education of children and parents together. To support families, we need to design learning experiences where families can engage in joint activities to learn computing [8,19]. As part of our initiative Computação na Escola [4], we project-ed family workshops to teach physical computing to children and parents (or other adult family members) in which children and adults learn together through pair programming.

RUNNING FAMILY WORKSHOPS We run physical computing family workshops either as part of school programs or independently as part of our initiative Com-putação na Escola [4]. The workshops are aimed at children (10-14 years) accompanied by a parent (or any kind of adult fami-ly member or friend). During the 3 1/2-hours workshop each child, together with a parent as a pair, learn how to program

Page 51: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  49

ARTICLES

• Scratchboard [15]: a low-cost and easy to use Arduino Nano break-out board that allows to build physical devices rapidly using telephone cable jacks and helps to visualize the structure and logic of the connections. The Scratchboard was developed as a printed circuit board with a DIP socket for the Arduino Nano, and eight 4P4C modular jacks, where the automation devices can be connected, as shown in Figure 2. These can be analog and digital devices, ranging from actuators and sensors to simple handmade analog devices.

We also provided a Portuguese localization for the Scratch and Snap! Arduino Blocks and the Brazilian Portuguese localization for the Snap! programming language to enable their application in Brazil.

During the 3 1/2-hours workshop, participants learn step-by-step how to program the “superhero” robot. This involves learning to use simple commands as well as events, conditionals, loops, and functions. They also learn how to use operators and interface commands to read sensors and pass over outputs. Basic computing concepts—such as an understanding of algorithmic problem-solving (problem statement, implementation, and testing cycle), collaboration in form of pair programming as well as the understanding that a computer program is a set of step-by-step instructions to be undertaken—are taught implicitly.

The workshops are divided into three parts. In the beginning, we rapidly present the programming environment, teaching the participants how to move an actor. Then, the participants learn how to program the robot. We designed the workshops with an exclusive focus on active learning. Right from the beginning, the instructor starts explaining step-by-step how to program the robot presenting only a minimum of theoretical knowledge, for example on angles to control the movement of the robot’s arm. Immediately after the explanation of each step, the kid/parent pairs program and test their robot, if necessary, with help from the assistants. An online tutorial also supports this part of the workshop. In the end, they are free to explore how to modify/enhance the robot.

As of this writing, we have run five family workshops in the state of Santa Catarina /Brazil. In total, 75 families participated, with children ranging from six to thirteen years. A parent ac-

an interactive robot. Within the context of a story on an otter (native animal of our region) that needs to educate an ogre to stop polluting his lake, workshop participants are asked to help the otter to accomplish his mission. Therefore, they “give life” to a superhero robot, creating him to fire lasers with his eyes, to throw mud balls against a picture of an ogre, and, once sensing the presence of the ogre, making a sound to draw its attention.

We created a simple, low-cost, platform-independent, re-liable, and stable strategy integrating a microcontroller and block-based visual programming languages. The robot is auto-mated by an Arduino Nano microcontroller and a few hard-ware parts, such as a servo motor, an ultrasound sensor and two LEDs (with an approximate cost of less than US$45.00).

To facilitate programming, we use a block-based program-ming language, either Scratch 2 [14] or Snap! [18] (depending on the available IT infrastructure). To enable a quick learning experience and avoid having kids to hassle with jumper wires, breadboards, and command line-based microcontroller driv-ers, we developed a set of tools:• Scratchduino [16]: a Scratch/Snap! to Arduino

communication server. It is an easy to use, multiplatform GUI-based program that acts as a bidirectional protocol translator, providing interoperability between the Scratch/ Snap! Extension Protocol and the traditional Firmata microcontroller protocol. Scratchduino is an extension of the s2a_fm command line Scratch to Firmata protocol translator originally developed by Yorinks [13]. To avoid the usage of a Unix-like command line application, we developed Scratchduino with a simplified GUI, supporting its usage in an intuitive, flexible and easy way.

Figure 1: Interactive “superhero” robot

Figure 2: Scratchduino/Scratchboard operating schema and Scratchduino GUI

Page 52: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

50  acm Inroads  2017 March • Vol. 8 • No. 1

Teaching Physical Computing in Family Workshops

ARTICLES

uation has also been confirmed by post-class surveys in which the workshop was highly rated: on a scale of 1 (poor) to 4 (excellent), the participant’s average ratings were 4 (median) for the workshop in general. Most of the children also considered the workshop easy and fun. The parents also expressed very positive feedback indicat-ing that they very much liked participating in the workshop.

During the workshops, participants actively take part and can follow the instructions. And, although not measuring any kind of experimental data on the learning impact, we observed that each participating pair successfully programmed their robot. At the end of the workshop most participants also think that they can make computer programs and want to learn more about programming.

The children express their enjoyment—especially when see-ing the robot working (e.g., lighting up its eyes)—satisfaction and self-esteem and show their surprise that they achieved something they thought of to be very complex. This again has

companied each child—although in a few instances a grandpar-ent or uncle/aunt (Figure 4) served as the ‘parent’ participant. The workshops were offered for free funded by the Google Rise Award and governmental funding (CNPq).

LESSONS LEARNED All workshops have been very successful and we experienced a much larger demand than expected. The children like the work-shop a lot, expressing this in their comments: “Very cool and lot of fun;” “I loved the workshop;” and “Incredible—it’s magic,” em-phasizing especially that they appreciated learning how to make a robot move. In the same way, parents also demonstrated their con-tentment, praising especially the didactic, dynamic, and active for-mat of the workshop in which programming concepts are taught in a creative and attractive way for the children. This positive eval-

Figure 3: Command blocks used by Scratchduino and example of a program for moving the robot’s arm (left: in Scratch, right: in Snap!)

Figure 4: Scenes from the physical computing family workshops

Page 53: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

acm Inroads • inroads.acm.org  51

ARTICLES

AcknowledgmentsThis work has been supported by the CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico – www.cnpq.br), an entity of the Brazilian government focused on scientific and technological development and the Google Rise Award 2015.

References 1. 21st century challenges; https://21stcenturychallenges.org/what-is-the-digital-

divide. Accessed 2016 Aug 11. 2. Araque, J.C., Maiden, R.P., Bravo, N., Estrada, I., Evans, R., Hubchik, K., Kirby, K.,

and Reddy, M. Computer usage and access in low-income urban communities. Computers in Human Behavior, 29, 4 (2013), 1393–1401.

3. Bers, M.U. Project InterActions: A Multigenerational Robotic Learning Environment. Journal on Science Education and Technology, 16 (2007), 537–552.

4. Computação na Escola. http://www.computacaonaescola.ufsc.br/?lang=en. Accessed 2016 August 11.

5. Hidi, S., and Renninger, K.A. The four-phase model of interest development. Educational Psychologist, 41, 2 (2006), 111.

6. Lee, J.S., and Bowen, N.K. Parent Involvement, Cultural Capital, and the Achievement Gap Among Elementary School Children. American Educational Research Journal, 43, 2 (2006), 193–218.

7. Lin, J.M.-C., and Liu, S.-F. An Investigation into Parent-Child Collaboration in Learning Computer Programming. Educational Technology & Society, 15, 1 (2012), 162–173.

8. Livingstone, S., Mascheroni, G., Dreier, M., Chaudron, S. and Lagae, K. How parents of young children manage digital devices at home: The role of income, education and parental style. (London: EU Kids Online, 2015).

9. The Manpower Group. 2015 Talent Shortage Survey. http://www.manpowergroup.fi/Global/2015_Talent_Shortage_Survey-full%20report.pdf. Accessed 2016 August 11.

10. OECD. Investing in Youth: Brazil. (Paris: OECD Publishing, 2014). 1 1. Papert, S. The Connected Family. (Atlanta, GA: Longstreet Press, 1996). 12. Roque, R., Lin, K., and Liuzzi. R. ‘I’m Not Just a Mom’: Parents Developing Multiple

Roles in Creative Computing. International Journal of Learning and Media, 1, 2 (2009), 55–77.

13. s2a_fm; https://github.com/MrYsLab/s2a_fm. Accessed 2015 November 10. 14. Scratch; https://scratch.mit.edu/. Accessed 2016 August 11. 15. Scratchboard; http://www.computacaonaescola.ufsc.br/scratchboard. Accessed

2016 August 11. 16. Scratchduino; http://www.computacaonaescola.ufsc.br/scratchduino. Accessed

2016 August 11. 17. Smith, J.G. Parental Involvement in Education Among Low-Income Families: A Case

Study. The School Community Journal, 16, 1 (2006). 18. Snap!; http://snap.berkeley.edu/. Accessed 2016 August 11. 19. Takeuchi, L., and Stevens, R. The new coviewing: Designing for learning through

joint media engagement. (New York, NY: The Joan Ganz Cooney Center at Sesame Workshop, 2011).

20. Toh, L.P.E., Causo, A., Tzuo, P.-W., Chen, I-M., and Yeo, S.H. A Review on the Use of Robots in Education and Young Children. Educational Technology & Society, 19, 2 (2016), 148–163.

Christiane Gresse von WangenheimBrazilian Institute for Digital Convergence (INCoD)/ Department of Informatics and Statistics (INE)/ Federal University of Santa Catarina (UFSC)Campus Universitário – Trindade, 88049-200 Florianópolis /SC/[email protected]

Aldo von WangenheimBrazilian Institute for Digital Convergence (INCoD)/ Department of Informatics and Statistics (INE)/ Federal University of Santa Catarina (UFSC)Campus Universitário – Trindade, 88049-200 Florianópolis /SC/[email protected]

Fernando S. PachecoDepartment of Electronics/ Campus Florianópolis/ Federal Institute of Santa Catarina (IFSC)Av. Mauro Ramos, 950, 88020-300 Florianópolis /SC/[email protected]

Jean C. R. HauckBrazilian Institute for Digital Convergence (INCoD)/ Department of Informatics and Statistics (INE)/ Federal University of Santa Catarina (UFSC)Campus Universitário – Trindade, 88049-200 Florianópolis - SC, [email protected]

Miriam Nathalie F. FerreiraBrazilian Institute for Digital Convergence (INCoD)/ Department of Informatics and Statistics (INE)/ Federal University of Santa Catarina (UFSC)Campus Universitário – Trindade, 88049-200 Florianópolis /SC/[email protected]

DOI: 10.1145/3043950 ©2017 ACM 2153-2184/17/03 $15.00

also been expressed by their comments on what they liked most about the workshop (e.g., “when the robot throws the balls against the ogre” and “make the robot move”). Parents as well as the children enjoy programming the “superhero” robot and we observed that they immerse themselves into the story. One child, for example, had his mother film him re-telling the story while running the robot he programmed.

Furthermore, by gaining first-hand computing competencies themselves and with their children, parents are also motivated to assume a supportive role. A first step for them to encourage their children to pursue computing activities is that they them-selves understand that computing is something their children can master as well as to recognize their child’s interest in this area. At the end of the workshop, parents pointed out that it helped them to demystify computing and that they recognize the importance of computing education as well as the interest of their child: “I was very happy to see that my daughter was interested and liked the workshop;” “Finding out that it is very easy to program a robot, when I imagined that it was a very difficult thing only few people are able to achieve, and how chil-dren interacted and were interested.”

Parents also cited as a strength the possibility of having this experience together with their child creating valuable par-ent-child activity time (“the chance to work/play with my son” and “the explanations with practical examples and to see the motion sensor working with all actions programmed. And we learned together!”). We also observed further benefits of the family-based design of the workshops. Parents and children col-laborated naturally as pair programmers. Typically, the child as-sumed control by assembling hardware parts and programming, while the parent sat by his/her side observing and reviewing. Several times we observed a reversion of the traditional roles between parents and children, with the children leading and ex-plaining the activities to their parents. However, as the children often rushed into the activities aiming at making it work, they did not necessarily take the time to understand the concepts. Parents on the other hand often adopted a more systematic ap-proach and guided their child when something was not working as expected by carefully repeating the steps to identify the mis-take. We also observed that the way the workshop is designed, with constant support by teaching assistants, makes children and parents feel comfortable in asking for help, whenever nec-essary. Thus, the workshops yield benefits by contributing to the children’s education through parental involvement, but also by reaching a different group—the adults—and, thus, providing computing education to a larger share of the community.

At the end of each workshop, most participants (parents and kids) were eager to continue at home and/or through other workshops. Due to the success, we plan to continue these work-shops as well as our game and app development workshops not only as self-contained events but also as a part of school pro-grams. To broaden access to these workshops, we are also start-ing to develop teacher courses. Furthermore, we are developing additional activities via online tutorials to enable participants to continue at home afterwards.

Page 54: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

52  acm Inroads  2017 March • Vol. 8 • No. 1

BACKPAGEBACKPAGEJohn Barr, Back Page EditorDepartment of Computer ScienceIthaca College953 Danby RoadIthaca, New York 14850 [email protected]

Computer Science for Kids! Houses of CharacterBy Chand T. John

Chand T. John, Foothill College, Department of Computer Science, 1070 Innovation Way, Sunnyvale, CA 94089, [email protected]

DOI: 10.1145/2914794 ©2017 ACM 2153-2184/17/03 $15.00

ILLU

ST

RA

TIO

N: ©

2016

CH

AN

D T

. JO

HN

Page 55: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

There’s an ACM Student Research Competition at a SIG Conference of interest to you! It’s hard to put the ACM Student Research Competition (SRC) experience into words, but we’ll try…

Attention: Undergraduate and Graduate

Computing Students

Check the SRC Submission Dates:http://src.acm.org/submissions.html

There’s an ACM Student Research Competition at a SIG Conference of interest to you!

It’s hard to put the ACM Student Research Competition (SRC) experience into words, but we’ll try…

Attention: Undergraduate and Graduate

Computing Students

“The ACM SRC has been an extraordinary opportunity to expose my research and get feedback from an audience of experts in my field. What makes SRC a unique and integral experience is that along the phases of the competition, not only the research work itself is evaluated but also the soft skills of the participants.” Miguel Angel AguilarRWTH Aachen University | PACT 2015

“The SPLASH 2015 SRC presented an opportunity to experience work in software engineering and to practice presentation and discussion skills. Conversations with fellow students and researchers about opportunities in the field will guide my future for years to come.”Andrew KofinkNorth Carolina State University | SPLASH 2015

“SRC provided me a unique opportunity of showcasing early stage research work to the pioneers of the community. The constructive feedback and excitement received during SRC later led to a broader and stronger piece of future work. Since it’s organized in a competitive manner and judged by experts, it helps one in both the technical as well as communication fronts. ” Puneet JainDuke University | MobiCom 2015

“ACM SRC gives students an incentive to think about questions beyond the daily focus: Why am I doing this research? How does it impact society? Why should other researchers care? Which future directions to pursue? Eventually, each researcher will need to answer these questions in their career, and it is helpful to face them early in the SRC.” Ivan RuchkinCarnegie Mellon University | MODELS 2015

“The ACM SRC is an excellent platform to present your ongoing research and get feedback from experienced people in the community. It helps you improve your research and presentation skills, and lets you gauge the interest of the community in your ongoing research work.”Swarnendu BiswasOhio State University | PLDI 2015

“Participating in the SRC was an amazing opportunity. It was my first time attending any conference, and it really showed me how to pitch my research project, and interact with other researchers. I will carry this experience with me in my future academic and professional endeavors.” Michele HuCornell Tech | ASSETS 2015

“The ACM SRC was a fantastic opportunity to get my research in front of expert researchers who would not otherwise have seen it. I received invaluable feedback on both my research direction and my presentation and communication skills that will serve me well going forward. Later in my career, I hope I have the opportunity to participate in future SRCs as a judge and mentor to pay it forward to the generation after mine.” Christopher TheisenNorth Carolina State University | FSE 2015

Check the SRC Submission Dates:http://src.acm.org/submissions.html

u Participants receive: $500 (USD) travel expenses

u All Winners receive a handsome medal and monetary award. First place winners advance to the SRC Grand Finals

u Grand Finals Winners receive a handsome certificate and monetary award at the ACM Awards Banquet

Questions? Contact Nanette Hernandez, ACM’s SRC Coordinator: [email protected]

u Participants receive $500 (USD) travel expensesu All Winners receive a handsome medal and monetary award. First place winners advance to the SRC Grand Finalsu Grand Finals Winners receive a handsome certificate and monetary award at the ACM Awards Banquet

Questions? Contact Nanette Hernandez, ACM’s SRC Coordinator: [email protected]

Page 56: Inroads - March 2017zingarod/inroads317.pdf · Inroads PAVING THE WAY TOWARD EXCELLENCE IN COMPUTING EDUCATION 2017 MARCH VOL. 8 NO. 1 acm PAVING THE WA Y TOW ARD EXCELLENCE IN COMPUTING

Connect with ourCommunity of Reviewers

www.computingreviews.com

ThinkLoud

“I like CR because it covers the full spectrum of computing research, beyond the comfort zone of one’s specialty. I always look forward to the next Editor’s Pick to get a new perspective.”

- Alessandro Berni