Download as pdf or txt
Download as pdf or txt
You are on page 1of 235

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/234782265

Beyond the computer science curriculum: empowering students for success

Article  in  Journal of Computing Sciences in Colleges · January 2011

CITATIONS READS
6 993

4 authors, including:

Theresa Beaubouef Ghassan Alkadi


Southeastern Louisiana University Southeastern Louisiana University
76 PUBLICATIONS   1,309 CITATIONS    28 PUBLICATIONS   148 CITATIONS   

SEE PROFILE SEE PROFILE

Kuo-pao Yang
Southeastern Louisiana University
40 PUBLICATIONS   383 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

My Ph.D. Dissertation, LSU 1999. View project

All content following this page was uploaded by Ghassan Alkadi on 06 February 2014.

The user has requested enhancement of the downloaded file.


The Journal of Computing
Sciences in Colleges

Volume 26, Number 4 April 2011


The Journal of Computing
Sciences in Colleges
Papers of the Twenty Second Annual
CCSC
South Central Conference
April 15-16, 2011
Sam Houston State University
Huntsville, Texas

Papers of the Fourth Annual


CCSC
Southwestern Conference
April 1-2, 2011
Loyola Marymount University
Los Angeles, California

John Meinke, Editor Susan T. Dean, Associate Editor


UMUC — Europe UMUC — Europe

George Benjamin, Associate Editor Laura Baker, Contributing Editor


Muhlenberg College St. Edward’s University

Peter Gabrovsky, Contributing Editor Michael Doherty, Contributing Editor


CSU Northridge University of the Pacific

Volume 26, Number 4 April 2011


The Journal of Computing Sciences in Colleges (ISSN 1937-4771 print, 1937-4763
digital) is published at least six times per year and constitutes the refereed papers of
regional conferences sponsored by the Consortium for Computing Sciences in Colleges.
Printed in the USA. POSTMASTER: Send address changes to Jim Aman, CCSC
Membership Chair, Saint Xavier University, Chicago, IL 60655.

Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission


to copy without fee all or part of this material is granted provided that the copies are not
made or distributed for direct commercial advantage, the CCSC copyright notice and the
title of the publication and its date appear, and notice is given that copying is by
permission of the Consortium for Computing Sciences in Colleges. To copy otherwise,
or to republish, requires a fee and/or specific permission.

ii
TABLE OF CONTENTS

THE CONSORTIUM FOR COMPUTING SCIENCES IN COLLEGES BOARD OF


DIRECTORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

CCSC NATIONAL PARTNERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

FOREWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
John Meinke, UMUC Europe

PAPERS OF THE TWENTY SECOND ANNUAL CCSC SOUTH CENTRAL


CONFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

WELCOME TO THE TWENTY SECOND ANNUAL (2011) CCSC SOUTH


CENTRAL CONFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Laura J. Baker, St. Edward’s University, Ken Hartness, Sam Houston State
University

2011 SOUTH CENTRAL STEERING COMMITTEE AND CONFERENCE


COMMITTEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

REVIEWERS — 2011 CCSC SOUTH CENTRAL CONFERENCE . . . . . . . . . . . . . 3

SUPERCOMPUTING IN PLAIN ENGLISH — KEYNOTE ADDRESS . . . . . . . . 5


Henry Neeman, University of Oklahoma

A CASE STUDY OF METRICS FOR ASSESSING STEM SCHOLARSHIP


PROGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Kwok-Bun Yue, Sharon Hall, Simone Tiu, Anne Reilly, Sadegh Davari,
University of Houston-Clear Lake

WHERE ARE THE WOMEN COMPUTER SCIENCE STUDENTS? . . . . . . . . . . 14


Theresa Beaubouef and Wendy Zhang, Southeastern Louisiana University

BEYOND THE COMPUTER SCIENCE CURRICULUM: EMPOWERING


STUDENTS FOR SUCCESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Theresa Beaubouef, Wendy Zhang, Ghassan Alkadi, Kuo-Pao Yang,
Southeastern Louisiana University

COMPUTING FOR SCIENCE MAJORS: A NEW COURSE . . . . . . . . . . . . . . . . . 28


Richard P. Simpson and Tina Johnson, Midwestern State University

iii
A COMPARISON OF COMPACT ROBOTICS PLATFORMS FOR MODEL
TEACHING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Anne-Marie Eubanks, Robert G. Strader, and Deborah L. Dunn, Stephen F.
Austin State University

EVALUATING STUDENTS' SATISFACTION USING TWO SAP ERP USER


INTERFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
John L. Wilson, Ed Lindoo, Regis University

RIGOROUS SOFTWARE ENGINEERING USING DESIGN BY CONTRACT —


TUTORIAL PRESENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Michael Kart, St. Edward's University

DESIGNING AN UNDERGRADUATE DATA MINING COURSE BY


MATCHING TEACHING STRATEGIES WITH STUDENT LEARNING
STYLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Ping Chen, Irene Chen, University of Houston-Downtown, Rakesh Verma,
University of Houston

A COURSE IN ADVANCED OPERATING SYSTEMS USING MPI FOR


PROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Michael Scherger, Texas A&M University - Corpus Christi

SELF-SUPPORT COMPUTER SCIENCE LAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 64


Jenq-Foung "JF" Yao, James Carlisle, Georgia College & State University

VIRTUALIZATION OF OUR UNIVERSITY FOR THE RECRUITMENT AND


ORIENTATION OF NEW STUDENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Ghassan Alkadi, Theresa Beaubouef, Eric Patton, Savannah Brown,
Southeastern Louisiana University

RADIO FREQUENCY IDENTIFICATION (RFID) PROJECTS FOR COMPUTER


SCIENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Kuo-pao Yang and Theresa Beaubouef, Southeastern Louisiana University

THE USE OF FREE AND OPEN SOURCE SOFTWARE IN REAL-WORLD


CAPSTONE PROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Kwok-Bun Yue, Zahabia Damania, Raunaq Nilekani, Krishani Abeysekera,
University of Houston-Clear Lake

MOBILE GAME DEVELOPMENT PROJECTS FOR INTRODUCTORY CS


COURSES — TUTORIAL PRESENTATION . . . . . . . . . . . . . . . . . . . . . . . . 93
Delvin Defoe, Rose-Hulman Institute of Technology, Stan Kurkovsky, Central
Connecticut State University, Emily Graetz, Rose-Hulman Institute of
Technology

iv
CLASSIFICATION OF RIDE-SHARING PARTNERS BASED ON MULTIPLE
CONSTRAINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Troy Kammerdiener and Hong Zhang, Southeastern Louisiana University

IMMERSIVE VISUALIZATION TECHNIQUES IN ENHANCING AND


SPEEDING PEDAGOGICAL PROCESSES OF COMPUTING CONCEPTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Sarah M. North, Ju An Wang, Southern Polytechnic State University

PAPERS OF THE FOURTH ANNUAL CCSC SOUTHWESTERN CONFERENCE


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

WELCOME TO THE 2011 CCSC SOUTHWESTERN CONFERENCE . . . . . . . 110


Stephanie E. August, Loyola Marymount University

2011 SOUTHWESTERN CONFERENCE COMMITTEE . . . . . . . . . . . . . . . . . . 111

CCSC SOUTHWESTERN REGION BOARD OFFICERS . . . . . . . . . . . . . . . . . . 111

REVIEWERS — 2011 CCSC SOUTHWESTERN CONFERENCE . . . . . . . . . . . 111

COMPUTER SECURITY AND, VERSUS, OR SECURITY INFORMATICS —


KEYNOTE ADDRESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
L. Jean Camp, Indiana University Bloomington

USING HUMAN-CENTERED DESIGN TO EXPOSE HUMANS TO COMPUTER


SCIENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Megan Thomas, California State University Stanislaus

LA BELLA FIGURA: MAKING A GOOD IMPRESSION WHEN TEACHING AN


INTRODUCTION TO PROGRAMMING TO NON-ENGINEERS . . . . . . . 122
Ani Nahapetian, University of Los Angeles, California (UCLA)

PIXELS AS POLYMERS: UNIFYING INTRODUCTORY BIOLOGY AND


COMPUTER SCIENCE THROUGH VISUAL COMPUTATION . . . . . . . . 130
Zachary Dodds, Ran Libeskind-Hadas, and Eliot Bush, Harvey Mudd College

HOW TO ORGANIZE A PROFESSIONAL DEVELOPMENT WORKSHOP FOR


HIGH SCHOOL CS TEACHERS — CONFERENCE TUTORIAL . . . . . . . 139
Lecia Barker, University of Texas at Austin, Joanne McGrath Cohoon, James P.
Cohoon, University of Virginia

FACE-TO-FACE EXPERIENCES FOR ONLINE STUDENTS: EFFECTIVE,


EFFICIENT, AND ENGAGING HYBRID CLASSES . . . . . . . . . . . . . . . . . 140
Todd Whittaker and Esmail Bonakdarian, Franklin University

v
SEMANTIC INFORMATION SYSTEM: APPLICATIONS IN K-12 EDUCATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
JohnPaul Adigwu, Neil Arellano, Sergio Beltran, Jorge Estrada, Adrienne Lam,
Sergio Mendoza, Aleksander Milshteyn, Gabriel Nunéz, Evan Tsai, Charles
Liu, Helen Boussalis, California State University, Los Angeles

TOUCHCASTING DIGITAL LECTURE NOTES . . . . . . . . . . . . . . . . . . . . . . . . 157


James Dean Palmer, Northern Arizona University

RECRUITING WOMEN INTO YOUR COMPUTING MAJOR — CONFERENCE


TUTORIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Lecia Barker, University of Texas at Austin, Joanne McGrath Cohoon,
University of Virginia

BUILDING AN ACADEMIC VIDEO GAME PIPELINE — KEYNOTE ADDRESS


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Scott Easley, University of Southern California

SOFTWARE ENGINEERING COURSE DESIGN FOR UNDERGRADUATES


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Jianchao Han, California State University Dominguez Hills

DEVELOPING STUDENTS' SELF-ASSESSMENT SKILLS USING LAB-


CENTRIC INSTRUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Colleen M. Lewis, Nathaniel Titterton, and Michael Clancy, University of
California, Berkeley

LEARNING OBJECTIVE BASED DESIGN OF A COMPUTER SIMULATION


COURSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Michael Doherty, University of the Pacific

SHORT MOBILE GAME DEVELOPMENT PROJECTS FOR CS1/2 —


CONFERENCE TUTORIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Stan Kurkovsky, Central Connecticut State University, Delvin Defoe, Rose-
Hulman Institute of Technology

LEVERAGING EXISTING OUTREACH PROGRAMS TO REACH


UNDERREPRESENTED MINORITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Maribel Gonzalez, Lucy Vasserman, Sara Owsley Sood, and Tzu-Yi Chen,
Pomona College

WORKING TOGETHER: WORDS AND MATH . . . . . . . . . . . . . . . . . . . . . . . . . 197


Allison Neyer, Stephanie E. August, Michele Hammers, Loyola Marymount
University

vi
ORIGINAL HISTORICAL SOURCES IN DATA STRUCTURES AND
ALGORITHMS COURSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Inna Pivkina, New Mexico State University

SETS EARLY and PROBABILITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


John Motil, California State University Northridge

PEER INSTRUCTION IN THE CS CLASSROOM: A HANDS-ON


INTRODUCTION — CONFERENCE TUTORIAL . . . . . . . . . . . . . . . . . . . 218
Daniel Zingaro, University of Toronto, Leo Porter, Beth Simon, University of
California, San Diego, University of San Diego

UNDERSTANDING NSF FUNDING OPPORTUNITIES — KEYNOTE ADDRESS


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Scott Grissom, National Science Foundation

INDEX OF AUTHORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

vii
THE CONSORTIUM FOR COMPUTING SCIENCES IN COLLEGES
BOARD OF DIRECTORS

Following is a listing of the contact information for 77341-2090, 936-294-1571, mcguire@shsu.edu.


the members of the Board of Directors and the Brent Wilson, Northwestern Representative (2012),
Officers of the Consortium for Computing Sciences George Fox University, 414 N. Meridian St,
in Colleges (along with the year of expiration of their Newberg, OR 97132, 503-554-2722 (O),
terms), as well as members serving the Board: 503-554-3884 (fax), bwilson@georgefox.edu.
Bob Neufeld, President (2012), Professor Emeritus Pat Ormond, Rocky Mountain Representative
of Computer Science, McPherson College, P. O. Box (2013), Professor, Information Systems and
421, North Newton, KS 67117, 316-283-1187 (H), Technology, Utah Valley University, 800 West
neufeld@mcpherson.edu. University Parkway, Orem, UT 84058,
Laura J. Baker, Vice-President (2012), Professor, 801-863-8328 (O), 801-225-9454 (cell),
Computer Sciences Department, St. Edward's ormondpa@uvu.edu.
University, Box 910, 3001 S. Congress Ave, Austin, Lawrence D'Antonio, Northeastern Representative
TX 78704, 512-448-8675, laurab@stedwards.edu. (2013), Ramapo College of New Jersey, Computer
Jim Aman, Membership Chair (2013), Assoc. Science Dept., Mahwah, NJ 07430, 201-684-7714,
Professor, Computer Science, Saint Xavier ldant@ramapo.edu.
University, Chicago, IL 60655, 773-298-3454 (O), Linda Sherrell, MidSouth Representative (2013),
630-728-2949 (cell), aman@sxu.edu. Associate Professor, Computer Science, University
Bill Myers, Treasurer (2011), Dept. of Computer of Memphis, 209 Dunn Hall, Memphis, TN 38152,
Studies, Belmont Abbey College, 100 901-678-5465 (O), linda.sherrell@memphis.edu.
Belmont-Mount Holly Road, Belmont, NC Serving the Board: The following CCSC members
28012-1802, 704-461-6823 (O), 704-461-5051, are serving in positions as indicated that support the
(fax), myers@crusader.bac.edu. Board:
John Meinke, Publications Chair, (2012), Collegiate Will Mitchell, Conference Coordinator, 1455 S
Associate Professor, UMUC Europe, US Post: CMR Greenview Ct, Shelbyville, IN 46176-9248,
420, Box 3668, APO AE 09063; (H) Werderstr 8, 317-392-3038 (H), willmitchell@acm.org.
D-68723 Oftersheim, Germany, 011-49-6202-5 77 George Benjamin, Associate Editor, Muhlenberg
79 16 (H), meinkej@acm.org. College, Mathematical Sciences Dept., Allentown,
Kim P. Kihlstrom, Southwestern Representative PA 18104, 484-664-3357 (O), 610-433-8899 (H),
(2011), Associate Professor of Computer Science, benjamin@muhlenberg.edu.
Westmont College, 955 La Paz Road, Santa Barbara, Susan Dean, Associate Editor, Collegiate Professor,
CA 93108, 805-565-6864 (O), 805-570-6722 (cell), UMUC Europe, US Post: CMR 420, Box 3669, APO
805-565-7036 (fax), kimkihls@westmont.edu. AE 09063; Werderstr 8, D-68723 Oftersheim,
Elizabeth S. Adams, Eastern Representative (2011), Germany. 011-49-6202-5 77 82 14, (H)
Associate Professor Emeritus, James Madison sdean@faculty.ed.umuc.edu.
University - Mail Stop 4103, CISAT - Department of Robert Bryant, Comptroller, Professor &
Computer Science, Harrisonburg, VA 22807, Information Tech. Program Director, MSC 2615,
adamses@jmu.edu. Gonzaga University, Spokane, WA 99258,
Deborah Hwang, Midwestern Representative 509-313-3906, bryant@gonzaga.edu.
(2011), Dept. of Electrical Engineering and Paul D. Wiedemeier, National Partners Chair, The
Computer Science, University of Evansville, 1800 University of Louisiana at Monroe, Computer
Lincoln Avenue, Evansville, IN 47722, Science and CIS Department, 700 University
812-488-2193 (O), 812-488-2780 (fax), Avenue, Administration Building, Room 2-37,
hwang@evansville.edu. Monroe, LA 71209, 318-342-1856 (O),
Scott Sigman, Central Plains Representative (2011), 318-342-1101 (fax), wiedemeier@ulm.edu.
Associate Professor of Computer Science, Drury Brent Wilson, Database Administrator, George Fox
University, Springfield, MO 65802, 417-873-6831, University, 414 N. Meridian St, Newberg, OR
scott.sigman58@gmail.com.. 97132, 503-554-2722 (O), 503-554-3884 (fax),
Kevin Treu, Southeastern Representative (2012), bwilson@georgefox.edu.
Furman University, Dept of Computer Science, Myles McNally, Webmaster, Professor of Computer
Greenville, SC 29613, 864-294-3220 (O), Science, Alma College, 614 W. Superior St., Alma,
kevin.treu@furman.edu. MI 48801, 989-463-7163 (O), 989-463-7079 (fax),
Timothy J. McGuire, South Central Representative mcnally@alma.edu.
(2012), Sam Houston State University, Department
of Computer Science, Huntsville, Texas

viii
CCSC NATIONAL PARTNERS
The Consortium is very happy to have the following as National Partners. If you
have the opportunity please thank them for their support of computing in teaching
institutions. As National Partners they are invited to participate in our regional
conferences. Visit with their representatives there.
Microsoft Corporation
Turings Craft
National Science Foundation
Panasonic Solutions Company

FOREWORD
My sincere thanks and commendations to the program committees for the two
conferences represented in this issue of the Journal. Both committees have worked well
together with lots of communication putting together an excellent program as well as
facilitating the papers of those conferences appearing in this issue in a very efficient
fashion. I work through the regional editor and when I have a question and I get an
almost immediate response it facilitates the final editing process being accomplished very
efficiently. My sincere thanks to Laura Baker (South Central) as well as Peter
Gabrovsky and Mike Doherty ((Southwestern) for being so wonderful to work with. This
is particularly true since we were working over a span of nine time zones – one was
going to bed while another was beginning the day. My sincere thanks to Laura, Peter,
and Mike for being so on top of things.
We begin our coverage of the Spring set of conferences with this issue of the
Journal. The first Spring conference is the first weekend in April and the five
conferences are then all occurring in this year in a two week period, the last being the
third weekend in April. They are spread geographically from the West Coast to the
Northeast. There is an excellent mix of professional papers and
tutorials/workshops/panel discussions in each. I commend all of them, and encourage
you to plan appropriately so that when there are multiple conferences you are able to
participate in that cross-fertilization between regions happens. While CCSC sponsors
regional conferences the involvement across regional boundaries really adds to the
overall professional experience.
I know that you will benefit greatly from the contents of this issue of the Journal
as well as the two that will follow, and those of you who attend the conferences will
benefit that much more.
The papers in the Journal are all reviewed and the reviewing process as well as the
acceptance rate are outlined in the welcome statements to each of the individual
conferences. The reviewing process helps to maintain the quality of the submissions.
Our list of CCSC National Partners is a listing of major contributors to the

ix
conferences. Without their help it would be necessary to raise conference registration
rates, and CCSC has long been aware that budgets are tight. Maintaining low registration
costs assists those with low travel budgets to continue their involvement in the computing
sciences. Please be certain to thank our National Partners for their involvement and
support of CCSC.
We also need to recognize the support of Upsilon Pi Epsilon, the National Honor
Society for Computer Science. For a good number of years now they have been
financially supporting CCSC conferences through support of student participation. It is
through their assistance that we can have student oriented activities at the conferences.
Our sincere thanks to UPE.
Again, it is a pleasure to present this issue in this year’s edition of the Journal of
Computing Sciences in Colleges. I trust that you will find the contents as interesting and
worthwhile as I have.
John Meinke, UMUC Europe
CCSC Publications Chair

x
Papers of the Twenty
Second Annual
CCSC
South Central
Conference

April 15-16, 2011


Sam Houston State University
Huntsville, Texas
WELCOME TO THE TWENTY SECOND ANNUAL (2011)
CCSC SOUTH CENTRAL CONFERENCE
It is a pleasure to welcome everyone to the 22nd annual meeting of the South
Central Region of the Consortium for Computing Sciences in Colleges hosted by Sam
Houston State University in Huntsville, Texas. The South Central Steering Committee
is pleased to return to this beautiful campus in the piney woods of East Texas. We would
like to extend our gratitude to the authors, presenters, speakers, and students for
participating in the conference and we hope to see you all in the future as well. The
faculty, staff, and students at Sam Houston State have provided a wonderful venue to
host this year's conference and we thank them for all of the time and hard work expended
in providing their facilities for the South Central Regional conference.
This year fourteen professional papers and two workshops were accepted for
publication and presentation. We use a double-blind paper review process and each
paper is reviewed by three independent reviewers. There were 22 papers submitted and
14 were accepted for publication for a 63% acceptance rate. Fifty-one professionals
provided reviews of papers for this year's conference. We really appreciate the time and
effort put into our reviewing process by 50 reviewers from across the United States and
one from Portugal.
We hope you enjoy the conference and have time to enjoy the beautiful scenery of
East Texas. We encourage everyone to participate as an author, reviewer, or attendee in
the future. We welcome our members to consider hosting a conference and to serve on
our Steering Committee.
Laura J. Baker Ken Hartness
Papers/Program Chair, South Central 2011 South Central Conference Chair
St. Edward’s University Sam Houston State University

2011 SOUTH CENTRAL STEERING COMMITTEE AND


CONFERENCE COMMITTEE

James W. McGuffee, 2010 Conference Chair . . . St. Edward's University, Austin, TX


Ken Hartness, 2011 Conference Chair Sam Houston State University, Huntsville, TX
Rajan Alex, 2012 Conference Chair . . . . West Texas A&M University, Canyon, TX
Members with term ending in 2011:
Rajan Alex, 2011 Conference Treasurer . West Texas A&M University, Canyon, TX
Shyam (Sam) Karrah, 2011 Student Project Posters Chai UT-Dallas, Richardson, TX
Phyllis Tedford, South Central Region Webmaster . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . Texas A&M University - Corpus Christi, Corpus Christi, TX
Members with term ending in 2012:
William Denny, 2011 Tutorials/Panels Chair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . McNeese State University, Lake Charles, LA

2
Kay Kussman, 2011 Moderators Chair McNeese State University, Lake Charles, LA
Leslie Fife, 2011 Conference Registrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . Louisiana State University - Shreveport, Shreveport, LA
Members with term ending in 2013:
Michael Kart . . . . . . . . . . . . . . . . . . . . . . . . . . . . St. Edward's University, Austin, TX
Vipin Menon, Publicity Chair . . . . . . . McNeese State University, Lake Charles, LA
Michael Scherger, 2011 Student Papers Chair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . Texas A&M University - Corpus Christi, Corpus Christi, TX
Other Members:
Laura J. Baker, 2011 Papers/Program Chair . . . . St. Edward's University, Austin, TX
Timothy J. McGuire, CCSC Board Member (SC Rep) . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sam Houston State University, Huntsville, TX

REVIEWERS — 2011 CCSC SOUTH CENTRAL


CONFERENCE

Barbara Anthony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Georgetown, Texas


M. Emre Celebi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shreveport, Louisiana
Rohitha Goonatilake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laredo, Texas
Donna Teel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Belton, Texas
James McGuffee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Austin, Texas
Ernie Giangrande Jr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wingate, North Carolina
Hong Lin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Houston, Texas
Ping Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Houston, Texas
Ming Chiu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hammond, Louisiana
Yingbing yu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clarksville, Tennessee
Pavel Azalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hazleton, Pennsylvania
Lewis Myers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Austin, Texas
Richard Brozovic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abilene, Texas
Robert Strader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nacogdoches, Texas
Ke Yang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Baton Rouge, Louisiana
Jaime Nino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Orleans, Louisiana
Sarah North . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mareitta, Georgia
Mayukh Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Baton Rouge, Louisiana
Wendy Zhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hammond, Louisiana
Kay Kussmann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lake Charles, Louisiana
John Camden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Austin, Texas
Srinivasarao Krishnaprasad . . . . . . . . . . . . . . . . . . . . . . . . . . . Jacksonville, Alabama
John Fernandez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corpus Christi, Texas
Jay-Evan Tevis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Longview, Texas
Robert Neufeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . North Newton, Kansas
Carol Binkerd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corpus Christi, Texas
Sikha Bagui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pensacola, Florida
Charlotte Busch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corpus Christi, Texas
Catherine Stringfellow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wichita Falls, Texas

3
JCSC 26, 4 (April 2011)

Kenneth Rouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Longview, Texas


Suzanne Buchele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Georgetown, Texas
Beverly Swisshelm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lebanon, Tennessee
Ming Luong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Highland Village, Texas
Kwok-Bun Yue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Houston, Texas
Yong Shi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kennesaw, Georgia
Krishna Agarwal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shreveport, Louisiana
Myung Ah (Grace) Park . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edmond, Oklahoma
David Gurney . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hammond, Louisiana
Nelson Passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wichita Falls, Texas
Tina Johnson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wichita Falls, Texas
Nadine Hanebutte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rochester, New York
Muhammad Rahman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Morrow, Georgia
Hongbiao Zeng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hays, Kansas
Ranette Halverson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wichita Falls, Texas
Quoc-Nam Tran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beaumont, Texas
Jose Metrolho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Castelo Branco, Portugal
Steele Russell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hammond, Louisiana
Michael Kart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Austin, Texas
Kuo-pao Yang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hammond, Louisiana
John Wilson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oneida, Wisconsin
Mufid Abudiab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corpus Christi, Texas

4
KEYNOTE ADDRESS

Friday, April 15, 2011


S
U
P
E
R
C
O
M
P
U
T
I
N
G
I
N
P
L
A
I
N
E
N
G
L
I
S
H
*

Henry Neeman
D
i
r
e
c
t
o
r
,
O
U
S
u
p
e
r
c
o
m
p
u
t
i
n
g
C
e
n
t
e
r
f
o
r
E
d
u
c
a
t
i
o
n
&
R
e
s
e
a
r
c
h
O
S
C
E
R
︵ ︶
U
n
i
v
e
r
s
i
t
y
o
f
O
k
l
a
h
o
m
a
Dr. Henry Neeman is the Director of the OU Supercomputing Center for Education
& Research (OSCER) and an adjunct professor in the School of Computer Science at the
University of Oklahoma (OU). He received his BS in Computer Science and his BA in
Statistics with a minor in Mathematics from the State University of New York at Buffalo
in 1987, his MS in CS from the University of Illinois at Urbana-Champaign in 1990 and
his PhD in CS from UIUC in 1996.
Before coming to OU, Dr. Neeman was a postdoctoral research associate at the
National Center for Supercomputing Applications (NCSA) at UIUC, and before that
served as a graduate research assistant both at NCSA and at the Center for
Supercomputing Research & Development.
In addition to his own teaching and research, Dr. Neeman collaborates with dozens
of research groups, applying High Performance Computing techniques in fields such as
numerical weather prediction, bioinformatics and genomics, data mining, high energy
physics, astronomy, nanotechnology, petroleum reservoir management, river basin
modeling and engineering optimization. He has served as an ad hoc advisor to student
researchers in many of these fields.
Dr. Neeman's research interests include high performance computing, scientific
computing, parallel and distributed computing, and computer science education.

___________________________________________
*
Copyright is held by the author/owner.

5
A CASE STUDY OF METRICS FOR ASSESSING STEM

SCHOLARSHIP PROGRAMS*

Kwok-Bun Yue, Sharon Hall, Simone Tiu, Anne Reilly, Sadegh Davari
University of Houston-Clear Lake
2700 Bay Area Boulevard
Houston, TX 77058
yue@uhcl.edu, perkins@uhcl.edu, ftiu@aii.edu, reilly@uhcl.edu, davai@uhcl.edu

ABSTRACT
As the challenges in Science, Technology, Engineering and Mathematics
(STEM) education become more prominent, resources for promoting STEM
education are more available. STEM scholarship programs, such as the
S-STEM program funded by the National Science Foundation (NSF), can be
an important tool for computing educators to meet the challenges of recruiting,
retaining and preparing more computing undergraduates. These scholarship
programs usually require a rigorous assessment plan in the proposals for
evaluating program effectiveness. Although there is an abundance of literature
on assessment metrics on student learning outcomes, especially those related
to accreditation, similar papers on scholarship program assessment are lacking.
This paper is intended to contribute toward filling this gap. Based on our
experience on managing two consecutive NSF S-STEM grants over eight
years, the paper proposes a simple set of criteria for designing good
assessment metrics for scholarship programs: that they need to be essential,
measurable, sensible and simple. The paper presents our evaluation plan and
results of the evaluation that ascertained the program effectiveness. It
discusses how the metrics are refined and evolved in light of the proposed
criteria. It then elaborates on lessons learned and our future directions. The
paper can thus be considered as a case study for computing educators
interested in submitting scholarship proposals and managing scholarship
programs.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

6
CCSC: South Central Conference

1. INTRODUCTION
It is well established that STEM education is a crucial key of present and future
competitiveness of the United States [3, 13]. In an influential congress report, the writing
committee expressed deep concerns "that the scientific and technological building blocks
critical to our economic leadership are eroding at a time when many other nations are
gathering strength" [13]. A central issue is the perceived imbalance between the demand
and supply of STEM professionals [2]. According to the Bureau of Labor Statistics,
demand in STEM occupations will remain high in the next 10 years, with individual job
areas such as computer and mathematical science expected to grow twice as fast as the
average occupation [6]. On the other hand, the supply of STEM degree graduates remains
flat at best. It was reported that 15% of all US undergraduates received their degrees in
natural science or engineering, as opposed to 47% in France, and 50% in China [13].
From the peak at 2000, the percentage of incoming freshmen interested in computer
science as their undergraduate major dropped 70% by 2005 [8]. After bottoming out in
2007, US enrollment of Computer Science majors in 2009 had grown, but it still had not
reached the level of 2006 [5]. This situation is even more pronounced in underrepresented
groups such as women [8], Black and Hispanic [7]. As Black and Hispanic students are
projected to make up 15% and 24% of the population by 2050 respectively [16],
dedicating resources to improve their STEM graduation rates are especially important.
As a result, efforts and resources for promoting STEM education are increasingly
available from federal and state institutions as well as private organizations. Many
programs exist to fund STEM scholarship, mentoring, educational innovation, laboratory
and curriculum development, etc. As university budgets shrink, these resources can be
very useful for computing educators to promote their degree programs. In particular, the
NSF has funded a scholarship in STEM (S-STEM) program since 1999 [17]. The current
funding level is approximately $50 to $70 million annually to support 60 to 80 projects
with a maximum amount of $600,000 per project [14].
For those interested in such scholarship programs, there are some case study reports
that can serve as references [10, 12, 15, 17]. The goal of this paper is to complement the
existing literature by targeting a key issue for S-STEM and other similar scholarship
programs that has been insufficiently discussed: assessment.
Assessment is the systematic collection of data for evaluating program effectiveness
with well-defined and measureable metrics, analyzing the data, and using the results for
ascertaining program effectiveness or program improvement. As stakeholders
increasingly look into measurable program values, assessment becomes more crucial in
many aspects of university activities, including accreditation, budgeting, reporting, etc.
For example, ABET, the accrediting body for computing disciplines, recently
strengthened assessment requirements further by adding a new criteria on "continuous
improvement" (Criteria 4) that is based on assessing student learning outcomes [1].
Assessment and evaluation have also been key proposal requirements of most
funding agencies. Increasingly, funding agencies expect a clear, specific and focused
assessment plan to be a part of the proposal. For example, the NSF S-STEM program
solicitation indicates that the plan should contain "not only assessment of student progress
but overall evaluation of the S-STEM project." [13] Thus, to successfully receive and
manage a STEM scholarship program, a solid assessment plan is indispensable.

7
JCSC 26, 4 (April 2011)

On the other hand, in many cases, assessment has not been a key component of
faculty's traditional job description and many faculty members are just starting to adapt.
The situations for assessment in accreditation have greatly improved as
accreditation-oriented papers and conferences have proliferated. However, with the
important exception of Baker and Finn's work on the effect of a merit-based STEM
scholarship on high school students [4], there is a lack of literature on effective
assessment plans for scholarship and mentoring programs.
To fill this gap, this paper proposes a simple set of criteria for designing good
assessment metrics for scholarship programs: that they need to be essential, measurable,
sensible and simple. Using these criteria, it also presents the evolution of the assessment
plan for our NSF S-STEM scholarship program to serve as a case study. The paper can
thus be used for educators who are interested in developing scholarship proposals and
managing scholarship programs.
The paper is organized in the following manner. Section 2 provides brief
background information of our NSF S-STEM scholarship program. Section 3 discusses
general considerations in designing assessment metrics for scholarship programs based
on our experience and research. Section 4 discusses our assessment plan and its execution
and evolution as a case study. Section 5 contains our future direction and conclusion.

2. THE UHCL NSF SCHOLAR PROGRAM


In the past eight years, the University of Houston-Clear Lake (UHCL) has received
two consecutive NSF S-STEM grants to provide scholarships to financially needy and
academically capable students in four degrees: Computer Science, Computer Information
Systems, Computer Engineering and Mathematics. UHCL is located in the
high-technology area in Houston next to NASA's Johnson Space Center and is an
upper-level institution with undergraduate students mostly transferred from the
surrounding community colleges (CC).
Besides providing scholarships similar to S-STEM programs in other universities,
some distinctive features of our program include a strong faculty and industrial mentoring
program, tight partnership with CC for recruitment, an emphasis on underrepresented
groups, coordinated career enhancement activities, and a NSF Scholar Organization as
the focal point of all activities [17]. In the last three and a half years, the UHCL NSF
program supported 46 scholars, funding about 15 scholars every regular semester. Most
scholarships were funded at the range of $3,000 to $5,000 per semester, with the
difference mostly determined by the academic output of the scholars as measured mainly
by their semester and cumulative GPA.

3. CONSIDERATIONS FOR DESIGNING ASSESSMENT PLANS FOR


SCHOLARSHIP PROGRAMS
There is a large body of work on assessment plans, metrics and tools for learning
outcome assessment but very few papers on assessment on STEM scholarship or
mentoring programs. However, guidelines and best practices in setting up good
assessment metrics for measuring learning outcomes can be transferrable for assessing

8
CCSC: South Central Conference

STEM scholarship programs. Based on our own experience as well as a study of the
literature, we propose a set of four simple criteria for setting up good assessment metrics.
(C1) Essential: the metrics should directly measure the goals and objectives of the
program. This provides for proficient and focused assessment. For example, in the
proposal of the first grant we submitted in 2002, one metric was "the average GPA of
Scholars is 0.2 higher than the average of non-Scholars with the same majors." Although
this is somewhat useful, it is ineffective in measuring the relative improvement in
academic quality. It is also non-essential as the main goal of the scholarship program is
to improve the number of graduates, while the quality of the graduates can be evaluated
through the regular learning outcome assessment of the degree programs. We thus
dropped this metric in our second grant proposal submitted in 2006.
(C2) Measurable: the metrics should be well-defined, declarative and quantitatively
measurable. This provides a clear path to collect and compute the assessment result,
which can then be used for both program improvement and ascertaining program
effectiveness. For example, our first proposal included the metric "community college
partnerships and recruiting efforts meet or exceed proposed activities." This turned out
to be somewhat ambiguous and difficult to quantify, even though our partnership with
some CCs had actually exceeded our expectation, including successful collaboration in
state-funded STEM mentoring grants. Since it was hard to quantify and not perceived to
be essential, it was removed from our second proposal.
(C3) Sensible: the metrics should be motivating yet realistic. They should provide
a reasonable target for demonstrating program accomplishment. For example, one metric
of our current grant is "85% or more of Scholars will complete their degrees within three
years." As explained later, this is unrealistic when compared to both national data and our
university data and we will adjust the percentage target to a lower, more realistic but still
compelling level.
(C4) Simple: the metrics should be simple to implement. Metrics that are difficult
to collect tend to be ignored. The effort should be comparable to the benefits. In fact, the
program announcement of the NSF S-STEM expects "the evaluation plan to reflect the
simplicity of the project design compared to other educational projects and the limited
resources available for evaluation." [14] For example, in our first proposal, we proposed
to conduct a follow-up survey three years after the Scholars graduated. This turned out
to be costly and ineffective and the metric was not included in the subsequent proposal.

4. ASSESSMENT PLANS AND RESULTS


Our second proposal suggested the use of five metrics to measure program
effectiveness:
M1. 85% or more of Scholars will maintain their scholar status.
M2. 85% or more of Scholars will complete their degrees within three years.
M3. 85% or more of Scholars will find jobs in their areas within three months of
graduation.
M4. 85% or more of Scholars will express satisfaction with the program in exit surveys.
M5. 90% or more of Scholars attend the required career enrichment events and NSF
Scholar Organization's meetings and activities.

9
JCSC 26, 4 (April 2011)

Since the grant is ending this year, the principal investigators wrote an evaluation
report based on the results of analyzing the data collected for the metrics. The proposal
called for an internal evaluator to evaluate the report based on the metrics and provide
recommendations for program improvement and performance assurance. Eventually, we
asked and received evaluations from three external evaluators (one CTO of a high-tech
company and two chairpersons of computing programs of surrounding community
colleges) and three internal evaluators (the director of the university's Office of
Institutional Effectiveness, a grant developer from the Office of Sponsored Programs and
the former division chair).
Overall, the evaluators indicated that the scholarship program is effective and
successful and the metrics are appropriate. However, nuanced analysis of the metrics
provided valuable lessons for us and we analyze each metric below.
Since our NSF scholar program has a clear set of eligibility rules required for
maintaining status, we expected data collection for M1 on status maintenance to be easy
and appropriate. However, the S-STEM program requires keeping scholar data using a
format dictated by a data collection website not familiar to us when we submitted the
proposal. In a given semester, the site classifies scholar status as one of four possible
options: "active", "graduated", "left program" or "leave of absence." To comply with the
data collection requirement, we defined "maintaining status" to mean "active" or
"graduated." Using this definition, the average percentage of scholars maintaining status
is 84.4%, slightly less than the target of 85%. However, students leaving the program or
taking an absence does not necessarily mean failure. Indeed, several scholars became so
successful that they were hired by the surrounding high-tech companies either as interns
or as permanent hires. These students no longer satisfied the financial eligibility
requirements and had to leave the NSF scholar program permanently or temporarily.
Thus, one recommendation is to change the metric to directly measure the number
of students completed or in the process of completing their STEM degrees. The new
metric M1 will become: "85% of scholars received or in the process of receiving a STEM
degree at the time of the writing of the final report." This is also similar to the approach
used by Sorkin [15]. Note that the new metric is more essential, measurable and simple
than the former one.
M2 measures how quick scholars are able to complete their studies. As an
upper-level institution, we collected data of the three-year graduation rate instead of the
typical five-year graduation rate used in four-year universities. Scholar data was
compared to three populations: UHCL, the School of Science and Computing
Engineering (SCE), and the NSF cohort that includes SCE majors in degrees supported
by the NSF grant. Data were further disaggregated by race and gender for the three
cohorts to measure success for these targeted areas. The result is shown in table 1.

10
CCSC: South Central Conference

Table 1 Three year graduation rates


3-Year Graduation Rates Hispanic Black Female All Students
All UHCL Students 57.90% 64.50% 65.31% 65.20%
All SCE Students 66.70% 0% 66.70% 64.10%
All Relevant Majors in SCE 10.00% 0% 50.00% 48.60%
UHCL NSF Scholars 85.7% 0% 55.6% 69.0%

The overall three-year graduation rate of NSF scholars of 69% is clearly below the
target of 85%. However, it compares favorably with the three other sample populations,
especially for Hispanic with the SCE cohort. More importantly, based on a sample of
201,588 students who entered college in 2004 at one of 326 four-year, nonprofit higher
education institutions, Higher Education Research Institute at UCLA reported that
"among students who aspired toward a STEM degree as entering freshmen, 33 percent
of white students and 42 percent of Asian Americans completed a bachelor's degree in
a STEM discipline within five years of entering college, compared with 22 percent of
Latinos and 18 percent of African Americans." [11, 9]. Thus, our scholar graduation rate
is roughly double that of the comparable national rate. Our evaluators concluded that the
program is effective but the goal of the metric was set unrealistically high. The future
new metric will be adjusted to become "degree completion within 3 years at 65% or
more." The new target should be both motivational and realistic.
We intended to collect scholar's employment data three months after their
graduation as a measure of the values of their STEM degrees and the preparedness for job
markets (M3). We had difficulty in collecting employment data in two fronts. First, we
had not been able to collect a significant percentage of employment information from the
NSF scholars three months after their graduations. Furthermore, for the comparison
cohort, the Texas Higher Education Coordinating Board (THECB) collects employment
information one year after graduation, not three months, and its sample size is not large.
That makes meaningful comparison with cohorts inaccessible. The evaluators concluded
that this metric is neither essential nor simple and suggested to remove it.
M4 is an indirect method to assess program satisfaction by using an exit survey to
be completed immediately after the scholars graduated. Continuing students were not
surveyed. This resulted in small sample sizes, lower response rates, untimely feedback
and difficult administration. We replaced the exit survey by an end-of-semester's scholar
satisfaction survey which includes sufficient details to serve not only for program
effectiveness assessment (summative assessment), but also to continuously identify
problem areas and improve the program (formative assessment). The overall scholar
satisfaction rate was found to be 92.9%, satisfying the metric. We refined the metric to
become "90% or more of Scholars will express satisfaction with the program in per
semester surveys." This includes using a better survey technique and raised target,
making the new metric more motivational and sensible.
Finally, M5 measures scholar participation. The metric is simple and sensible. The
result is a participation rate of 95.7% and no changes were recommended.

11
JCSC 26, 4 (April 2011)

5. FUTURE DIRECTIONS AND CONCLUSIONS


This paper focuses mostly on summative assessment for measuring program
effectiveness. Of equal importance, but not being discussed, is formative assessment for
identifying program problems and opportunities to seek continuous program
improvement. In our scholar program, feedback was continuously digested through
constant contact with scholars and CC and surveys of individual activities. This results
in new goals in our future proposal.
Overall, the result of our program assessment indicated that the scholar program is
effective in increasing STEM graduation rate, quickening graduation time, and ensuring
scholar participation and satisfaction. Besides the criteria of good assessment metrics
discussed in Section 3, we also learned that it pays to have a deep understanding on what
kind of data is needed for a metric and how these data can be obtained effectively.
Another lesson is that the use of a relatively large number of evaluators benefitted our
evaluation results as each provided a different lens to examine the program.
The refined metrics described in Section 4 have been integrated into a continuation
proposal for submission to the NSF S-STEM program. An additional metric is added to
measure the new goal of emphasis on undergraduate research and program dissemination:
"There will be two or more papers or presentations per year on NSF scholar's research or
the NSF S-STEM scholarship program." We believe the new set of metrics satisfy the
criteria we proposed in Section 3 and will learn more about the perceived effectiveness
of our approach by NSF.

REFERENCES
[1] ABET, Criteria for accrediting computing program, 2010-2011,
http://abet.org/Linked%20Documents-UPDATE/Criteria%20and%20PP/C001%
2010-11%20CAC%20Criteria%2011-16-09.pdf.
[2] American Association of State Colleges and Universities, Strengthening the
science and mathematics pipeline for a better America, AASCU Policy Matter,
2006, 2, (11), http://www.aascu.org/policy_matters/v2_11/default.htm, 2005.
[3] American Association of State Colleges and Universities, Leadership for
Challenging Times: Report of the Commission on Presidential Leadership and
Global Competitiveness, 2009,
http://www.aascu.org/media/publications/global_competitiveness.htm.
[4] Baker, J. G., & Finn, M. G. (2008). Can a Merit-Based Scholarship Program
Increase Science and Engineering Baccalaureates? Journal for the Education of
the Gifted, 31(3), 322-337.
[5] Bizot, B., US CS New Majors, Enrollment Both Continue Increase in 2008-2009,
Computer Research News, March 2010, Volume 22 No. 2.
[6] Bureau of Labor Statistics, Occupational Outlook Handbook, 2010-11 Edition:
Overview of the 2008-18 Projections, 2010,
http://www.bls.gov/oco/oco2003.htm.

12
CCSC: South Central Conference

[7] Chen, X. & Weko, T., Students Who Study Science, Technology, Engineering,
and Mathematics (STEM) in Postsecondary Education, US Department of
Education, NCSE 2009-161, July 2009,
http://nces.ed.gov/pubs2009/2009161.pdf.
[8] CRA Bulletin, Interest in CS and CE as Majors Drops in 2005, Feb 8, 2006,
http://www.cra.org/wp/index.php?cat=33.
[9] Eagan K., Freshmen show gains in aspirations for science degrees, but not all
arrive at finish line, UCLA Newsroom, Feb 16, 2010,
http://newsroom.ucla.edu/portal/ucla/freshmen-show-gains-in-aspirations-15372
3.aspx.
[10] Gerhardt, J., Olsen, J., Small Colleges Can Get Big NSF Grants, Proceedings of
the 21st Annual Information Systems Education, Newport, Rhode Island,
November 2004.
[11] Higher Education Research Institute at UCLA, Degrees of Success: Bachelor's
Degree Completion Rates among Initial STEM Majors, Jan 2010,
http://www.heri.ucla.edu/nih/HERI_ResearchBrief_OL_2010_STEM.pdf
[12] Martincic, C., Carlson, D., The NSF CSEMS grant program: our experience with
the proposal process and program execution, Journal of Computing Sciences in
Colleges, 19, (1), 73-82, October 2003.
[13] National Research Council, Rising Above the Gathering Storm: Energizing and
Employing America for a Brighter Future (National Research Council,
Washington, DC, 2005).
[14] NSF, NSF Scholarships in Science, Technology, Engineering, and Mathematics
(S-STEM) Program Solicitation, NSF 09-567,
http://www.nsf.gov/pubs/2009/nsf09567/nsf09567.htm.
[15] Sorkin, S., et. al., Promoting computer science, engineering, and related
programs with scholarships and student support services, Proceedings of the 35th
ASEE/IEEE Annual Conference on Frontiers in Education, S2C-21-27, October
2005.
[16] U.S. Census Bureau, 2004, U.S. Interim Projections by Age, Sex, Race, and
Hispanic Origin: Projected Population of the United States, by Race and
Hispanic Origin: 2000 to 2050,
http://www.census.gov/population/www/projections/usinterimproj/natprojtab01a.
pdf.
[17] Yue, K., Hall, S., Reflections on Proposal Writing and Management of a NSF
STEM Scholarship Grant Program, Journal of Computer Sciences in Colleges,
Volume 22, Number 4, pp244-251, 2007.

13
WHERE ARE THE WOMEN COMPUTER SCIENCE

STUDENTS?*

Theresa Beaubouef and Wendy Zhang


Southeastern Louisiana University
Hammond, LA 70402
tbeaubouef{wzhang}@selu.edu

ABSTRACT
This paper discusses the ongoing decline in female students in computer
science (CS) and related fields. A questionnaire was developed and used to
gather information from current female computer science and other science
majors at two universities. The development and issuance of the questionnaire
is discussed, along with an analysis of the results. Suggestions related to the
motivation of female college students to pursue degrees in computer science
and related fields are made based on the results of the survey.

INTRODUCTION
Many academic professionals have noticed the decline in students in computer
science (CS) and related fields, and researchers have investigated reasons for these trends
[2, 3]. In particular, the decline in female students has far exceeded that of their male
counterparts. According to Jan Cuny [4], program office for the National Science
Foundation's Broadening Participation in Computing (BPC) program, fewer than one in
five degrees in computer science are being awarded to women. Norwegian University for
Science and Technology observed a steady decline in the number of female students in
subjects related to computer science—in 1996 only 6 percent of the students in Computer
Science were women [6]. At our university these same trends are evident. Usually there
are only a few female students at most in the majors' courses, with male students
outnumbering the females by about ten to one.
DePalma [5] suggests that women tend to avoid computer science because of the
"tinkering" aspect of the field, in spite of being attracted to the mathematical and logical
aspects of computer science. Spertis [8] suggests that "factors include the different ways

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

14
CCSC: South Central Conference

in which boys and girls are raised, the stereotypes of female engineers, subtle biases that
females face, problems resulting from working in predominantly male environments, and
sexual biases in language." She also believes that "women's underrepresentation is not
primarily due to direct discrimination but to subconscious behavior that tends to
perpetuate the status quo." There have been efforts to try to explain why women are not
choosing computer science [5, 8, 9] and to find ways to recruit and retain these students
[1, 8]. This research discusses our goals, the questionnaire developed, the information
obtained from the students, and analysis of the results.

GOAL OF RESEARCH
Our university is a regional university housed in a small town. There were 15,000
students enrolled in the fall of 2009, 62.8% of which are female. In spite of this large
percentage of female students, there were only 31 female CS students out of a total 286.
It is promising that most of these students perform very well in their coursework, and
those tend to remain in computer science. In spite of this, the male students outnumber
the females by about ten to one. Where are the women computer science students?
Apart from ethical concerns at women's lack of participation in computer science,
the demographics of the country are such that the United States will not have enough
engineers and scientists unless underrepresented groups increase their participation. This
research examines the influences against a woman's pursuing a career in a technical field,
particularly CS.
When we decided to try to find out what motivates the female students to become
computer science majors we discussed our concerns with professors at other local
universities. One had not realized that the problem was so pronounced, and after looking
up actual data could not believe that their numbers for female students were as low as
they were. He immediately offered his support in trying to obtain information from
current students. One of the key areas of our study was to determine whether or not
gender biases or discrimination against women exists in computer science departments.
With limited numbers of female students available, a major goal of this research was
to extract as much information as possible from each responder. Keeping this in mind,
we designed the survey to be open ended, encouraging students to write freely. We
wanted them to feel comfortable in filling out the survey, and at the same time to let them
know that we are available for future discussion. We also wanted them to be made aware
of the female faculty in the department and their willingness to serve as role models.
Questions 1, 4, 10, and 11 were designed to gather opinions about those things that
might attract students initially to computer science. Information gathered here might be
used to tailor recruiting efforts. In questions 2, 5, 6, and 9 we hoped to get some
understanding of any particular needs that these students might have, to elicit any
suggestions for making our program more welcoming to female students, and to
determine interest in establishing an organization for female CS students. We also hoped
that if there were any forces driving these students away from the department or making
their studies unnecessarily difficult that these problems might be revealed.
Questions 3, 7, and 8 addressed knowledge and skills and the perceived gender
differences that might prevail. Questions 7 and 8 ask about the responder's individual

15
JCSC 26, 4 (April 2011)

strengths and weaknesses, whereas question 3 asks about male/female differences in


general. Through these questions we hoped to learn if there were any preconceived
notions about gender and the ability to succeed in computer science, and to determine if
the responder considered herself as being like the other students or different from them.
This survey was not designed for statistical analysis or precise results. We did not
want to force students to choose among a fixed set of responses, nor did we want to limit
their ability to expound on any answers. Our goal was simply to gather as much
information as possible from current female students in an effort to better understand
enrollment trends and to identify areas in which universities can improve in the
recruitment and retention of female majors in computer science and related fields.

QUESTIONNAIRE AND SURVEY RESPONSES


Surveys began by asking the university attended, the concentration area of computer
science being studied, and the classification, i.e., freshman. Surveys were sent out by
email or hand delivered to classes at two universities. Twenty surveys were returned,
including responses from three freshmen, six sophomores, four juniors, six seniors, and
one post bachelor. There were thirteen students currently enrolled as CS majors; the other
seven majored in either physics or mathematics. The following questions were asked, and
we summarize the responses to the individual question topics.
Question 1: Why do you choose Computer Science?
The answers to this question varied widely but most revealed that the students liked
computers and technology and the challenges that go along with the use of them.
Question 2: Do you feel "welcome" in the Computer Science program? Explain.
Seventeen students felt that they were welcome in the computer science program.
Two students had mixed feelings. One student was new to computer science and felt that
unless she had a prior background in CS then there was no room for her.
Question 3: Do you feel that there are gender differences in abilities to perform well
as a Computer Science student? Yes No Please explain.
In [10], stereotypes and the untrue "notion that women aren't good at math and
computer science" were given as a perceived difference that, although untrue, has been
very slow in acceptance by some people. Thankfully our current female computer science
students do not subscribe to this notion. Sixteen students felt that there was no gender
difference in the ability to perform well in CS. They thought females could do anything
males could do and sometimes better, that gender made no difference, and "it was all
about the effort put into it." However, some thought that women did not really get
involved in computers until getting into college, whereas most men became involved with
computers as teenagers.
Question 4: What do you feel are the reasons for the decline in number of female
students entering computer science programs?
In [9] it was suggested that there were more women pursuing the field of computer
science before the male subculture of action gaming appeared, and that today there is a
"pejorative figure" of the "nerd" or "geek," and girls do not want to be identified as such.
Many of our responses relate only indirectly to these notions. Several indicated that girls

16
CCSC: South Central Conference

might feel intimidated. Others thought that girls were trained to think they weren't as
intelligent as males or "good enough to work in a man's field," Surprisingly, these
responses seem to be contradictory to those of question 3.
Question 5 and 6:
What should our university and the Computer Science Department do to encourage
women to enter our computer science program?
Would you be interested in joining and participating in an organization for women CS
students if our department established one? If so, what activities, etc., do you suggest?
The students who were not majoring in CS suggested "pushing more computer
science courses to incoming freshman" in order to encourage woman to enter the CS
program. Some students thought that the Department should try to break the stereotypical
image of CS and recruit more female students by providing scholarships. One suggested
that the university have female speakers at high schools, or even middle schools. One
student suggested that the females in the program should be taught that confidence and
willingness to learn were what is most needed to succeed in a computer science program
In [1] a spring social was held for students to meet women in computer science. It
was sparsely attended, but those that did attend had very positive reactions. They also
decided that seminars were very important, and they planned to follow the meeting with
dinner or other social event to give participants the opportunity to interact with female
role models. In our study, only nine (69%) students majoring in CS were interested in
joining and participating in an organization for women CS students. They suggested
having a study and support group where women could help each other with academic
challenges and to discuss issues such as the different areas of CS applications, the new
technologies, how to be prepared for classes, and even some "personal issues".
In [6] a major effort was made to recruit and retain female computer science
students at the Norwegian University for Science and Technology. They visited high
schools, and also arranged special courses, visits to businesses, and seminars highlighting
female role models and the relevance of computer science in business. Moreover, they
created a computer lab for women with female lab assistants and tutors—and the main
job of two of the assistants was to make sure that new female students were having a
good time! They obviously considered the social needs of their students in addition to
their academic needs. Perhaps this is what was alluded to in the inclusion of "personal
issues" for suggested group discussion by one of our survey respondents.
Questions 7 and 8:
What are your strengths, those things that help you perform well in CS, and what are
any weaknesses, those things that you feel are difficult for you in your CS courses?
In [1] the authors indicated that the most notable findings from their study showed
that female students, much more than their male counterparts, felt "less prepared to major
in electrical engineering (EE) or CS" even though both males and females considered
engineering and computer science to be very competitive majors. They also said that
there were many "superb students who are discouraged from entering EE and CS because
they are less overtly assertive and self-confident than their peers, or feel that they were
not sufficiently exposed to EE and CS in high school" [1]. In our research, students also
identified the "lack of fully understanding the logic and algorithms of programs" as a

17
JCSC 26, 4 (April 2011)

problem. Other things that made it difficult for them to deal with CS courses included
lack of time and lack of study groups.
A majority of the students in our study identified similar strengths that they said
helped them perform well in CS courses. These include such things as a strong interest
in CS, proficiency in math, a strong work ethic, determination, and persistence.
Question 9: Is the CS lab situation conducive for female students' success? Explain.
Our study did not elicit any suggestions about a separate lab for women. The
majority of students thought that the computer science lab was good for both male and
female students, and that the labs gave students the opportunity to share knowledge with
classmates and to get help when needed. Some students thought that the labs could be
better managed and have additional Help Desk made available.
Question 10: Regarding pre-college students, which do you believe influence females'
decision about majoring or not majoring in CS? For each, please explain.
(1) The media, (2 )CS role models, (3)High school counselors/teachers, and
(4) Ignorance about the CS field
The media more often than not portrays women computer scientists as strange and
different-looking. It is usually not the case that a beautiful super model type is cast in the
role requiring intelligence and technical ability. In our study, eight (40%) students
thought the media had a negative influence on females' decisions about majoring in
computer science. They indicated that the media tells girls that it is more important to
worry about things like their appearance, friends, social life, and partying. The media
does not mention any of the real world people behind all the software and hardware.
A majority of students in this study thought that CS role models were very important
in showing them the benefits of hard work and determination. The female CS role
models prove that women can do as well as men in computer science. Some students
mentioned that if there were more CS role models available to pre-college students, it
might influence females' decisions about majoring in computer science. Very few
students, two out of twenty, were influenced by their high school counselors and teachers
in deciding their majors. Some students mentioned that their high school counselors and
teachers had very limited knowledge about computer science.
In [10] several things were identified as discouraging young women from pursuing
computer science. These include "dull middle school and high school classes that portray
computer science as more of a non-challenging vocational field", an "image of computer
scientists as being nerds who spend all day in isolation," stereotypes and the untrue
"notion that women aren't good at math and computer science." Most students in our
study agreed that ignorance about the computer science field could influence a female's
decision about majoring in computer science. They mentioned that most people are
afraid of what they do not know. Some students did not think it was ignorance, but the
fact that CS is a technical and mathematical field, which is usually male dominated.
Question 11: Please tell us anything else that might help us to understand why female
students do/don't choose CS, why you think there is a decline in female CS students,
and what we should all do, if anything, to reverse this trend. Any additional comments?
In this question students mentioned things like family influence, personal
self-esteem, public ignorance about computer science, and time management and support

18
CCSC: South Central Conference

for students with children. Students suggested making more people aware of the CS field
and creating more scholarships for women. One respondent indicated that most females
thought that "computer science was too hard, so the fellow female students need to show
them that they can do it." Another related the following about many of the non-traditional
students: "some female students have families and need extra help to balance their time."

CONCLUSION AND DISCUSSION


When the survey was sent out to the students it was expected that some of them may
have no interest or time to complete the survey. What was not expected was that many
of the students had not thought it unusual that there were not more female students in
computer science. They just assumed that that was how things were and accepted it.
Providing them with this questionnaire led them to question this notion, and opened their
minds to understanding their own motivations for choosing CS as opposed to reasons of
others for not choosing it. Our results from this research have led us to consider several
new endeavors for our program for the recruitment and retention of female students.
A major consideration is the lack of education of the general public about the nature
of computer science. If female students are not made aware of the realities of the field,
then they will continue to rely on misrepresentation by the media and the ignorance of
some of their teachers and guidance counselors. To help with this, educational flyers and
posters are being developed to promote the field, to encourage and challenge students to
consider CS, to identify possible careers, and to dispel stereotypes about women and their
abilities in these areas. To do so there will be pictures of real CS students—they are
beautiful—and prominent women in the field. Information about coursework, jobs,
salaries, and trends in technology will also be included. Different posters will highlight
different facets of the field to attract students with varied interests. For example, many
students think computer science is all about gaming or robotics, but most are unaware of
other CS areas such as information systems, project management, software engineering,
support, training, human/computer interaction, and systems administration.
The establishment of an organization specifically for female CS students is also
being considered. Lastly, through the ACM meetings and departmental seminar series,
professional women in CS are being sought out as guest speakers since they are excellent
role models. This will increase ties to industry, allowing networking for our students.
Computer science programs at other universities should consider similar activities
for increasing participation by women in computer science and related fields. We expect
to continue to study student motivation and interest in the field. In future work we plan
to gather information from female students who are not computer science majors in an
effort to try to understand whether they were deterred from computer science for some
reason, or whether other majors were more attractive to them, and why.

ACKNOWLEDGMENTS
This research was sponsored in part by the NSF grant CCF-0939108.

19
JCSC 26, 4 (April 2011)

REFERENCES
[1] Abelson, H., Adams, T., Braida, L., Hunter, A., Johnson, B., Jones, M., Khan,
N., Pierce, M., Stein, L., Tucker-Kellogg, L., Yeh, S. 1995. Women
Undergraduate Enrollment in Electrical Engineering and Computer Science at
MIT. MIT EECS Report,
http://www-eecs.mit.edu/AY94-95/announcements/13.html
[2] Beaubouef, T., Mason, J., Why the High Attrition Rate in Computer Science
Students: Some Thoughts and Observations, SIGCSE Bulletin (inroads), 37, (2),
103-106, 2005.
[3] Beaubouef, T., McDowell, P. 2008. Computer Science: Student Myths and
Misconceptions. Consortium for Computing Sciences in Colleges (CCSC:SC'08),
Corpus Christi, TX, April 18-19, 2008.
[4] Cuny, J., http://www.cs.uoregon.edu/News/20070330-Cuny.php
[5] De Palma, P., Why Women Avoid Computer Science, Communications of the
ACM, 44, (6), 27-29, 2001.
[6] Gjestland, T. 1999. A Successful Effort to Increase the Number of Female
Students in Computer Science. ERCIM News No. 38.
http://www.ercim.org/publication/Ercim_News/enw38/gjestland.html
[7] Margolis, J., Fisher, A. Unlock the Clubhouse: Women in Computing, MIT Press
Paperback Edition, 2003.
[8] Spertus, E. 1991. Why are There so Few Female Computer Scientists? MIT
Artificial Intelligence Laboratory Technical Report 1315,
http://people.mills.edu/spertus/Gender/pap/pap.html
[9] Stross, R. 2008. What Has Driven Women Out of Computer Science? New York
Times, p. BU4, http://www.nytimes.com/2008/11/16/business/16digi.html
[10] Werner, L., Hanks, B., McDowell, C., 2004. Pair Programming Helps Female
Computer Science Students. J. on Educational Resources in Computing, Vol. 4
Issue 1, http://doi.acm.org/10.1145/1060071.1060075

20
BEYOND THE COMPUTER SCIENCE CURRICULUM:

EMPOWERING STUDENTS FOR SUCCESS*

Theresa Beaubouef, Wendy Zhang, Ghassan Alkadi, Kuo-Pao Yang


Department of Computer Science and Industrial Technology
Southeastern Louisiana University
Hammond, LA 70402
(985) 549-2189
{tbeaubouef, wzhang, galkadi, kyang}@selu.edu

ABSTRACT
Students learn most of the skills they need for a career in computer science
through their college courses, especially the computer science courses.
However, there are many skills, many life lessons, and many experiences that
students can add to their repertoire in college life that are not defined as part
of any particular course or courses. In this paper, we discuss things that are
important in becoming a successful professional computer scientist, and how
we have tried to empower our students in various areas tailored to computer
science students in general, and specifically for students weak in certain areas.
In particular, we discuss real-world and hands-on projects, independent study,
internships, program verification, and the development of good
communication, research, and social skills.

INTRODUCTION
A typical computer science (CS) curriculum is made up of a variety of courses that
prepare students in those areas of computer science deemed important for graduate school
or for pursuing a career in computer science. Careers can be as varied as software
engineer, scientific programmer, database and web developer, or network administrator.
Coursework covers a broad spectrum of topics from programming to hardware and
networking. However, everything that students learn in their coursework will simply
enable them to be able to learn what they need to know later on. Moreover, there are

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

21
JCSC 26, 4 (April 2011)

many skills that are necessary for overall success, but are not part of actual course
material.
One thing that we consider important is the student's confidence in his or her
abilities. To increase confidence it is important to assign projects with just the right level
of difficulty, letting the students assume responsibility, and yet pushing them to new
levels. It is also important that students achieve the ability to learn something on their
own (such as a new language or platform), to do research, and to make sound decisions.
Students need to develop leadership skills, and to learn to deal with resistance, lack of
effort of some group members, and time management. These are important in
communicating with colleagues and in working in groups. Moreover, they must learn to
be effective communicators, both orally and in writing.
It is also important that students stay connected with the real world so that they have
the feeling that what they are learning is something important that they will use in the
future. This can be accomplished through guest speakers, internships, participation at
conferences, and working on real world projects for real clients. Students need hands on
projects to reinforce the connection between software and hardware, and cutting edge
projects such as those involving cell phone applications, radio frequency identification,
computer gaming, robotics, or computer visualization to maintain their interest.
In this paper we discuss a few of the more important activities that we believe makes
our program, as well as some other universities' programs, special. We describe the
incorporation of real world and group projects, internships and independent study, hands
on projects involving hardware, and the use of research, code verification, and
communication activities. We believe that these activities, as well as our personal
attention to all students as individuals with unique talents and needs lead to well prepared
graduates.

REAL WORLD PROJECTS


In our curriculum, we have included courses that are vital to the students'
improvement in programming and to their communicational and writing skills. Most of
our upper level courses, junior and senior, include small to medium scale size projects [1,
2, 3]. Such projects, not only increase students' self-assurance in tackling any problems
assigned to them, but also increase their confidence in professionally presenting their
results orally. Students' paper writing skills are also improved because of the extensive
documentation they must include in their software package. Graduates often contact us
to tell us that they felt well prepared for their careers, and were not blindsided by
technologies or practices of which they had never heard.
In addition, in the third programming language course our students are faced with
new challenges. They learn new programming languages, database tools, and different
operating systems on their own while developing a real world system. Such endeavor
requires them to do extensive research and work with other team members in developing
a software package by the end of the semester. The learning curve is steep, but the
benefits are certainly worthwhile. The majority of the students in this class are very eager
to learn and strive to prove that they are responsible. They are allowed to work in the
major's CS lab where they can get technical guidance from their peers that are juniors and
seniors. These upperclassmen are also invited to come to class to talk to the students

22
CCSC: South Central Conference

about their experience and to offer assistance. CS faculty members often act as project
managers and mentors to the students to assure that they are not lost in the expedition.
In our Information Systems class, a real-world client is assigned to the class where
students in groups compete to deliver the client's requirements specifications. The client
often requires a variety of heretofore unencountered Microsoft tools to develop the
software. A recent project, for example, required such technologies as Windows
Presentation Foundation (WPF) [7], Microsoft Model-View-ViewModel [13], and
Microsoft Silverlight [8]. Expression Blend, command patterns and repository patterns,
and Windows Communication Foundation (WCF) services were also required, and the
.Net Framework 4.0 and C# were used to develop the software. The client met with the
students on a biweekly basis. However, the students also made a few trips to the
company to elicit requirements and to see firsthand how the company operates its
business. Interestingly enough, the company was a software development company, so
the students not only learned how to deal with a customer and communicate orally and
in writing, but also learned the valuable lesson of seeing how a software company
operates. The client attended every prototype presentation and supplied instantaneous
feedback. Some prototype presentations were scheduled as a one on one basis with the
client, while others were presented in class. The project manager, a student who had
previously taken the course, kept an open channel with the students and the client via
Google groups and also Google Docs. The students were also required to use Subversion
Tortoise SVN for version control, and to estimate man hours for accomplishing specific
tasks [12]. Students were meeting using the SCRUM, which is an Agile software
development method [10].

HANDS-ON PROJECTS WITH HARDWARE/SOFTWARE


A project involving Radio Frequency Identification (RFID) is useful practice for
computer science majors to extend their software knowledge into the real hardware
domain. CS students traditionally lack adequate opportunities to work with actual
hardware although they take a series of hardware courses, where they often study these
concepts only through simulation. Recently our computer architecture course has
incorporated several general project topics in RFID technologies as group projects.
Students are interested in usages of RFID technologies in two various directions:
software and hardware. In the software direction, students use hardware packages with
device drivers. They focus on developing a graphical user interface to interact with RFID
readers and other hardware components. These RFID readers are usually controlled by
host computers through USB port connections. Students implement solutions in
programming languages such as C++ and Visual C# for the graphical interface and call
Dynamic Link Libraries (DLL) to work with hardware devices. In the hardware approach,
students hardwire RFID readers, microcontrollers, and other devices on the breadboard.
They write code in hardware description languages such as PBASIC [7] and JAL [6] for
the microcontrollers in order to operate the RFID readers and other hardware
components. The RFID system usually runs independently without any connections to
computers after downloading the hardware configuration into the microcontrollers.
These hands-on projects with hardware / software co-design are important in
introducing students to real world problems and in making them more marketable as

23
JCSC 26, 4 (April 2011)

developers. After graduation, students must face challenges not only in software, but also
in hardware, where the working environment is not necessarily known in advance.
Because students are required to work with sophisticated real-world projects involving
both hardware and software, they gain insight into the programming of devices and
confidence in their overall knowledge of the field of computer science.

INDEPENDENT STUDY AND INTERNSHIPS TO CHALLENGE STUDENTS


BASED ON ABILITY AND NEEDS
To improve the self learning and working experience, we offer a senior level
internship. Internships are advantageous to students in that they gain experience in
working with real world companies using state of the art software and hardware, yet they
are also advantageous to employers in that they have to opportunity to get to know the
abilities of a possible future employee and get work accomplished with minimal expense.
The course requires that the student must be an integral part of a software project team
in industry or some research institute.
One student, for example, was awarded a summer research internship by the Naval
Research Lab (NRL) where she worked on a research project with research scientists and
university faculty. She gained much knowledge and research experience while there and
published a paper based on her research. The following year two additional students were
awarded research internships by NRL. Still other students have worked in internships for
software development companies. These students, like many of our students who work
on internships, are immediately hired by the same company as permanent employees
upon graduation.
Another course which often requires great commitment on the part of the faculty,
but is beneficial for many students, is the independent study course. When students are
involved in independent study projects, the instructor has the responsibility of
ascertaining the student's strengths and weaknesses and assigning projects and tasks that
will encourage independent thinking and research, without overwhelming the student or
causing discouragement. Each student is different. Some need extra help with people
skills, some with writing, some with programming. Others need to develop time
management skills or be forced to take the initiative to learn something without help. The
independent study allows for individual students' weaknesses to be addressed or for them
to pursue additional study in areas which interest them. The independent study is research
intensive, with most students working with robotics, gaming, or virtual reality projects,
since these are the areas in which they are often most interested.

FORCING TO DOCUMENT, WRITE PAPERS, PRESENT WORK


Computer science students are typically not very effective communicators, yet the
field of computer science is necessarily dependent on both oral and written
communication. Many CS curricula include technical writing and speech courses.
However, these are often not enough. It is critical that students gain practice in
researching and communicating technical information to a variety of audiences, so it is
imperative that students are engaged in research and encouraged to write papers and to
make oral presentations. We have recently instituted an annual CS Symposium as a venue

24
CCSC: South Central Conference

for students to publish and present technical reports on their work in CS research and
projects.
There are numerous research opportunities in the area of computer science, so
students and faculty can easily find topics for research. In our upper level classes, such
as the survey of programming languages, artificial intelligence, or spatial database and
applications courses, for example, students gain sufficient knowledge to be able to
identify some area of study that they can easily develop as applications for research
problems. These courses prove to be very rewarding for our students, not just because of
the material covered, but also because of the projects involved.
Many students also submit their project proposals for funding through our Science
and Technology Awards for Research (STAR) program, which enhances undergraduate
education by providing funding for students engaged in research projects designed in
collaboration with Science and Technology faculty members. Proposals are reviewed and
funded by the STAR Review Committee, and awards are determined on a competitive
basis. Several students' proposals have been funded, and the students made poster
presentations on College Honor Days and at the university's Student Research, Creative,
and Scholarly Activities Showcase.
Some students went on to submit papers based on their research to regional,
national, and international conferences. Papers were accepted by several conferences [5,
11, 14, 15], which the students attended and orally presented their research results. In
addition to the research, writing, and oral presentation skills gained from these
conferences, students were also exposed to other types of research and were able to meet
other researchers in the field. They are proud to include their publications as part of their
resumes, and their experiences have fostered a greater awareness of opportunities for
further education and research.

USE OF PROGRAM VERIFICATION FOR LEARNING


Students can learn a great deal by looking at the code of other programmers. They
learn about different coding styles, and they learn to appreciate clear coding when they
themselves have to try to understand it. The importance of clear systems requirements
specification and proper code documentation is reinforced. When students examine both
good and bad documentation and requirements, it helps them to learn what constitutes
effective documentation, and perhaps more importantly what does not, especially if
ambiguity is present.
Students at all levels can benefit in other ways from program verification activities.
It helps beginning students to truly understand the effects of program language constructs,
parameter passing, and the structuring of data and objects. It is also a way to enhance
their problem solving skills [4], something that is very difficult for some students. More
advanced students learn about various testing techniques and hard to find errors such as
those involving memory management or lack of robustness in code.
We have developed several test cases for program verification activities, and are
continually developing additional case studies to use for student learning. Upper level
students have been recruited to help with the development of these test cases and the
development of a web site for the cases, their requirements specifications, descriptions

25
JCSC 26, 4 (April 2011)

of the errors introduced in the cases for students to find, and an explanation of the
solutions.

CONCLUSION
Computer science is an interesting and diverse field. It brings together many areas
of science, technology, communication, and human relations, and computer applications
today are more powerful than anyone could have imagined in years past. When all is said
and done, however, a computer is still a simple machine. It can store data, it can add, and
it can compare two values. Every other operation is built off of these basic abilities. It is
the computer scientist's job to create the highly sophisticated and user friendly
applications that the general public takes for granted every day, and it is the CS university
educators' jobs to ensure that graduates have the skills and abilities necessary for
designing and developing technology solutions in a modern world.
It is critical that faculty remain current in the field through research and continued
learning. It is also important that they keep up with current technologies and industry
trends. We annually hold an Advisory Committee Meeting where computer professionals
and managers that hire our graduates meet to inform us about what they are looking for
in new hires and directions in which the industry is heading. The feedback from this
group has led to many of the opportunities and activities discussed in this paper which
we believe empower our students for success.

ACKNOWLEDGEMENT
This research was supported in part by the NSF grant #CCF-0939108.

REFERENCES
[1] Alkadi, G., Beaubouef, T., An Experimental Group for Research and Developing
Software, Consortium for Computing Sciences in Colleges (CCSC:SC'08),
Corpus Christi, TX, April, 2008.
[2] Alkadi, G., Beaubouef, T., Introducing a Graduate Research Problem to a Junior
Level Class: A Successful Experience, Journal of Emerging Trends in
Computing and Information Sciences, vol. 1, no. 1, July, 2010.
[3] Beaubouef, T., Alkadi, G., Schroeder, R., The Sometimes Harsh Reality of Real
World Computer Science Projects, SIGCSE Bulletin (inroads), vol. 1, no. 4,
December, 2010.
[4] Beaubouef, T., Lucas, R., Howatt, J., The Unlock System: Enhancing Problem
Solving Skills in CS1 Students, SIGCSE Bulletin (inroads), 33, (2), 43-46, 2001.
[5] Hawkins, W., Zhang, W., The Effects of The Hurricane Katrina on Louisiana's
Gulf Coast, IEEE International Geoscience & Remote Sensing Symposium, July,
2008.
[6] JAL Programming Language for Embedded Microprocessors 2010. Retrieved
from: http://justanotherlanguage.org/.

26
CCSC: South Central Conference

[7] Microsoft Windows Client .NET 2010, The official Microsoft WPF and
Windows form site. Retrieved from: http://windowsclient.net/default.aspx.
[8] Microsoft Silverlight 2010. Retrieved from:
http://www.microsoft.com/silverlight/.
[9] PBASIC Programming for Microcontroller 2010. Retrieved from:
http://www.parallax.com/.
[10] Pressman, R., Software Engineering, A Practitioner's Approach, Seventh
Edition, McGraw Hall, 2010.
[11] Sherestha, R., Watts, M., Zhang, W., Yang, K., Representing Clifford Algebra
Into OMDoc Format, The Journal of Computing Sciences in Colleges, 24, (4),
124-129, April, 2009.
[12] The coolest Interface to (Sub) Version Control 2010. Retrieved from:
http://tortoisesvn.net/.
[13] Wildermuth, S., Silverlight Patterns: Model-View-ViewModel, In Silverlight 2
Apps 2010. Retrieved from:
http://msdn.microsoft.com/en-us/magazine/dd458800.aspx.
[14] Zambo, S., Create GA Content Dictionary Using OpenMath Format, LSU Triple
EX Annual Symposium for Undergraduate Research, Baton Rouge, LA, October,
2009.
[15] Zambo, S., Defining Geometric Algebra Semantics, Proceeding of the 48th ACM
Southeast Conference (ACMSE 2010), Oxford, MS, April, 2010.

27
COMPUTING FOR SCIENCE MAJORS: A NEW COURSE*

Richard P. Simpson and Tina Johnson


Computer Science Department
Midwestern State University
Wichita Falls, Texas
richard.simpson@mwsu.edu, tina.johnson@mwsu.edu

ABSTRACT
A new computing course has been developed to specifically support majors in
the natural sciences, particularly chemistry and biology. The course is
composed of advanced features of MS Office together with other public
domain software that has direct application to these majors. A command-line
programming environment together with Perl, a well-known scripting
language, is used throughout. Other areas of emphasis include ASCII files,
image processing and associated file formats, Perl programming, text
processing using regular expressions, bibliographic software and simulation
of biological systems. The course, taught interactively in a lab, has become
popular and is used by science majors to satisfy the core requirements for their
respective degrees. This paper provides an overview of the material covered
in the course.

INTRODUCTION
Teaching computer applications at the college level can be frustrating for both
students and instructors. Many students have taken similar courses in high school and
do not feel challenged by the material or assignments. Surrounded by technology in
everyday life, students may feel bored and unmotivated in a traditionally taught computer
applications course [7]. These students gain very little new knowledge. While this issue
will never be completely resolved, courses that are designed to address problems directly
related to a student's field of study can be beneficial for everyone involved.
Computing for Science Majors was developed at Midwestern State University as an
effort to create a course that is mutually beneficial to students, the science program, and

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

28
CCSC: South Central Conference

to the instructor teaching the course. Advanced features of traditional programs, such as
MS Office are utilized, and assignments are related to scientific applications. In addition,
the Perl programming language is used throughout the semester for the manipulation of
large files, DNA strings and other text processing. Besides emphasizing file formats and
generalized data flow, this course teaches the necessary processing skills required for
writing scientific papers. There are a few courses of this nature being taught; GNSC 1001
at Oklahoma Baptist University [9] is similar. The primary goal of this course is to teach
computer concepts and applications which are directly applicable in the field of science.
This is an effort to facilitate students who are science majors while satisfying a core
requirement for all majors.

COURSE OVERVIEW
Students appreciate the Open Educational Resources (OER) approach of this course
[11]. OER courses are those taught using resources that reside in the public domain or
have been released under intellectual property copyright, which means a savings of
approximately $100 on the purchase of a textbook. The only divergence from the above
philosophy is the use of Microsoft Office and Windows. This has not been an issue since
these packages are readily available.
The actual course commences with a study of DOS and the command-line user
interface (Linux or virtual environments such as that generated by the Sygwin emulator
have been considered but as of yet not been tried). The DOS command- line looks quite
similar to the usual shells in Linux. Shell commands such as dir, type, move, etc. are
studied together with additional external utilities such as hexdump.
The course continues with a study of text files. This includes an in-depth
investigation of ASCII text files as well as a brief look at UTF-8 via the hexdump lens.
Since ASCII tables are often displayed in binary, octal and hex, these numerical formats
are addressed along with the usual conversion algorithms.
Biology, chemistry and other scientific fields regularly use and process large text
files. Due to the fact that the scripting language Perl has become very popular in the
areas of medicine, biology and bioinformatics [1,16], combined with its ability to perform
generalized data mining and reformatting of large text files, the authors selected it as the
main programming language of this course. The editor Notepad++ was selected for the
editor/programming environment. In addition to its support for color coded syntax of
several different languages, it has a feature that allows the student to pop up a DOS
window whose working directory is the directory that Notepad++ is using.
Rather than teach all that the students need to know regarding Perl in a consecutive
sequence of classes, the introduction to Perl is interleaved with other topics as students
progress through the semester. For example, after teaching simple data types, variables,
assignment statements and the use of conditional branching (i.e. the IF statement), the
topic is switched to a review of bibliographic software (MS Word, EndNote, JabRef and
Zotero). The built-in bibliographic support that exists in Word is growing and is
acceptable as an introduction to this type of software support. A paper in their field of
study is assigned at the start of the course and the students are required to find supporting
publications. The bibliographic support software in Word along with Bibword [5] and
Bibword Extender are used to organize their reference list.

29
JCSC 26, 4 (April 2011)

The section on bibliographic software is followed by a return to Perl and iteration


using the WHILE loop. The authors purposefully avoid the FOR loop construct until the
students' use of the WHILE loop becomes second nature. Science majors pick this up
quite readily, partly as a result of the college algebra prerequisite and partly because their
interests are more in line with the course content.
Next, Paint.net [13] is introduced. Paint.net is a free image and photo editing
software that runs on Windows. This program is really a stepping stone for the
introduction of colors, image resolutions, compression and file formats. The usual image
files .bmp, .png, .gif, and .jpg are covered together with their applications, relative sizing
and support for things like transparency. With support from an open source program
called unFREEz [17], the students can create and study the structure of animated gif files.
The next software studied is MS Excel. Although Excel is not free, it is almost
ubiquitous and deserves our attention. For readers who prefer, OpenOffice from Oracle
[12] is one alternative. It is the assumption, and this is confirmed by a class survey, that
the students in the class already know the basics of Excel. Functions, graphing and data
movement are the main focus with little time spent on the interface. Rapid data loading,
such as moving a multiple column text file into a table, is a major focus. To maintain
proficiency in Perl, sets of ordered pairs can be created via Perl and then graphed in
Excel. Dynamic table creation is also covered.
The next topic of discussion is a study of Perl regular expressions. Regular
expressions are found in many languages and are extremely useful for extracting data
from large files and reorganizing files as well as searching for patterns in long DNA
strings. The usual string patterns, character class patterns, multipliers, and alternation
operators are covered in this section. To demonstrate the power of this tool, the students
are directed to the National Center for Biotechnology Information (NCBI) web site [10]
where the Homo sapiens neanderthalensis complete mitochondrial genome can be
downloaded in Genbank format. This format is a text file that contains a complete
annotation of the genome. These files are formatted in a very precise way and as a result
are full of opportunities for data extraction. Perl programs can be written to extract
particular genes, protein translations for individual genes, or the entire genome. The
following partial Genbank file was extracted from the above Neanderthal file.

1 gatcacaggt ctatcaccct attaaccact cacgggagct ctccatgcat ttggtatttt


61 cgtctggggg gtgtgcacgc gatagcattg cgagacgctg gagccggagc accctatgtc
121 gcagtatctg tctttgattc ctgcctcatt ctattattta tcgcacctac gttcaatatt
181 acagacgagc atacttacta aagtgtgtta attaattaat gcttgtagga cataataata

Figure 1. Partial genetic code of Homo sapien neanderthalensis.


A very simple Perl program can then be written to remove the numbers and spaces,
resulting in a single string containing only DNA. Subsequent processing of this DNA
string is now considerably simplified. Figure 2 demonstrates a simple program that
dumps the genes ranges of a Genbank file.

30
CCSC: South Central Conference

# This program reads a Genbank file and prints out the genes.
open(FILE,"Neanderthal.txt");
while($line = <FILE>){
if($line =~ /^\s+gene\s+(\d+..\d+|complement\(\d+..\d+\))/){print $line;}
}

Figure 2. Code to convert to single-string DNA.


The program illustrated in Figure 2 processes the file printing all lines adhering to
one of the following formats. All other lines are skipped.
gene 5507..5574
gene complement(5582..5650)
The students quickly become aware of the text processing power of Perl when
married with regular expressions. Switching from Neanderthals to Mammoths to the
smallest known free-living bacterium, Mycoplasma genitalium, has a tendency to spice
up the project environment and make it more interesting to the students.
The power of Perl is of course quite limited without using arrays. The discussion
of arrays is intentionally avoided to this point to make it easier for the science students
to become accustomed to the programming process. Perl arrays, together with support
functions such as split( ), are introduced and used to support a variety of data
manipulation projects. There are many simple text processing problems that can be used
to make it clear to the student why Perl arrays are useful. The following text reformatting
problem is one such case.
Problem: Dr. Rattus has a class of 25 students he sent out in the field to collect data
on rat species counts in different counties. He gave the specification for typing this
information into an ASCII text file. The specification required that each species be
entered using the format in the following order, one species per line.
genus species population location
After all 25 students did this, it was discovered that the format was incorrect for the
database program being used. This program was designed to read text files in the
format
species genus : location : population
Note that the genus species is reversed and that colons are required instead of spaces
in the later two locations. Mean Dr. Rattus, not being very computer literate, told
the class to retype the 500+ line files. Rather than follow this advice, student Mr.
Awesome, having had this class, decided to write a short Perl program that would
do the conversion for them. He gave the program to the other students in the class
and became a hero. Write this program.
open(FILE,"data.txt")|| die "Sorry, I could open the file data.txt";
# for input
open(OUT,">newformat.txt");# for output
while($line=<FILE>){#<--- Remember that this reads one line at a time.
@list=split(/\s+/,$line);
print OUT "$list[1] $list[0] : $list[3] : $list[2]\n";
print "$list[1] $list[0] : $list[3] : $list[2]\n";
}

Figure 3. Text manipulation program written in Perl

31
JCSC 26, 4 (April 2011)

After discussing this problem, the program in Figure 3 is discussed. The application
uses the split( ) function to extract the four white-space-separated words on each line and
prints them out in the required format. This is another example of using computers to do
things fast. It has been noticed that if the faculty constantly press this concept, e.g. doing
it FAST, the students get on board quite quickly.
As the students continue to work in Perl,
PowerPoint is discussed. Since students are
already familiar with this application emphasis is
placed on embedding images, animated GIF's,
animations, inserting application/web links, videos
and smart art. This normally leads to further
discussion of mpg, avi, and mov video file types.
The desire to embed molecular animations can
also be used to investigate one of the many
molecular file formats such as the well known
PDB and MOL file formats. There are many
(free) applications on the Internet that can be used
to render and rotate these files. The faculty has
found RasMol [14], shown in Figure 4, works well
for this purpose. These programs can be used Figure Figure 4. RasMOL Example.
with PowerPoint enhance presentations. A side
effect of using the MDL MOL file format is that it is simple and easy to understand. A
complete specification can be found at Symyx Technologies, Inc. [4] The Benzene MOL
file is illustrated in Figure 5 to demonstrate this.
Benzene
ACD/Labs0812062058

6 6 0 0 0 0 0 0 0 0 1 V2000
1.9050 -0.7932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.9050 -2.1232 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.7531 -0.1282 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.7531 -2.7882 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.3987 -0.7932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.3987 -2.1232 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
2 1 1 0 0 0 0
3 1 2 0 0 0 0
4 2 2 0 0 0 0
5 3 1 0 0 0 0

Figure 5. Benzene MOL file.


The first line in Figure 5 is a header that indicates there are 6 atoms, all carbon, that
make up this molecule. This is followed by the 3D location of these carbon atoms. The
subsequent lines specify the molecular connectivity; for example, the second line (the one
in bold) states that atom 3 is connected to atom 1 using a double bond (2).
Working with this file format continues one of the course's underlying themes, that
much of a person's work in computing is centered on file formats. It is our contention
that the mystery behind these file types can be erased by studying just a few of them. File
type knowledge typically stops at knowing just the extension, thus limiting a student's
potential to use and process the file.

32
CCSC: South Central Conference

One of the major areas of bioscience research comes under the term systems
biology, a field that focuses on complex interactions that occur within biological systems.
Much of the research in this area is supported by a variety of simulations of these
systems. Starlogo [15], an application developed at the MIT Media Lab, was chosen to
support the study of biological interaction. This system allows the user to program
systems that simulate, swarm intelligence, foraging behavior [8], flocking and other
collective behaviors observed in animal populations. Although this package is somewhat
old (early nineties) it is well suited for exploring distributed decentralized systems. In
addition, simulations are programmed using one of the first object oriented programming
languages. The language is quite simple, educational and easy to learn, giving biology
and chemistry majors another programming perspective. Using this environment projects
that simulate ants foraging, slime growing and predator/prey simulations are easy to
construct. As the program runs dynamic graphs can be displayed that show the state of
the simulation.

CONCLUSION
This course has been very exciting to develop and teach and is currently being
taught for the fourth time. The students regularly select Computing for Science Majors
over the standard computer applications course and end of semester student reviews
remain quite positive. The faculty is continuing the search for the optimal list of topics
taught since there are many more than can fit in this semester long course. There is a
desire to include curve fitting software, statistical packages and other type of software but
time constraints, as usual, force the faculty to develop a careful balance between the
number of topics discussed and the depth that they are taught. We have also found that
getting the natural sciences faculty on board from the start greatly facilitates the courses
success.

REFERENCES
[1] Berman, J. J. (2007). Perl Programming for Medicine and Biology. Jones and
Bartlett.
[2] Brewster, R. (n.d.). paint.net. Retrieved from paint.net: www.paint.net
[3] C. Hartley. (n.d.). Pictographic Maya Calendar Converter. (Ernest B. Wright
Observatory) Retrieved from
http://users.hartwick.edu/hartleyc/mayacalendar/mayacalendar.html
[4] ctfile. (n.d.). (Symyx) Retrieved from Symyx:
http://www.symyx.com/downloads/public/ctfile/ctfile.jsp
[5] Dhondt, Y. (n.d.). BibWord. Retrieved from BibWord: Microsoft Word Citation
adn
[6] Bibliography Styles: http://bibword.codeplex.com/
[7] Kimball, J. (2008). Reversing the course: A new sequence for teaching Microsoft
Office. The Journal of Computing Sciences in Colleges , 23 (4), 168-172.

33
JCSC 26, 4 (April 2011)

[8] Liu, B., Zhang, R., & Shi, C. (2007). Analysis of Foraging Behavior in Ant
Swarms Based on StarLogo Simulation. International Conference on Robatics
and Biomimetics, (pp. 810-814). Sanya, China.
[9] Malmberg, N. J. (n.d.). Computing for Science Majors I Syllabus. (Oklahoma
Baptist Univ.) Retrieved 10 12, 2010, from
http://www.okbu.net/chemistry/malmberg/gnsc1001/gnsc1001f2008.pdf
[10] NCBI. (n.d.). Retrieved from National Center for Biotechnology Information:
http://www.ncbi.nlm.nih.gov/
[11] Open Educational Resources. (n.d.). Retrieved 10 15, 2010, from The William
and Flora Hewlett Foundation:
http://www.hewlett.org/programs/education-program/open-educational-resources
[12] OpenOffice. (n.d.). (ORACLE) Retrieved from OpenOffice:
http://www.openoffice.org/
[13] Paint.net. (n.d.). Retrieved from Paint.net: http://www.getpaint.net/
[14] RasMol and OpenRasMol. (n.d.). Retrieved from http://www.openrasmol.org/
[15] StarLogo. (n.d.). Retrieved from Starlogo on the web:
http://education.mit.edu/starlogo/
[16] Tisdall, J. (2001). Beginning Perl for Bioinformatics. O'Reilly Media.
[17] unFREEz. (n.d.). Retrieved from WhitSoft: http://www.whitsoftdev.com/unfreez/

34
A COMPARISON OF COMPACT ROBOTICS PLATFORMS

FOR MODEL TEACHING *

Anne-Marie Eubanks, Robert G. Strader, and Deborah L. Dunn


Computer Science Department, Stephen F. Austin State University
Box 13063, Nacogdoches, TX, (936) 468-2508
eubanksanne@sfasu.edu, rstrader@sfasu.edu, and ddunn@sfasu.edu

ABSTRACT
Robots motivate interest in the presentation of STEM field topics and provide
a vehicle for model teaching. The four robots recognized in this paper have
been selected for their price and applicability to model teaching. An overview
of each kit is presented and essential topics that the tutorials teach are
addressed. A comparison is provided evaluating the appropriateness of each
platform.

INTRODUCTION
Robots illustrate topics from the fields of science, technology, engineering, and
mathematics (STEM) and by their nature provide hands-on learning. Therefore, robots
are a tool in many proposals addressing the issue of lack of student interest in the STEM
fields. Robots provide an enjoyable way to address many challenging concepts that
typically discourage or hinder student interests. The student experiences basic physics
concepts hands-on when the robot loses its balance because of an imbalance in its center
of gravity or when it cannot lift an object because the gear wheel ratio is incorrect for the
object's size. Lessons on frequency now become exciting because students see how the
radio controller in their hands controls the movements of their latest handiwork.
Coordinates on a plane come to life when students have to program their robots to
maneuver through a maze. These are just a few ways that robots bring STEM concepts
to life.
While many robots on the market are available, this paper addresses four moderately
priced platforms: Boe-bot (www.parallax.com/tabid/411/Default.aspx) and Scribbler
(www.parallax.com/tabid/455/Default.aspx) from Parallax, Inc., Lego's Mindstorms NXT

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

35
JCSC 26, 4 (April 2011)

2.0 (mindstorms.lego.com/en-us/products/default.aspx), and VEX from Innovation One,


Inc (vex.innovationfirst.com/). These four robots are fun to work with and address areas
of STEM. Each of these robots comes in a kit that is readily available for purchase on the
Web. Each has a drag and drop GUI environment with icons that abstract hard to grasp
concepts in computer languages so that the learning can be enjoyable and objectives can
be achieved, building skills that can later be used in conjunction with more advanced
textual environments.
Boe-bot's GUI Bot has the option of a beginner or an advanced mode, where the
text-based environment is the basic stamp editor. Boe-bot's manual explains concepts of
the hardware, memory organization, computer language concepts, programming
concepts, order of operations (both mathematical and logical), and electrical concepts.
Boe-bot, in general, focuses on electrical concepts (circuits) and navigation (maneuvers,
following light and a line, and object detection) [1, 2]. Parallax offers power point slides
to go hand-in-hand with the student workbook to assist the student in learning. Boe-bot
sensors are electrical circuits, whiskers, photoresistors, and IR detectors and filters. Its
focus to the STEM field topics is on science, technology, and mathematics. Parallax's
website (www.parallax.com) hosts projects of the week, object of the week, design
contests, plus Design Contests where contestants win money to further motivate users
(www.parallax.com/tabid/271/Default.aspx).
Scribbler's GUI environment is the Scribbler Program Maker and the text editors are
the basic stamp editor and IDLE (Python). The companion textbook, Learning Computing
with Robots [4], introduces language concepts (variables, loops, if…then), senses
(reaction to touch, to light, visual presence and sound), and graphics (pictures and
drawings). The fluke camera [3] assists with graphics. While there are no parts to build
different robots, it is still applicable to STEM topic areas of technology (computer skills)
and mathematics (coordinate planes).
NXT is programmable through Lego Mindstorms NXT and any C editor. There are
four basic robots provided in the software to build, starting with a vehicle, and ending
with a humanoid. Advanced students can build on these basic blocks to create their own
robots. NXT employs sensors for touch, light, sound, and auditory. Lego's website
(mindstorms.lego.com/en-us/community/default.aspx) posts challenges for users; one
recent challenge (deadline September 30, 2010) was to build robotic pets the award
categories were in domestic, exotic, most creative, and most interactive pets. Past
challenges included Snap Bots and Arcade Games. Lego posts the winners, allowing
inspiration and future creativity to continue.
NXT is applicable to the fields of STEM through the building of the robot (taking
into account gravity and mechanics), the purpose of the robot (how a student can build
a structure to facilitate what it needs to do), and technological skills required (what
sensors will be needed, how those sensors will react to a stimulus, and how a computer
achieves that). It also teaches basic computer science skills through programs
(programming concepts of loops and conditions) and problem solving skills.
VEX's environments are easyC and a text editor for C. The Inventor's Guide [5],
VEX's manual, provides the information to build Squarebot. Each chapter includes
subsections of "concepts to understand" and "subsystems interfaces." Some of the
concepts covered include physics concepts (the center of gravity and stability), motor

36
CCSC: South Central Conference

technology (motors and speed vs. torque), and electrical circuits (dealing with batteries
and triggers). The basic kit includes bumper switches and limit switches.
Innovation One, Inc. introduces challenges for the classroom, such as soccer, and
beginning in 2007, created an all-star challenge
(robotevents.com/robot-competitions/vex-robotics-competition) for all ages (elementary
through university) and all levels (beginners to advanced). This year's all-star challenge
is the Clean Sweep games with the winners advancing to the 2010 VEX Robotics
Competition World Championship. On November 19, 2009, Innovation One announced
a partnership with Technology Student Association for competitions applicable in
learning about STEM.

MODEL TEACHING
One of the most effective and used teaching styles is the Madeline Hunter Direct
Instruction Model: input, model (present, explain, student application), and check for
student understanding [6]. Learning with robots goes hand and hand with this technique.
The instructor or manual presents and explains the concept(s), the student builds a robot,
and uses the robot to perform and complete the goal. Each of these robots is grounded in
this philosophy of presenting, explaining, and applying.
These four robots make learning enjoyable. Difficult concepts from computer
technology, mathematics, physics, and electronics are abstracted so as not to impede
interest and the quest for knowledge. Each lesson in the manuals or tutorials has a
concept to learn or goal to attain, in which the student creates the robot, and then has the
robot perform the appropriate action to achieve the goal.
Boe-bot has lessons with transistors and switches to demonstrate the concepts of
electricity, navigation to learn about plane coordinates, and sensors for interaction to
illustrate concept of cause and effect. There are a few lessons that do not work out as
shown in the book, but this adds to "life lessons" by showing imperfections as well as
successful projects. Circuits come alive when the student inserts resistors into the board,
luring the student into learning about the bands that identify it. It is humorous to watch
Boe-bot wandering around with whiskers detecting objects to avoid. Lessons of
electronics and science are translated into fun with the aid of a robot while still imparting
critical knowledge. By allowing students to manipulate memory, address memory
mapping is explained and illustrated as no textbook can. Each chapter explains the lesson,
the student builds the model, and the robot performs the task.
Scribbler's lessons include navigation, mathematics, language syntax and semantics,
using the C library, graphics, and artificial intelligence such as the subsumption
architecture, and a game playing application. Since Scribbler has the option to hold a
marker, challenges of navigation become more concrete when the student sees the trail
or shape created during the lesson. Learning syntax and semantics is more enjoyable
when the student can directly see the influence on Scribbler's performance. Manipulating
graphics becomes more engaging because the student creates his or her own image to
manipulate. The concept of subsumption materializes as the student regulates the
behavioral controls of Scribbler. Learning Computing with Robots [4] provides lessons
that explain sensors and supply an example that will activate the desired reaction,

37
JCSC 26, 4 (April 2011)

allowing the student to have direct control over the situation, as Scribbler performs the
action.
NXT provides four basic robots to build in the Robo Center: TriBot, RoboArm,
Spike, and Alpha Rex. Embedded in these tutorials is model teaching; each tutorial
explains the goals, provides programs to run, and incorporates testing at each stage
allowing the student to see the lesson in action. The TriBot is a vehicle built in six parts
with each part having a program and test phase. This simple approach teaches the student
to build, program, and test in increments, an important discipline to learn. Spike is fun;
Spike is a robot built to replicate the physical body and behavior of a scorpion,
demonstrating sensor reaction through user interaction. Alpha Rex is a humanoid robot
that the student can make walk and dance.
Vex Inventor's Guide [5] builds Squarebot, which the student then interacts with,
learning concepts of physics, motion, electronics, logic, and program language skills. The
"concepts to understand," subsection of each chapter of the guide has diagrams and
information points to master. For instance, the motion chapter has concepts instructing
the difference between the motors and servomotors, the difference between speed and
torque and how gears play a role in this interaction, pulleys, how wheel size affects
acceleration and speed, what friction does to the robot, the advantages and disadvantages
of tire treads and tire sizes, and the affects of axels. Squarebot models these concepts
allowing the student to observe firsthand the application of STEM concepts.
Table 1 provides a comparative summary of the four robots described in this paper.
Each robot has a GUI interface and a text editor interface. The table presents information
regarding the manuals provided, any available tutorials, the concepts and senses
addressed, organized challenges offered, and the price for each robot.

Boebot Scribbler NXT VEX


GUI GUI Bot Scribbler Program Lego Mindstorms EasyC
Interface Maker

Text Editor Basic Stamp Editor Myro any C text editor EasyC
Interface

Manual Robotics! Student Learning Computing Robo Center Inventor’s Guide


Workbook with Robots
Plus PowerPoints
Basic Stamp manual
Tutorials Six Chapters Twelve Chapters Tribot Seven Sections
for RoboArm Six Programs
Introduction Spike
Alpha Rex

38
CCSC: South Central Conference

Senses Circuits, Whiskers, IR, Obstacle, Touch Sensor, Bumper Switch,


Photoresisters, Light Sound Sensor, Limit Switch
IR Light Sensor,
Ultrasonic Sensor
Concepts Problem Solving, Problem Solving, Problem Solving, Problem Solving,
Computer Computer Skills and Computer Skills and Computer Skills and
Languages, Languages, Languages, Languages,
Mathematics, Graphics, Plane Maneuvers, Sensors, Maneuvers, Sensors
Coordinates, Sensors, Physics Electrical, Physics
Maneuvers, Physics
Electrical, Sensors
STEM Technology and Technology and Science, Technology, Science, Technology,
Science Mathematics Engineering, and Engineering,
Mathematics Mathematics
Challenges Project of the Week, N/A Individual or Team All-Star Challenge
Object of the Week, Creations (Team Creations)
Design Contests
Price Boe-Bot Robot Kit The Scribbler Robot Mindstorms NXT 2.0 Autonomous Control
(as of $159.99 $99.99 $279.99 Starter Bundle
10/20/10) starting at $319.99

Table 1: Comparison Table

COMPARISON EVALUATION
Each of these four robotics systems have both strong and weak points and focus on
some, but not all STEM concepts. All four robots introduce navigation, but the
navigation systems overall is unreliable. These robots cannot repeatedly perform a
function perfectly or even perform some functions well; while this causes some student
frustration, it also provides real-life situations that can lead to a problems solving
situation.
While Boe-bot focuses on electronics, memory, and navigation, its strength lies in
the fact that most of the programs focus on how memory is stored and how it can be
accessed. Boe-bot might not be the best introduction to computer science because of the
limited applications presented.
Kumar's Learning Computing with Robots allows the student to learn basic and
advanced computer concepts, as well as problem-solving skills through Scribbler. In this
way, Scribbler is a great introduction robot to computer science/programming but it is
limited in its growth and conceptual coverage.
NXT is also a good introducing system; its flexible platform can be tailored to
almost any problem. NXT has weak mechanical integrity that can also provide a
problem-solving situation while creating cute, fun robots to capture and hold interest.
Vex's Inventor Guide provides a general introductory platform. Its main two
advantages are: 1) the GUI interface provides the written language to the right of the
picture icons, allowing the student to learn a language without being bogged down by the
syntax while learning; and 2) it has a great stable platform that can be expanded upon.
These two advantages make Vex the best kit for teaching and building the STEM fields.

CONCLUSION
This paper has presented four robotic platforms and compared the capabilities and

39
JCSC 26, 4 (April 2011)

educational materials supplied with each kit. Each robot kit emphasizes different aspects
of STEM fields and concepts to learn. Boe-bot is in the lower price range and provides
introductory lessons to electronics, navigation, logic, and programming. Scribbler is very
affordable and lets the student interact with several types of sensors, graphics, and basic
artificial intelligence. It is an excellent introductory robot. The NXT platform, while in
a higher price range, is a worthwhile investment; its basic nature allows students to build
and program whatever they can imagine. Lego hosts competitions for NXT users to
participate in, fostering imaginative ideas and adding to the excitement. The Vex is the
highest priced of the four but is still very competitive for what it has to offer. The
concepts introduced in the various guides provide great building blocks for STEM topics.
Robots creatively involve the student in learning critical concepts for his or her future
endeavors. Each robot kit supports the model teaching approach.

REFERENCES
[1] Robotics! Student workbook; Version1.5. (2001). Parallax, Inc.
[2] Basic Stamp Manual Version 2.0. (2000). Parallax, Inc.
[3] IPRE Fluke upgrade module.
http://wiki.roboteducation.org/wiki/images/6/61/Fluke_Quikstart_Guide.pdf
[4] Kumar, D. (2008). Learning Computing with Robots. Institute for Personal
Robots in Education. www.roboteducation.org
[5] Vex Inventor's Guide. (2004). China: Innovation One, Inc.
[6] The Madeline Hunter Direct Instruction Model.
http://www.humboldt.edu/~tha1/hunter-eei.html

40
EVALUATING STUDENTS' SATISFACTION USING TWO SAP

ERP USER INTERFACES*


John L. Wilson, D.B.A., Ed Lindoo, Ph.D.
College for Professional Studies, Regis University
3333 Regis Blvd.
Denver, CO 80221-1099
920-869-3446
jwilson@regis.edu

ABSTRACT
Companies worldwide use Enterprise Resource Planning (ERP) systems to
effectively manage business processes across organizational departments and
information among global subsidiaries. Colleges have incorporated ERP
systems into their business curricula to provide students with a better
understanding of business process theory and information sharing concepts.
In this paper, we discuss students' satisfaction with using two end-user
interfaces for SAP's ERP software in an online/distance education classroom.
The first interface was a front-end graphical user interface (GUI) with a
client/server architecture using online transaction processing (OLTP) and an
Oracle database management system. The second interface was completely
simulated using a JAVA-based program running in a browser. From a
computer science viewpoint, we were interested in better understanding the
human-computer interaction of students with the two different interfaces.
Specifically, we wanted to determine which interface best secured students'
satisfaction as users, while learning business process theory and information
sharing concepts. Reasons for students' dissatisfaction with using SAP's GUI,
and benefits from using a completely simulated environment, are discussed.
Other colleges considering implementing SAP's ERP software into their
online/distance education curricula may benefit from "lessons learned" from
this human-computer interaction experience.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

41
JCSC 26, 4 (April 2011)

INTRODUCTION
At a U.S. school of business, faculty realized the management information systems
(MIS) course needed to be revamped in their online/distance education curriculum. At
the same time, faculty became aware of an increasing global economy driving businesses
to adopt enterprise resource planning (ERP) systems. They understood companies in their
geographic area were requiring prospective employees to have an understanding of the
various roles an ERP system could play in a company to streamline business processes,
improve communication among departments, and facilitate sharing of information among
global subsidiaries and corporate headquarters. SAP is the world's largest and most
well-known vendor of ERP software. SAP created the University Alliances (UA) program
to have their SAP R/3 system included in colleges curricula. The UA program provides
member colleges access to a full suite of SAP R/3 application modules, "hands on"
student training exercises, data center support, seminars and educational resource
materials. With additional constructive feedback from students, business school faculty
encouraged revision of their online/distance education MIS course to include SAP ERP,
as many other business schools have done [1, 2, 3, 4, 6]. Recently, published guidelines
for information systems curricula have also proposed an understanding of the theoretical
and practical issues related to business process management and enterprise systems, with
the inclusion of an ERP system [5].

FIRST IMPLEMENTATION – SAP R/3 & UA PROGRAM


When the first revised MIS classes started, students began installing a 600MB GUI
on their PCs. The installations were most arduous as many unforeseen problems occurred.
Not anticipated were all the different types of PCs and versions of systems software
students used. The 600 MB GUI file was reduced to 164 MB – one-fourth the original
size, after discovering a great deal of unnecessary information within the installation file.
However, some students were still unable to get the GUI to work and were given a
different Java version. Some students had Macintosh (Mac) computers. A Mac version
of the GUI was provided for MAC users, as they could not access the Windows GUI. As
described above, the installation of SAP R/3 GUI software failed miserably, partially
because the SAP R/3 GUI required a major install on each student's PC. With a multitude
of operating systems, patch levels, etc.; it just was not feasible to expect students to do
this without a lot of hand-holding. Considering these factors, four different versions of
the GUI were implemented on a central server within the school of business, and links
to these were provided through the online/distance education classroom. Detailed
installation instructions with screen snapshots were also developed and provided for each
GUI version.
Using the GUI client installed on their PCs, students connected through the Internet
to SAP R/3 software performing online transaction processing (OLTP). The SAP R/3
software, with an Oracle database for storage, resided on servers in UCC's datacenter in
Milwaukee, Wisconsin. While access through the Internet was quite consistent, the UCC
servers were not always available, which hindered students' attempts to complete their
exercises before assignment deadlines (Sunday night due date, for example). Because the
UA did not provide an SAP help desk, help for instructors was limited, which made
supporting students a challenge. Putting an "SAP Help" link on the classroom's

42
CCSC: South Central Conference

discussion board was found to be most fruitful. Students were told to use the link to post
questions. Fellow students would assist with responses. This worked because many
students experienced the same problems and were able to help other students. The school
of business's Help Desk did agree to reset student passwords. This proved quite valuable.
Not only did students forget their own passwords, but it seemed that some students would
try logging into the wrong account and, after three failed attempts, lock another student's
password. For example, a student was assigned to login as FSUSER-22 but accidently
typed FSUSER-23. After three failed attempts, they locked out user FSUSER-23.
"Hands on" student training exercises were based on the fictitious Fitter Snackers
(FS) Company, which was also described in the accompanying textbook [8]. Using the
SAP GUI, students were required to complete the step-by-step instructions for FS
exercises, often some 60+ pages long for an exercise. It was quite easy for a student to
miss a step, or even key in the wrong data. Once a step was missed, or wrong data
entered, the average user could not go back and make changes. Students knew what
results they were supposed to achieve (as provided in the step-by-step instructions). When
they couldn't get these results, they became quite frustrated, and their emails became
quite demanding. Students were willing to do the work, and to do it over and over, to get
it right; however, datasets could not be reset. There really was no way to "fix" a mistake.
Resetting datasets was a frequent request by frustrated students, and one way to
accommodate this was to give a student an unused logon. This led to additional
administrative work – keeping track of logons that had been switched.
The inability to keep students from contaminating another user's dataset was another
issue with the SAP ERP system. For example, FSUSER-22 could login as the appropriate
student and then use dataset 23, in addition to any other dataset from 00 to 99. There was
no apparent way to prevent this from happening. Even though students were advised of
the issue and the inappropriateness of using someone else's dataset, it did continue. Of
course, this corrupted another student's dataset, leading only to more student frustration.
As a part of their final grade included FS exercise scores, students' complaints
became the norm. They directed their complaints to the lead MIS faculty member, the
Help Desk and others in the administrative section of the school of business. Some very
frustrated students directly approached the Office of the Dean to complain about the SAP
R/3 graphical user interface and FS exercises. With little support from the Help-Desk, the
start of every subsequent semester was hectic.

SECOND IMPLEMENTATION – SAP SIMULATOR


Something had to be done to rectify all the frustrations and very verbal complaints
from students. As a result, the business school opted to move away from using the OLTP
SAP R/3 system and GUI, student training exercises, and the UA Program in general.
Instead, we decided to use an SAP simulator created by Simha R. Magal and Jeffrey
Word [7] in partnership with SAP.
The simulator is a Java-based program running in a browser. It is extremely easy to
use. On every screen from the start of the simulator to the end, the student is led from
field to field, and screen to screen. The simulator instructs the student on what to do and
why, and even prompts with a red highlight on what fields or instruction set they need to
click to work their way through the process flow. For students, the simulator Website is

43
JCSC 26, 4 (April 2011)

quite straightforward. Students self-register on the Website, and then perform the
assigned fictitious company Super Skateboard Builders (SSB) exercises – once with the
simulator performing all the steps, and then three times on their own with the simulator
guiding them through the processes. A quiz measures students' comprehension of process
flow and comprehension of other information in the accompanying SSB simulation
exercise. A student's progress is recorded in their grade book. All of this grading
information can easily be downloaded to an Excel spreadsheet to perform calculations for
determining students' overall weighted grades for the simulations and quizzes.
The first step in getting started using the simulator was to contact WileyPLUS (the
publisher of the accompanying textbook) and obtain instructor access to their Website to
setup a simulator for each MIS class. Setup was straightforward and very intuitive. The
instructor creates a new class for each semester by assigning five SSB simulation
exercises and five quizzes to specific weeks of the course. After setting up the simulator
for a class, an instructor automatically has a URL to provide to students to access the
simulator Website. If students purchased a new accompanying textbook [7], they were
provided with an access code. However, if they purchased a used textbook, they had to
purchase an access code during registration on the WileyPLUS Website, with a current
cost of $8.00.
Once a student has access to the WileyPLUS Website, they self-register to class,
which means there is no involvement by the instructor in the students' registration
process. Throughout the course, students complete pre-defined SSB simulation exercises
assigned on a week-by-week basis. The WileyPLUS Website has five SSB training
exercises and five related quizzes – one for each simulation exercise. The SAP
simulation exercises are automatically graded as a percentage of completion. That is, if
a student starts a simulator exercise and completes 75% of it, then 75 is their grade. Most
students complete the simulator exercises and end up with 100 on each of five exercises.
The quizzes on the other hand can be a bit challenging. Some only have four questions,
so if a student misses two, they drop their score to 50% for that quiz. Students were
encouraged to run a simulator exercise over and over, and to take detail notes about the
exercise until they became very familiar and comfortable with the process and
information flow. That way, they better understand how SAP software can be used in a
business to improve process flow and enhance communication of information among
departments. They are also better prepared to answer quiz questions, which are designed
to measure students learning during the simulation exercises.

DISCUSSION
There are many ways to obtain feedback from users. While we did not set out to
solicit feedback, by default we found this statement to be true. Frustrated students sent
on average over 100 negative emails per semester to instructors expressing their
dissatisfaction with the SAP R/3 installation and accompanying instructions, log on
procedures, using the GUI, or the FS exercises and instructions. In contrast, students sent
less than 20 negative emails to instructors per semester about WileyPLUS registration,
using the simulator, or completing SSB exercises and quizzes. The following discussion
attempts to explain these differences in students' satisfaction levels.

44
CCSC: South Central Conference

To use the SAP R/3 GUI, students are required to understand an abstract language
in which (1) master data, (2) organization structure, (3) business rules, and (4) actions of
the system are represented with a language of symbols, signs and tokens. For example,
master data requires knowing how to use purchasing and cost element groups; business
rules use grammar associated with automatic postings and document numbering; actions
of the system include converting a planned order to a production order, or checking stock
status [4]. The complexity of the GUI's abstract language seemed to frustrate students.
In contrast to the GUI, the simulator "held the hands" of students as it guided them
through the use of the SAP system. Students appeared to be more comfortable using the
simulator and seemed less frustrated using it to perform exercises on their own.
There were other differences in complexity between the two sets of exercises that
may have caused students to be more dissatisfied with the FS exercises. The instructions
for FS exercises (60+ pages for some) were more extensive than the SSB simulation
exercises. The FS exercises included more transactions, and processing in other business
functions, such as capital expenditure budgeting and human resources, than the SSB
simulation exercises. The online/distance education MIS class was delivered through
either WebCT or Blackboard classrooms, which meant problem solving took place
through e-mails or postings on discussion boards. Delays in solving students' problems
may have increased frustration and dissatisfaction with either of the two sets of exercises.
Students were not in a lab with an instructor present to answer their questions right away.
When online students encountered a problem and could not proceed in an exercise, they
needed to wait for a response from their instructor or other classmates before they could
continue with the exercise. The relative difference in numbers of problems reported from
students ranged from exorbitant with the Fitter Snackers (FS) exercises to minimal with
the SSB simulation exercises. The delay in solving students' problems in an e-learning
environment could have partially contributed to the increased dissatisfaction from
students using the GUI in SAP R/3.
The similarity between the Fitter Snackers (FS) exercises and the SSB simulation
exercises was primarily with the two accompanying textbooks [7, 8]. The authors
explained how the two fictitious companies (FA and SSB) accomplished basic business
functions manually prior to adopting ERP systems. By describing how ERP systems were
used in the exercises, the authors explained how processing was improved by capturing
data once at the source in a central database, and how the SAP ERP system allowed
departments to share data to improve communication among departments. By reading the
accompanying textbooks, students performing either set of exercises should have had
sufficient background information to understand the bigger picture of processing in the
fictitious companies; that is, before and after using an ERP system. Neither of the
textbooks' descriptions should have caused students to be anxious while performing the
exercises. If anything, the textbooks' descriptions should have increased students'
understanding of what the exercises were trying to accomplish and reduced anxiety
levels.

CONCLUSION AND RECOMMENDATIONS


We described how two different interfaces for SAP's ERP system were incorporated
into the business school's MIS course in an online/distance education curriculum. In

45
JCSC 26, 4 (April 2011)

reviewing the objectives for the course, we asked: "With which user interface were
students most satisfied and learned best? Using a client-based GUI to access an SAP R/3
OLTP system with accompanying database, or a JAVA-based simulation of SAP running
in a Web browser?" We found students became most agitated when problems occurred
logging in through the GUI, accessing the correct dataset, or performing strict OLTP
instructions to complete the FS exercises. During the FS exercises, students became
easily frustrated with OLTP, using "live" application modules, and detailed step-by-step
instructions to complete transactions. Their focus was on obtaining the correct results at
the end of the step-by-step exercises, with little learning of processes and flow of
information. On the other hand, we found students who used the SAP simulator, and
performed the SSB exercises, were less frustrated and more receptive to learning how
communication, processing, and information can successfully flow though a business
organization. An important lesson learned about interfaces is simulation software takes
away the need for a student to know all the details about how to perform a process
transaction. Instead, the simulator takes students through processing steps with a
concentration on explaining how ERP systems allow processing to flow across
organizational functions, insuring communications take place between involved
departments, and allowing processing to be completed efficiently, timely and with fewer
errors, as compared to manual processing. Using an SAP simulator allows students the
opportunity to understand the process flows, and appreciate the benefits that occur, when
using ERP systems in businesses.
Based on our experiences in an online classroom environment, we do not
recommend students use an ERP system with a complex GUI, such as in SAP R/3. The
complexities associated with the SAP R/3 GUI appeared to dampen students' enthusiasm
for learning and caused dissatisfaction, not only with the GUI but with an online/distance
education environment as well. Instead, we recommend students in an online/distance
education environment use a simpler, more straightforward SAP simulator interface, such
as found on the WileyPLUS Website, where students appeared to be more satisfied with
using the interface and concentrated more on learning about processing flows and
communication between business functions. We also recommend additional quantitative
studies of end-user satisfaction and learning using an SAP simulator interface, such as
found on the WileyPLUS Website.

REFERENCES
[1] Becerra-Fernandez, I., Murphy, K.E., & Simon, S.J., Integrating ERP in the
business school curriculum, Communication of the ACM, 43, (4), 39-41, 2000.
[2] Cannon, D.M., Klein, H.A., Koste, L.L. & Magal, S.R., Curriculum integration
using enterprise resource planning: An integrative case approach, Journal of
Education for Business, 93-101, 2004.
[3] Corbitt, G., Integrating SAP R/3 into a college of business curriculum: Lessons
learned, Information Technology and Management, 1, (4), 247, 2000.
[4] Davis, C.H., & Comeau, J., Enterprise integration in business education: Design
and outcomes of a capstone ERP-based undergraduate e-business management
course, Journal of Information Systems Education, 15, (3), 287-299, 2004.

46
CCSC: South Central Conference

[5] IS 2010: Curriculum guidelines for undergraduate degree programs in


information systems. Communication of the Association for Information Systems,
26, 359-428, 2010.
[6] Kirkham, K., & Seymour, L., The value of teaching using a live ERP system
with resource constraints, 2005,
http://www.commerce.uct.ac.za/informationsystems/Staff/personalpages/lseymo
ur/2007/2005-WCCE-376.pdf, 2010.
[7] Magal, S.R. & Word, J., Essentials of Business Process and Information
Systems, Hoboken, NJ: John Wiley & Sons, Inc., 2009.
[8] Monk, E. & Wagner, B., Concepts in Enterprise Resource Planning, Boston,
MA: Course Technology Cengage Learning, 2009.

47
RIGOROUS SOFTWARE ENGINEERING USING DESIGN BY

CONTRACT*

TUTORIAL PRESENTATION

Dr. Michael Kart


St. Edward's University
Austin, TX 78704

An important aspect of any software system is correctness, that is, whether the
system does what it is supposed to do. Despite this importance, it is frequently the case
that either the software specification or code is flawed. In this session, we discuss a
theory, known as Design by Contract, which can be used to improve this situation. This
theory uses the business contract as metaphor for how software components interact with
each other based on their mutual obligations and benefits. We introduce the fundamentals
of this approach, explore how to integrate Design by Contract into the undergraduate
computer science curriculum, and explain its distinct pedagogical and software
engineering advantages.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

48
DESIGNING AN UNDERGRADUATE DATA MINING COURSE

BY MATCHING TEACHING STRATEGIES WITH STUDENT

LEARNING STYLES*

Ping Chen Irene Chen Rakesh Verma


Computer &Math Science Dept. Dept. of Urban Education Dept. of Computer
University of University of Science
Houston-Downtown Houston-Downtown University of Houston
1-713-221-2764 1-713-221-8038 1-713-743-3348
chenp@uhd.edu cheni@uhd.edu rmverma@cs.uh.edu

ABSTRACT
Regularly integrating emerging technology to keep the curriculum up to date
is generally expected in the rapidly evolving discipline of Computer Science.
Due to the explosion of data and information data mining has become a core
area in undergraduate computer science curriculum. In this paper, we discuss
our experience to design, teach, and improve an undergraduate data mining
course by adopting the results of an Index of Learning Styles survey to assess
student learning style. Based on the survey results, course instructor fine-tuned
the organization and presentation of course materials and activities
accordingly. Course evaluation clearly showed effectiveness of our approach.

INTRODUCTION
Due to the explosion of data and information data mining has become a core area
in computer science. Data mining techniques aim to clean, analyze, and extract interesting
patterns and knowledge from large datasets, and a course aimed at the undergraduate,
upper-level Computer Science major has become both feasible and desirable. Computing
Curricula 2001 includes an elective data mining course in undergraduate Computer
Science curriculum [1]. Regularly integrating emerging technology to keep the
curriculum up to date is generally expected in the rapidly evolving discipline of Computer

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

49
JCSC 26, 4 (April 2011)

Science. In 2006 we developed an undergraduate Data Mining course including lecture


notes, assignments, and projects. Based on our experience we found that one major
challenge in teaching data mining at the undergraduate level is that due to high
complexity of data structures and algorithms in data mining techniques, students often
emerge with a shaky understanding and experience enormous difficulty when dealing
with complex real-world problems. As more advanced topics are introduced into
undergraduate Computer Science curriculum, how to effectively teach them has become
more general, not a unique problem to the data mining course.
In this paper, we will discuss our experience to integrate matching teaching
strategies in response to students' learning styles in an undergraduate data mining course
offered in 2009 and 2010 at University of Houston-Downtown(UHD) and University of
Houston (UH). We believe that a successful course includes not only high-quality
up-to-date courseware but also optimized teaching strategies based on the learning
characteristics of students taking the class. Hence, at the beginning of the semesters, we
conducted rigorous learning style assessment to find out more on student learning
preferences. Based on the assessment results, course instructor fine-tuned the delivery and
organization of the newly designed course materials and activities.
This paper is organized as follows. In Section 2 we will give background
information about the Index of Learning Styles that is used in our data mining course. We
will review the data collection of the learning style survey in Section 3, and discuss how
to customize teaching strategies based on the Index of Learning Styles Survey in Section
4. Course evaluation information is presented in Section 5, and we conclude in Section
6.
LEARNING STYLE ANALYSIS
Studies have shown that accommodating a student's learning style can significantly
increase his/her academic performance [6], which is especially important when
introducing advanced topics into Computer Science education. Course adaptation need
not be taken to the extreme, but often a small modification to a basic course design can
dramatically expand its utility for students with different learning styles.
The instrument we used in the second week of the data mining class is the Index of
Learning Styles (ILS) [3], which is constructed by Drs. R. M. Felder and L. K. Silverman
(available at www.engr.ncsu.edu/learningstyles/ilsweb.html). The Index consists of
forty-four multiple-choice questions, which are used to assess preferences along four
scales or dimensions (active/reflective, sensing/intuitive, visual/verbal, and
sequential/global) of a learning style model formulated by Felder and his partners.
After answering each question, students are instructed to put "1" in the appropriate
column, either the "a" or "b" column in a table, then count the columns and write the
totals in indicated spaces. For each of the four scales or dimensions (active/ reflective,
sensing/intuitive, visual/verbal, and sequential/global), students subtract the smaller total
from the larger one, write the difference (one to eleven) and the letter ("a" or "b") for
which the total was larger on the bottom line. For example, if a student answers three "a"
and eight "b", she/he would enter "5b" in the space. If a student's score on a scale is
between 1 and 3, the student is fairly balanced on the two dimensions of that scale. A
score of 5 to 7 indicates a moderate preference for one dimension of the scale. And a
score of 9 to 11 indicates a strong preference for one dimension of the scale [3].

50
CCSC: South Central Conference

Figure 1 A Screen Capture of ILS Report

DATA COLLECTION
The undergraduate Data Mining course was offered at UHD in the Fall 2009 and
Spring 2010 semester, and at the UH in the Fall 2009 and Spring 2010 semester. 37 ILS
surveys were collected from these four course offerings at the beginning of each
semester. In the rest of this section we will present campus-by-campus survey results.
1.1 ILS Survey at UH in Spring 2009
Totally twelve students in the class filled out the Index of Learning Styles survey
(See Table 1). In the Active/Reflective dimension, eight students scored higher in the "b"
category, and only four students scored higher in the "a" category. When the two columns
are totaled, the result is "64a: 67b" which is "3b". The result shows that students are
balanced on the two dimensions with a slight skew towards the Reflective side. In the
Sensing and Intuitive dimension, an even number of the students score higher in the "b"
category and in the "a" category (six students for each). When the two columns are
totaled, the result is "59a: 72b" which equals "13b". The result shows the skew toward
the Intuitive side. As for the Visual and Verbal dimension, ten students score higher in
the "a" category and only two students score higher in the "b" category. When the two
columns are totaled, the result is "92a: 38b" which can be expressed as "54a". The result
shows the skew toward the Visual side. In regarding to the Sequential and Global
dimension, eight students score higher in the "a" category and only three students score
higher in the "b" category, with one student who shows no preference for either
dimension. When the two columns are totaled, the result is "70a: 60b" which is
equivalent to "10a". The results show the skew toward the Sequential side.

51
JCSC 26, 4 (April 2011)

Table 1 ILS Report of the UH students who took the Class in Spring 2009

The ILS survey results indicate that this group of students is slightly reflective,
intuitive, and sequential, yet highly visual.
3.2 ILS Survey at UHD in Fall 2009
Surveys collected during the following semesters were analyzed systematically as
with the survey of UH collected in Spring 2009. Detailed reports for the following
semesters similar as Table 1 is omitted due to space constraint. 6 students completed the
ILS survey, the results indicate that the UHD group of students is slightly active and
global, yet highly sensing and visual.
3.3 ILS Survey at UHD in Spring 2010
8 students took part in the survey in Spring 2010 at UHD, and the results indicate
that these students are highly sensing and visual, yet slightly active and sequential.
3.4 ILS Survey at UH in Spring 2010
At UH in Spring 2010 11 students took part in the ILS survey, the results indicate
that these students are highly sequential, sensing, and visual, yet slightly active.
3.5 Comparison of UH and UHD student groups
When it comes to the differences of the UH students and UHD students (see Table
2), the survey results indicate that there is no significant difference in the ACT/REF,
VIS/VRB and SEQ/GLO categories between the two campuses. The slight contrast is in
the SNS/INT category, with the UH group being slightly sensing, while the UHD group
highly sensing.

ACT/REF SNS/INT VIS/VRB SEQ/GLO


UHD SLIGHTlY ACT HIGHLY SNS HIGHLY VIS TIE
UH TIE SLIGHLTY SNS HIGHLY VIS SLIGHLTY SEQ

Table 2 Differences of the students from UHD and UH

52
CCSC: South Central Conference

CUSTOMIZING TEACHING STRATEGIES BASED ON ILS SURVEY


As explained by Felder and Soloman, "active learners tend to retain and understand
information best by doing something active with it; reflective learners prefer to think
about it quietly first." "sensing learners tend to like learning facts; intuitive learners often
prefer discovering possibilities and relationships" "visual learners remember best what
they see – pictures, diagrams, flow charts, timelines, films, and demonstrations; verbal
learners get more out of words – written and spoken explanations" "sequential learners
tend to gain understanding in linear steps, with each step following logically from the
previous one; global learners tend to learn in large jumps, absorbing materials almost
randomly without seeing connections, and then suddenly ‘getting it'" [4][2].
In the field of education, many studies have been done on matching learning styles
and teaching strategies, but few have been applied in teaching undergraduate Computer
Science classes such as data mining. ILS survey shed light to instructors on how this
particular population of students learns and processes information. Based on these results,
the data mining class instructors implemented strategies to accommodate students'
learning strengths and weaknesses and to enhance the levels of student involvement.
To reach the thirty seven students who are highly sequential, highly visual yet
slightly active and slightly sensing, instructors may provide interpretations or theories
that link the facts, or help students find the connections to the real world. To provide
more visuals for visual learners, instructors can provide graphic display of the materials,
prepare a concept map by listing key points, or simply color code lecture notes [8]. To
better help sequential learners, instructors should avoid skipping topics or steps. Instead,
instructors can relate new topics to contents students already know to strengthen their
thinking skills [2]. Researchers suggest instructors to encourage students to stop
periodically to review what they have read and think about possible applications. Doing
so will enable students to retain the material more effectively [7].
Instructors of sensing students should provide closely relevant interpretations or
theories or aid them in finding correlations to the real world. The data mining course
instructor made an effort to demonstrate how various data mining topics fit within the
course and tie into other courses, disciplines, and everyday experience. The objective is
not so much to assist students in drawing their own conclusions but to enlighten them
how to connect their experience to it.
In classes, the instructors extensively used graphics to illustrate concepts, visualize
algorithms, and communicate complex content. Students were trained to picture
information in their heads. When they tried to recall information later, they could
visualize the pictures to remember learned information. In addition, the data mining
techniques practiced in project comprise of simulation and modeling, as well as high
dimensional data visualization; both appeal to visual learners. In these ways, the
instructors balanced concrete information with conceptual information.
For learners to consider questions beforehand, both reflective and active learners
alike, the instructor arranged schedule in such a way to provide time in class for students
to reflect on the material and also invited guest speakers to encourage active student
involvement, so students can stop periodically to review what they have read and to think
of potential questions or applications. This will enable students to retain the material
more effectively. Instructor implemented guest speeches and collaboration projects for

53
JCSC 26, 4 (April 2011)

students, hoping to raise curiosity by first presenting examples of phenomena, followed


by the underlying theory for reflective learners. Specifically, an expert of oil and gas
production modeling was invited to give a presentation and technical guidance with
students. Afterwards, projects were implemented for students to practice data mining
techniques in the domain of petroleum engineering.
Sequential learners feel a strong requirement to understand each and every section
of the problem and are often unable to see the full picture and understanding the concepts
behind the facts until they have a complete understanding of all the pieces in order [2].
When teaching new material, the data mining instructors created an outline to help
sequential learners see how the information fits together and to help them perceive the
sequence. Instructors encouraged students to ask questions to fill in the blanks and
explained the connections when they found the lectures skipped around while covering
materials. PowerPoint slideshows can help organize concepts and present them in linear
order. If the slideshows were given for students to review after class, they could even
control the pace of their own learning. However, to strengthen sequential learners'
weakness in global thinking skills, instructors need relate each new topic to things
students already know [2]. Instructors of the data mining course provided detailed
instructions for students to work through concepts step by step, but also reminded them
that if they came across situations that they did not completely understand, they are
expected to fill the gap according to what they know and move on.

COURSE EVALUATION RESULTS


With the introduction of customized teaching strategies based on ILS analysis, at
UH overall course evaluation has been improved from 3.27 (Fall 2006) to 4.44 (on the
scale of 1 to 5) in Spring 2009 and 4.16 in Spring 2010. 20% of students (3 out of 15)
dropped out of the 2006 class, while none of the students dropped in Spring 2009 and
Spring 2010. The enrollment was stable with 14 students in Spring 2009 and 15 students
in Spring 2010. Table 3 shows the detailed course evaluation questions and results
relevant to our new improvements, which clearly indicates that our customized teaching
strategies significantly improved student learning experience and efficiency.

Question Fall 06 Spring 09 Spring 10


Assignments and projects were helpful. 2.83 4.37 4.22
I would recommend this course to fellow 3.00 4.25 4.33
students.
I become more competent because of this 2.83 4.25 4.33
course.
Course activities were well organized. 3.66 4.50 4.22
This course challenged me intellectually. 3.66 4.62 4.11
Table 3 Comparison of detailed course evaluation results at UH
It is the first time that an undergraduate Data Mining course was offered in Fall
2009 at UHD. Since only 5 students took the class evaluation in Fall 2009, we combined

54
CCSC: South Central Conference

the course evaluation of Fall 2009 and Spring 2010 to weed out volatility. The overall
combined evaluation score is 4.04. Table 4 shows the detailed course evaluation results
relevant to our new improvements, and questions used in UHD course evaluation are
different from UH's.

Question Score
The course was presented in a clear and logical manner. 4.20

Information technology is employed effectively to enrich the course 4.30


materials.
Is the course interesting and exciting? 4.13
How difficult did you find this course? 3.88
Table 4 Comparison of detailed course evaluation results at UHD

CONCLUSION
In the rapidly evolving field of computer science, how to efficiently introduce
advanced and up-to-date topics into undergraduate Computer Science curriculum has
attracted a lot of interest recently. In this paper we discuss our experience in adopting the
Index of Learning Styles survey to analyze student learning styles. Based on analysis of
survey results we redesigned an undergraduate Data Mining course and customized our
teaching strategies. Evaluation shows that our approach significantly improved student
performance and learning efficiency.

REFERENCES
[1] ACM/IEEE-CS Joint Curriculum Task Force. Computing Curricula 2001. IEEE
Computer Society and Association for Computing Machinery, 2001.
[2] Dunser, A., Jirasko, M. 2005. Interaction of Hypertext Forms and Global versus
Sequential Learning Styles. Journal of Educational Computing Research 32(1)79
- 91.
[3] Felder, R., Soloman, B. 1993. ILS Scoring Sheet. Retrieved on August 16, 2009
at http://www4.ncsu.edu/unity/lockers/ users/f/felder/public/ILSdir/ILS.pdf
[4] Felder, R., Soloman, B. 1993. Learning Styles and Strategies. on August 16,
2009 at http://www4.ncsu.edu/ unity/lockers/ users/f/felder/public/ILSdir/ILS.pdf
[5] Howard S. and Taylor, L. 2005. The Implementation guide to student learning
supports in the classroom and schoolwide: New directions for addressing barriers
to learning. Thousand Oaks, CA: Corwin Press
[6] Jackson, C. J., Hobman, E., Jimmieson, N., Martin. R. 2008. Comparing
Different Approach and Avoidance Models of Learning and Personality in the
Prediction of Work, University and Leadership Outcomes. British Journal of
Psychology, 1-30.

55
JCSC 26, 4 (April 2011)

[7] Mather, J. A., Champagne, A. 2008. Student Learning Styles/Strategies and


Professors' Expectations: Do they match? College Quarterly, 11(2), pp. 1-8.
[8] Mayer, R. E., Bove, W., Bryman, A., Mars, R., Tapangco, L. 1996. When less is
more: Meaningful learning from visual and verbal summaries of science
textbook lessons. Journal of Educational Psychology, 88, 64-73.

56
A COURSE IN ADVANCED OPERATING SYSTEMS USING

MPI FOR PROJECTS*

Michael Scherger, Ph.D., Department of Computing Sciences, Texas A&M University


- Corpus Christi, Corpus Christi, TX, 78412, michael.scherger@tamucc.edu

ABSTRACT
This paper describes the development of a course in advanced operating
systems that uses C/C++ and the Message Passing Interface (MPI) for
programming projects. While MPI has been well accepted as a programming
library for parallel and high performance computing, its acceptance in
advanced operating systems courses is varied. By providing exposure to an
accepted standard message passing library such as MPI, students can engage
in other courses or commercial applications where data communication is
required. The structure of a course advanced operating systems and a list
learning outcomes are presented. The basics of MPI are also discussed.
Project ideas in advanced operating systems utilizing MPI are also presented.

INTRODUCTION
Instructors of courses in advanced operating systems often discuss the use and
development of distributed system software in the context of a vendor's proprietary
software, or software being developed by a research group, or simply left the problems
of using and developing distributed system software as "exercises" for the students.
Furthermore, existing operating system software simulators do not address the nature of
distributed system software. As a consequence, whatever software tools a student uses
and methods a student has learned for distributed system software would very likely, be
useless or unavailable when the student went on to additional courses or went to work in
distributed software development. Furthermore, as the hardware environment for courses
changed, it is also likely that the previously used software may not run on the new
system. This is an unfortunate state of affairs exacerbated by the already extremely
difficult problems and topics in advanced operating systems and distributed computing.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

57
JCSC 26, 4 (April 2011)

With the advent of carefully designed and managed standards for programming
parallel systems, C/C++ and MPI provide instructors as educators of parallel computing,
distributed systems, and advanced operating systems the opportunity to develop
algorithms in a uniform manner [1, 4, 5, 11]. It also provides educators a means to teach
the development of portable software development and to use communication libraries
in computer science courses.
At Texas A&M University - Corpus Christi (TAMUCC) the Message Passing
Interface (MPI) is used in a course in advanced operating systems. This article first
introduces the nature and curricula of a course in advanced operating systems and then
will present the basics of MPI. Next this article will discuss why MPI was chosen with
respect to other software technologies available. Finally this article will briefly present
some project ideas using MPI in a course in advanced operating systems.

A COURSE IN ADVANCED OPERATING SYSTEMS


The advanced operating systems course at TAMUCC assumes that the graduate
student has (successfully) completed an undergraduate course in operating systems and
is familiar with C/C++ programming. Topics in the advanced operating systems course
include distributed system architectures, inter-process communication, distributed mutual
exclusion, distributed synchronization and deadlock, agreement protocols, distributed
scheduling and process management, distributed shared memory, distributed file systems,
multiprocessor system architectures and operating systems, recovery and fault tolerance
[1, 4, 5, 11].
This course has the following learning objectives:
1. Define what a distributed computing system is and analyze various distributed
computing system models.
2. Comprehend and evaluate the basic fundamentals and design issues of distributed
operating systems
3. Recognize and evaluate various types of computer networks, communication
protocols, and internetworking technologies
4. Comprehend various methods and design issues for inter-process communication
using message passing and remote procedure calls in a distributed system
5. Explain the design and implementation issues for distributed shared memory,
consistency models, replacement strategies, and thrashing
6. Explain and analyze distributed operating system principles of clock
synchronization (physical, logical, and vector), event ordering
7. Explain and analyze various algorithms for distributed mutual exclusion
8. Explain and analyze various algorithms for distributed deadlock
9. Comprehend distributed system design issues for database systems and atomic
transactions
10. Explain and analyze concurrency control, scheduling, process migration, and load
distribution in distributed operating systems
11. Research specialized design issues in real-time operating systems, clusters, high
availability systems, and disaster recovery methods

58
CCSC: South Central Conference

MPI BASICS
In the MPI programming model, a computation comprises one or more processes
that communicate by calling library routines to send and receive messages to other
processes. In most MPI implementations, a fixed set of processes is created at program
initialization, and one process is created per processor [3]. However, these processes may
execute different programs. Hence, the MPI programming model is sometimes referred
to as multiple program multiple data (MPMD) to distinguish it from the SPMD model
in which every processor executes the same program [3, 4, 5].
Because the number of processes in an MPI computation is normally fixed, is on the
mechanisms used to communicate data between processes. Processes can use
point-to-point communication operations to send a message from one named process to
another; these operations can be used to implement local and unstructured
communications [4]. A group of processes can call collective communication operations
to perform commonly used global operations such as summation and broadcast [3].
MPI's ability to probe for messages supports asynchronous communication. Probably
MPI's most important feature from a software engineering viewpoint is its support for
modular programming. A mechanism called a communicator allows the MPI
programmer to define modules that encapsulate internal communication structures.
Although MPI is a large and sometimes complex library, a wide range of distributed
algorithms can be implemented using just six of its functions. They are as follows [4]:
• MPI_Init( argc, argv );
• MPI_Finalize();
• MPI_Comm_size( comm, size );
• MPI_Comm_rank( comm, rank );
• MPI_Send( buf, count, datatype, dest, tag, comm );
• MPI_Recv( buf, count, datatype, source, tag, comm, status );

All but the first two calls take a communicator handle as an argument. A
communicator identifies the process group and context with respect to which the
operation is to be performed. Communicators provide a mechanism for identifying
process subsets during development of modular programs and for ensuring that messages
intended for different purposes are not confused. For now, it suffices to provide the
default value MPI_COMM_WORLD, which identifies all processes involved in a
computation. Other arguments have type integer, data type handle, or status.
The functions MPI_Init and MPI_Finalize are used to initiate and shut down an MPI
computation, respectively. MPI_Init must be called before any other MPI function and
must be called exactly once per process. No further MPI functions can be called after
MPI_Finalize. The functions MPI_Comm_size and MPI_Comm_rank determine the
number of processes in the current computation and the integer identifier assigned to the
current process, respectively. Finally, the functions MPI_Send and MPI_Recv are used
to send and receive messages respectively. A call to MPI_Send specifies that a message
containing count elements of the specified datatype starting at address buf is to be sent
to the process with identifier dest. A call to MPI_Recv attempts to receive a message that
has an envelope corresponding to the specified tag, source, and comm, blocking until
such a message is available [3, 4]. When the message arrives, elements of the specified
data type are placed into the buffer at address buf. This buffer oris guaranteed to be large

59
JCSC 26, 4 (April 2011)

enough to contain at least count elements. The status variable can be used subsequently
to inquire about the size, tag, and source of the received message [3, 4].

WHY MPI
There are currently two standards for programming distributed systems that were
developed in open forums: Distributed Computing Environment (DCE) and MPI. DCE
relies on advanced compiler technology to expedite the development of client server
programs [1, 5, 9]. Thus, although it is based on C, DCE requires the construction of new
compilers. As a consequence each implementation of DCE is, to a great extent, hardware
specific, and until recently there were very few complete DCE implementations.
Furthermore most of the current implementations are proprietary and quite expensive.
On the other hand, MPI, as noted earlier, specifies a library of extensions to C and
FORTRAN that can be used to write message passing programs. So an implementation
of MPI can make use of existing compilers, and it is possible to develop more-or-less
portable MPI libraries. Thus, unlike DCE, it is relatively easy to find an MPI library that
will run on existing hardware. Indeed, there are several implementations of MPI that run
on networks of UNIX / Linux workstations and Windows PC's. Further, many of these
implementations can be freely downloaded from the internet.
Ideally, an advanced operating systems course would introduce students to both
DCE and MPI. However, it is a truism that learning to program parallel systems can be
extremely difficult, and that attempting to learn two essentially different methodologies
in one semester or one quarter will, especially for the weaker students, make it virtually
impossible to learn either. Thus in view of the difficulties involved in obtaining a DCE
compiler and the generality of MPI, the instructor of this course has chosen to use MPI.

USING MPI IN ADVANCED OPERATING SYSTEMS


This section describes various programming projects implemented in MPI used in
a course in advanced operating systems. In some cases the descriptions of the
programming project is straightforward and without further explanation. Other examples
detail distributed algorithms. Further explanation of these projects can be found at this
URL (omitted for review).

MPI Warm Up
The first programming project is typically an MPI "warm up" project designed to
introduce the students to C/C++ programming with MPI. For the first project, students
have to write three separate programs. The first program demonstrates basic message
communication using MPI_Send and MPI_Recv.
The second program involves a set of processes organized into a logical ring. The
program then prompts the user to send a message around to each process in the ring
stopping when the message arrives back at the root process.
The third program was a simulation of the game "Rock-Paper-Scissors". Students
have to design a distributed system for playing this game. One process is designated as

60
CCSC: South Central Conference

the simulation manager. Another process acts as a referee and scores the game. Two
additional processes act as players in the game. The referee sends a message to each of
the player processes to select one of rock, paper, or scissors at random. The players each
send their respective selection back to the referee. The referee will then determine the
winner. Play continues for predetermined number of games.

MPI Logical and Vector Clocks


For this assignment, students are to implement Lamport's logical clocks using MPI
[6]. This is achieved by implementing a set of primitives to maintain the state of logical
clocks distributed across the processes. To verify that the logical clocks simulation works
correctly, their program is to read in a set of simulation parameters and then print the
logical clocks associated with each event. A single manager manager process and a set
of worker processes are implemented for this process. The manager process will manage
the simulation while the worker processes will exchange messages and implement the
logical clocks. Upon successful completion of the Lamport logical clock simulation,
students can then implement vector clocks for additional credit or bonus points.

MPI Leader Election


For this assignment, you are to implement the leader election algorithms described
below and compare their performance. The comparison criterion will be the number of
messages sent needed to elect a leader. It is recommended that a single manager process
and a set of worker processes be implemented. The manager process will manage the
simulation, and the worker processes will exchange messages and determine an elected
process.

Le Lann-Chang-Roberts Leader Election Algorithm


This is perhaps the simplest of all distributed algorithms. However, it has poor
message complexity. It sends around n2 messages in the worst case. The idea of this
algorithm is that each process starts by passing its own identifier to its neighbor.
Whenever a process receives an identifier from its neighbor, it either:
1. Passes it on around the ring, if the id received is greater than its own,
2. Discards it, if the id received is less than its own, or
3. Declares itself the leader, if the id received matches its own. (Sends "elected"
messages)
Notice that the process with the greatest identifier is elected.

Peterson Leader Election Algorithm


This algorithm for leader election in a ring is more complex, but its worst case
message complexity is much better. Students are asked to determine the message
complexity of this algorithm. (Hint: notice that at least half of the processes become
relays after each round of communication.) The algorithm works as follows:

61
JCSC 26, 4 (April 2011)

1. In the first phase, each process sends its identifier two steps clockwise (so each
process sees the identifiers of its neighbor and its next-to-last neighbor).
2. Each process P makes a decision based on its own identifier and the identifiers it has
received. If P's immediate neighbor's identifier is the greatest of the three, then P
remains "active" in the algorithm and adopts its neighbor's identifier as its own.
Otherwise, P becomes a "relay".
3. Now, each active process sends its identifier to its next two active neighbors,
clockwise around the ring. Relay processes simply pass along each message they
receive.
4. Steps 2 and 3 continue repeatedly, with more and more processes dropping out as
"relays" until a process finds that its own immediate neighbor is itself, in which case
everyone else has dropped out and it declares itself the leader. (Sends "elected"
messages)

MPI Byzantine Generals Simulation


The Byzantine agreement problem was first defined and solved (under processor
failures) by Lamport in [7]. In this problem, an arbitrarily chosen processor, called the
source processor, broadcasts an initial value to all other processors. A protocol for
Byzantine agreement should guarantee that all non-faulty processors agree on the same
value. If the source processor is non-faulty, then the common agreed upon value by all
non-faulty processors should be the initial value of the source. Students create a
Byzantine generals simulation program that implements the Lamport, Shostak, Pease
algorithm for oral, non-authenticated messages.

CONCLUSIONS
The most important conclusion reached is that it is definitely possible to design a
useful, practical, one-semester course in advanced operating systems that utilizes MPI.
The key is to provide only enough material on MPI to the students, to focus on the
distributed algorithms discussed in the course.
A second, more general, conclusion is that there is a wealth of free materials and
libraries available on the web. Although most computer science instructors are familiar
with the benefits of placing material on the web, they may not be familiar with the
benefits using web searches for materials to improve their courses or their own skills as
educators.
Finally, a minor but surprising conclusion was that a distributed system does not
need the latest and greatest or fastest servers and workstations. Often obsolete machines
or "recycled" laptops are adequate for distributed system simulations.

REFERENCES
[1] Coulouris, G., Dollimore, J., Kindberg, T., Distributed Systems: Concepts and
Design, 4th ed., Harlow, England, Pearson Education Limited, 2005.

62
CCSC: South Central Conference

[2] Fidge, C., Logical Time in Distributed Computing Systems, Computer, 28-33,
August, 1991.
[3] Foster, I., Designing and Building Parallel Programs, Reading, MA, Addison
Wesley, 1995.
[4] Ghosh, Sukumar, Distributed Systems: An Algorithmic Approach, Boca Raton,
FL, Chapman & Hall, 2007.
[5] Grama, A., Gupta A., Karypis, G., Kumar, V., Introduction to Parallel
Computing, 2nd ed., Harlow, England, Pearson Education Limited, 2003.
[6] Lamport, L., Time, Clocks, and the Ordering of Events in a Distributed System,
Communications of the ACM, 21, (7), 558-565, 1978.
[7] Lamport, L., Shostak, R., Pease, M., The Byzantine Generals Problem, ACM
Transactions on Computer Systems, 20, (4), 382-401, July, 1982.
[8] Lynch, N., A., Distributed Algorithms, San Francisco, CA, Morgan Kaufmann,
1996.
[9] Pacheco, P., Parallel Programming with MPI, San Francisco, CA, Morgan
Kaufmann, 1997.
[10] Quinn, M., J., Parallel Programming in C with MPI and OpenMP, Boston, MA,
McGraw Hill, 2004.
[11] Singhal, M., Shivaratri, N., Advanced Concepts in Operating Systems:
Distributed, Database, and Multiprocessor Operating Systems, New York, NY,
McGraw Hill, 1994.
[12] Wilkinson, B., Allen, M., Parallel Programming: Techniques and Applications
Using Networked Workstations and Parallel Computers, 2nd ed., Upper Saddle
River, NJ, Pearson, 2005.

63
SELF-SUPPORT COMPUTER SCIENCE LAB*

Jenq-Foung "JF" Yao, PhD James Carlisle, MS


Computer Science Computer Science
Georgia College & State University Georgia College & State University
478 445-5483 478- 445-8137
jf.yao@gcsu.edu james.carlisle@gcsu.edu

ABSTRACT
This paper shares our experience in setting up and maintaining a self-support
computer Science lab. It discusses the funding resource first. The introduction
of how to utilize a cloning mechanism to deploy multiple computers is next.
How different computer science classes utilize the lab is then described.
Related works are discussed subsequently. The experience outcome is thus
shared. The paper concludes with pros and cons of the self-support lab.

INTRODUCTION
This paper shares an experience of setting up a self-support computer science lab
in details along with all of the benefits and pitfalls. Our experience may help readers to
set up their own self-support computer science lab.
A computer science lab typically needs a full-time system administrator (sysadmin)
to maintain the lab. Regrettably, many small programs that only offer undergraduate CS
degree, such as ours, cannot afford to hire a full-time sysadmin. They often results in
using undergraduate students, who are not as reliable as graduate students, to maintain
the lab. This paper provides one version of the solution in supporting a computer science
lab by itself without professional or student help.

METHODOLOGY
The first step of setting up a computer lab is to obtain the needed computer
equipment. In our university system, an institution is allowed to collect student
technology fees for technology equipment. Our institution requires all enrolled students

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

64
CCSC: South Central Conference

to pay the student technology fee every semester. Any department that needs computer
equipment must then submit a computer equipment request to a committee consisting of
students, faculty members, and computing staff for approval. We submitted a proposal
requesting the purchase of fifteen PCs, two iMacs, a network router, and a data projector
using the student technology fee; and we were granted such with five years' rotation for
replacement. In addition, we also obtained two new PCs from our year-end money and
three surplus PCs from the university computer services. In addition, the Computer
Services of our institution has graciously granted our request to put in enough network
data jacks in the lab and has been maintaining the router for us.

Set Up
Two Linux servers (Ubuntu, versions 8.04 LTS1 and 9.10) are set up on the two new
PCs from our year-end money. The Ubuntu servers are free and can be downloaded from
[11]. The installation instructions can also be found on [7]. The virtual machine,
VMware server [15], has also been installed onto the Ubuntu servers. The Windows
server 2008, in turn, is installed on one of the VMware sessions for educational
experimentation.
The systems on the client computers are set up as follows. The fifteen new PCs
come with Windows XP; we installed Ubuntu desktop 8.04 LTS on top of Windows XP
using Wubi [19]2. As a result, these PCs have dual boots from Windows XP and Ubuntu
Linux. In addition, we installed the virtual machine VMware Player [14] onto Windows
XP on these 15 PCs. The virtual machine, VirtualBox [13], has been installed on top of
Mac OS on the two iMacs; and Windows 7 (acquired via Microsoft Academic Alliance
license [6]) has been installed on one of the VirtualBox sessions of each iMac. Microsoft
Academic Alliance is a cheaper way to acquire Microsoft software for students, faculty,
and staff. We also installed Ubuntu desktop 8.04 LTS on the three surplus PCs.
Cloning
The essence of the setup is that we only need to set up one computer of each kind
and then clone the rest of the same kind of computers from the set up computer. The
cloning software we use is Clonezilla, which is free, can be downloaded from [9], and the
tutorial for which is at [3]. Cloning Ubuntu is straightforward because it is a free
operating system with an Open Source license. Windows XP, however, is more
complicated than free software because all of the cloned Windows XPs have the same
Security Identification Number (SID), which will void Microsoft's license support [12].
It will also make all of these cloned Windows more vulnerable to virus attack since all
of the computers are identical; and if one is under a virus attack, all will be subject to the
same attack. To solve this problem, we use Windows XP Deployment Tools [18] to set
up the original computer before cloning. This way, all computers will have unique SIDs
after cloning.

1
LTS stands for Long Term Support.
2
Wubi also comess with the Ubunti CD.

65
JCSC 26, 4 (April 2011)

The steps of cloning Windows XP are as follows. First, install any needed software
including the virtual machine and second OS (e.g. Linux) on a PC. Next, download
Windows XP deployment tools from [18] and copy the tools to the directory c:\sysprep,
then start c:\sysprep\sysprep.exe on the command prompt as sysprep.exe -activated
-reseal. Running on the command prompt can bypass the default setting of sysprep grace
period limit, which allows regenerating SID three times only. After finishing
sysprep.exe, reboot from the Clonezilla CD [17] in order to create a disk image to a
backup medium. These steps ensure that sysprep regenerates different SIDs for the
cloned computers after cloning and booting up Windows XP.
To clone, you need to create a system image from the original computer first by
booting up from the Clonezilla CD and then following the prompted steps [3]. You will
have several options to save the system image. We chose both the server and the external
hard drive option, with which three copies of the system image are created (one on each
of the two servers and one on the external hard drive) just in case of losing one or two of
them. Once we secure the system image, boot up from the Clonezilla CD on the new
computer, follow the prompted steps, and copy the saved system image onto the local
disk of the new PC. After these steps, reboot the systems from the Windows XP of the
newly cloned PC, and sysprep will regenerate a different SID for the cloned computer.
Note that all 15 PCs can be cloned at the same time, and it takes about 30 minutes up to
two hours to clone all of them depends on the traffic of network. The cloning steps of
Windows XP are shown in Figure 1.

Figure 1 Cloning Steps.

66
CCSC: South Central Conference

Cloning Ubuntu Linux is very similar but straightforward; omit the step of running
sysprep.exe, and instead simply create the system image from the original computer, save
it to a chosen medium, and copy the cloned system image to the new computers. We did
not clone the two iMacs due to their limited number.

Maintenance
We re-clone all of the computers at the beginning of every semester. First, the saved
system image will be downloaded to a computer using Clonezilla, and then all of the
software and passwords are updated. Next, re-image the computer and re-clone all of the
computers with the new settings by following the cloning steps stated above. From time
to time, if a computer totally messes up for whatever reason, we just re-clone the
computer.
As for managing user accounts on the servers, the author has created three shell
scripts3 on each server for creating, de-activating, and deleting user accounts. The first
script can read from a list of users' names stored in a text file and create an account for
each user; the second script can deactivate each user's account based on the user list; and
the third script can remove each user's home directory based on the same user list. When
instructors need to use a server for their classes, one can easily create user accounts for
students at the beginning of the semester and deactivate or remove the accounts after the
semester. The reason for the options of deactivating and removing accounts is the
flexibility of keeping students' data for a longer period without students having access
right after the semester or even their graduations.

RESULTS
Our faculty members are using the computer science lab in lectures and lab activities
for various classes, such as Operating Systems, Linux Programming, Web Programming,
Digital Design, Architecture, and Data Structures. In Operating System class, students
learn to install, maintain, and code on various industrial or educational operating systems,
e.g. Windows XP, Windows 7, Ubuntu Linux, and Minix [10], onto virtual machines such
as VMware or VirtualBox. The professor does not need to worry about that students
sabotage the systems, because we can always remove an OS from a session of the virtual
machine and start a new one without changing anything on the underneath OS. Even if
the underneath OS is incapacitated, we can easily restore the system by re-cloning the
computer. In Linux Programming class, students may either install their own Linux OS
on the virtual machine or use the one that has already been installed. A student will have
full control as a system administrator on either approach. As a result, students are able
to experiment fully, explore the Linux system as much as they wish, and work on their
system programming assignments freely. In the Web Programming class, students have
accounts on one of the servers, to which homework assignments can be uploaded and
displayed on their websites. Alternatively, students can just directly code on their own
accounts on the server. The Digital Design and Architecture courses are using a
simulator on these PCs in addition to the classic hands-on computer chips and circuit lab.

3
Email the primary author to ask for the scripts, if you are interested.

67
JCSC 26, 4 (April 2011)

For classes like Data Structures, professors just lecture in the lab and enjoy the
convenience of students having hands-on learning that go along with the lecture.
Students also use the lab extensively during non-class time; a donated sofa in the lab
entices students gathering around the lab. Some students even spend a night in the lab
from time to time. They really take ownership of and thoroughly enjoy the lab. We have
also put in a combination door lock so that students can access the lab at any time.

RELATED WORKS
There are a few papers address this issue. Beloit College [2] creates multipurpose
computer lab, but the setting is dated and so do many other institutions. Louisiana State
University in Shreveport [1] sets up a classroom lab, but no cloning and virtual machines
are implemented. The University of Texas of the Permian Basin [8] uses federal grant
from the Air Force Office of Scientific Research to set up a computer science research
lab running on student power. East Carolina University [4] implements virtual machines
in their lab but no computer cloning provided. Seneca College [16] has implemented a
set of network tools to support the teaching and learning, with which faculty may limit
network access and broadcast the instructor's screen to the lab displays. Their approaches
focus on network aspects and entirely leave out computer cloning and virtual machines.
Hanover College [5] provides comparison of different cloning software and facilitates
a web-based interface, but no virtual machines are installed. Hanover College's approach
renders security risks, in which the web server has been granted superuser privilege and
thus every web user is able to perform cloning using the web interface. Once the web
server is compromised, the whole systems will be compromised. In addition, they do not
deal with the SID issue on the Windows systems at all, which pose another security risk.

CONCLUSIONS
Our computer science lab is a successful story. We enjoy our own lab with the
custom-made settings for various teaching needs of different courses. The department
has full control over the lab; as a result, it provides maximum flexibility for our needs.
Our students have been extremely happy with this lab, and have claimed ownership of it.
The only downside is that we need a faculty member to maintain this lab. To overcome
this problem, the faculty who is maintains the lab may receive a course reduction to make
up for the time involved. Because our program is rather small, the course reduction
option is not yet a reality.

REFERENCES
[1] Agarwal, K. K., Critcher, A., Foley, D., Sanati, R., & Sigle, J. (2001). Setting Up
a Classroom Lab. The Journal of Computing Science in Colleges , 281-286.
[2] Chavey, D. (1995). A Multi-Purpose Computer Lab For A Small College.
SIGUCCS '95 Proceedings (pp. 67-72). St. Louis, Missouri: ACM.

68
CCSC: South Central Conference

[3] Dedoimedo. (2010). Free Imaging software - CloneZilla & PartImage - Tutorial.
(Dedoimedo, Producer, & Dedoimedo) Retrieved Febuary 1, 2010, from
http://www.dedoimedo.com/computers/free_imaging_software.html
[4] Li, P. (2010). Selecting and Using Virtualization solutions - Our experiences
With VMware and Virtualbox. The Journal of Computing Sciences in Colleges ,
25 (3), 11-17.
[5] Meek, J. A., & Bradshaw, M. K. (2009). Web Based Computer Lab Imaging
with Grimiore. SIGUCCS'09 Proceedings (pp. 19-24). St. Louis, Missouri:
ACM.
[6] MSDNAA. (2010). Retrieved February 3, 2010, from
http://msdn.microsoft.com/en-us/academic/default.aspx
[7] Official Ubuntu Documentation. (2010). Official Ubuntu Documentation.
Retrieved February 3, 2010, from https://help.ubuntu.com/
[8] Owen, C., Hale, D., Lee, I., & Lee, H. (2006). The UTPB Computer Science
Research Lab: Running on Student Power. SIGUCCS'06 Proceeding (pp.
309-315). Edmonton, Alberta, Canada: ACM.
[9] sourceforge. (2010, January 16). Clonezilla live ISO file. (sourceforge) Retrieved
Feburary 1, 2010, from http://clonezilla.org/download/sourceforge/
[10] Tanenbaum, A. S., & Woodhull, A. (2006). Operating Systems Design and
Implementation (3rd Edition). Prentice Hall.
[11] ubuntu. (2010). ubuntu home page. (Canonical Ltd.) Retrieved January 27, 2010,
from ubuntu: http://www.ubuntu.com/
[12] Updated System Preparation tool for Windows XP. (2010). (Microsoft)
Retrieved February 2, 2009, from http://support.microsoft.com/kb/838080/en-us
[13] VirtualBox. (2010). (Oracle) Retrieved Feburary 1, 2010, from
http://www.virtualbox.org/wiki/Downloads
[14] VMware Player. (2010). (VMware Inc.) Retrieved Febuary 1, 2010, from
http://www.vmware.com/products/player/
[15] VMware Server Download. (2010). (VMware Inc) Retrieved Febuary 1, 2010,
from http://register.vmware.com/content/download.html
[16] Vozza, C., Koutsovitis, L., & Bababeigi, S. (2007). Computer Lab Solutions for
Everyday Problems. SIGUCCS'07 Proceedings (pp. 352-354). Orlando, Florida:
ACM.
[17] Wikidot. (2008, Janyary 15). Use Sysprep To Reset Sid. (Wikidot) Retrieved
January 27, 2010, from http://lupus.wikidot.com/use-sysprep-to-reset-sid
[18] WindowsXP-KB838080-SP2-DeployTools-ENU.cab. (2004, August 9).
(Microsoft Corporation) Retrieved January 27, 2010, from
http://www.microsoft.com/downloads/details.aspx?familyid=3E90DC91-AC56-4
665-949B-BEDA3080E0F6&displaylang=en

69
JCSC 26, 4 (April 2011)

[19] Wubi - Ubuntu installer for Windows . (2009). (Wubi) Retrieved February 3,
2010, from http://wubi-installer.org/

70
VIRTUALIZATION OF OUR UNIVERSITY FOR THE

RECRUITMENT AND ORIENTATION OF NEW STUDENTS*

Ghassan Alkadi, Ph.D., Theresa Beaubouef, Ph.D., Eric Patton, Savannah Brown
Southeastern Louisiana University
CS/IT Department, SLU 10847
Hammond, LA
(985) 549-2189
galkadi@selu.edu, tbeaubouef@selu.edu, Eric.Patton@selu.edu,
Savannah.Brown@selu.edu

ABSTRACT
This paper introduces an ongoing project for creating a virtual version of a real
university, and discusses the benefits of such a project for recruitment,
education, and software development involvement. A development team
consisting of undergraduate students is designing, developing, and
implementing virtual environment software to create a virtual tour that
surpasses by leaps and bounds attempts previously made by other universities
to represent some aspects of their institutions in cyberspace. In this project,
students and other participants are able to walk through the university on a
virtual tour, enter campus buildings, and visit professors. Prospective students
can tour the campus, visit campus facilities, meet faculty and administrators,
and interact with current students.

INTRODUCTION
In recent years there has been a decline in enrollment in computer science programs
nationwide. Our university, like many others, has experienced a reduction in the number
of computer science majors, especially female students. Although there are many reasons
for this situation that are unavoidable such as market factors, there are some things that
can be done in an effort to increase interest in computer science both initially, and as
students progress through their CS degree programs. The work discussed in this paper
stems from an attempt to attract the interest of prospective students to our institution and

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

71
JCSC 26, 4 (April 2011)

to our programs through the use of a virtual reality application. This game-like experience
will be fun for students and non-students alike.
Because the virtual reality system is being developed totally in house by CS majors,
these students will have the opportunity to design and develop a system that is interesting,
evolving, and challenging. They can personally see the fruits of their labors, and they will
be able to integrate knowledge of hardware, software, networks, and user-interfaces into
a real world system.
The short term goal of this project is to create a working virtual reality tour of our
campus to be used for recruiting new students and as an information source for current
and prospective students. When fully developed, the successful project will be promoted
by various university entities, such as Admissions, Student Affairs, College of Science
and Technology, or Campus Police for example.
In the long run, the project will evolve to be incorporated in other settings. There
will be a great demand for enhancements to the system by entities within the university
and also by those affiliated with our university through partnerships or collaborations.
New features will be required, and students interested in a variety of topics will be able
to find some aspect of this project on which to work. Thus, the virtualization project will
promote students' interest in research and development and provide fertile ground for the
development of class projects. The long term success of this project will be measured by
its longevity, the increase in undergraduate student research projects, and the increase in
collaboration of both faculty and students on research and on system development
projects.

THE PROJECT PLAN


Work proceeds on a weekly basis aided by weekly team meetings and team
‘modeling' sessions. In the team modeling sessions, team members take part in modeling
a pre-determined portion of the campus. Small milestones are set after a number of goals
have been met. For example, after a building has been modeled, textured, and the
appropriate objects and models have been created and added, the building is injected into
the simulation. If no immediate issues present themselves in regards to the building and
simulation, a milestone has been achieved. Small milestones may be close in proximity
and encompass smaller tasks such as acquiring textures or creating audio files, but larger
tasks can take several weeks to accomplish. For every milestone achieved the project is
backed up, and it is tested on a daily basis. Because of the incremental nature of the
project, students gain an appreciation for the proper use of source control. Various team
members exchange duties (modeling buildings, modeling objects, recording audio,
building scenes, scripting, terrain manipulation, database interaction, lighting, animation,
simulation optimization, artificial intelligence, game engine source code
modifications/additions) based on current milestones to be met, so all team members
become familiar with various programming and modeling skills.
The project managers, in this case the professors, concentrate on the plan at hand
[1], and a resource manager, the team leader, designs a schedule to assign tasks to the
other team members for achieving milestones. Since the software development market
evolves at a very fast pace and our project requirements also change at a fast rate, Agile
and Extreme project management must be used [2]; conventional software engineering

72
CCSC: South Central Conference

principles do not apply. Agile development ensures constant customer-developer


communication and produces deliverable software increments to ensure that the customer
is satisfied [3]. The Agility principles are listed on the Agile Alliance homepage [4, 5].
The fifth principle promotes building the project around motivated individuals provided
that the environment and support that they need is given to them. In our case, the
students are highly motivated and want the faculty to trust them to get the task
accomplished. Another principle that is highly recommended is the daily interaction
between the developers and the customers. Since team members spend many hours in the
lab, frequent communication is easily accomplished.
Current project tasks include the accomplishment of these milestones:
" Porting existing content into the new engine (Torque 3D)
" Completely finishing the computer science building
" Webkit integration (adding web browser support to textures in-game)
" Adding Landscape by generating terrain from GIS information
" Adding in roads/sidewalks/building shells/foliage
" Pathfinding functionality for on screen directions between classrooms/buildings
" Adding in a weather system
" Creation of a mini map showing location of things/people
" Incorporating a tutorial for how to play the game

THE SOFTWARE/HARDWARE ENVIRONMENT


The development team is using the Torque 3D game engine [6] as the
foundation for the project. Torque 3D enables rapid development through the use of its
own scripting language, TorqueScript, and in-game editors. Students have access to the
engine source code and can make modifications and additions to it as needed. Torque 3D
supports both Mac and Windows operating systems and can be deployed via web
platform on all major browsers including Firefox, Internet Explorer, Safari and Chrome.
Students are also using Blender [7], an open source 3D modeling software program, to
model the buildings, people, objects, etc. for our project.

THE VIRTUAL UNIVERSITY


The virtual university includes realistic models of teachers and allows students
to interact with them through a menu driven question system that incorporates audio
recordings of professors' responses to questions.

73
JCSC 26, 4 (April 2011)

Figure 1. Screenshot showing the meeting of a professor in the hallway


The interiors of the buildings on campus accurately represent the actual content of
the rooms and are built to scale using floor plans of the buildings. The professors are
driven by a path-following AI system where they can follow static paths or create
dynamic paths between nodes to follow. The game's environment is converted into a
navigation mesh and nodes are generated that the AI can form paths between when given

Figure 2. Screenshot depicting the interior of one of the computer labs; the actual lab
is equipped with white board and rows of computers as shown

74
CCSC: South Central Conference

a start node and an end node.


Users are able to choose among several student models for touring our virtual
campus. The campus is to scale and has realistic texturing to match the actual buildings.
A female student model outside the computer science building, the first building to be
incorporated in the tour, is shown in Figure 3.

Figure 3. Student on the virtual tour, standing in the sunshine on the grassy area
outside

DEVELOPMENT ISSUES
Students began this project using the Torque Gaming Engine Advanced as a
proof of concept. They were able to implement a complete campus building, both interior
and exterior, along with student and teacher models. There were many issues with this
original choice of game engine, but since porting into Torque 3D, many of these issues
have been resolved. There are still a few challenges that must be addressed, some of
which are discussed below.

1. Spawnpoints
Problem: Where a player spawned after entering a map was completely random, so if one
was in a hallway with multiple doors and went into a room, upon exiting the room he
wouldn't necessarily be at the same door he entered since there is a spawnpoint outside
of every room in the hallway.
Solution: To solve this, we kept a global variable of the name of the spawnpoint a player
last used and completely rewrote the function that picks the player's spawnpoint to pick
that one. If no spawnpoint is in history, then we have it default to the original spawnpoint
that a player would spawn at when the game is first entered.

75
JCSC 26, 4 (April 2011)

2. Dynamic Main Menu


Problem: We wanted to make a non-standard main menu screen that, instead of having
a picture as the background, actually put a camera into our game environment and placed
a transparent GUI on top of it that held our menu options.
Solution: We had to rewrite the initialization code that runs when first starting up the
game to load a mission file instead of loading a GUI file. We then set up a GUI file that
had a transparent background image so that the level could be seen behind it. Finally, we
set up path nodes similar to the ones we use for our AI and made the camera follow this
path to different menus setup (i.e. character selection, standard options) in the
environment so it seems as if you are flying through the level between menus.

3. Character Selection
Problem: We wanted to have a way to keep track of all of our playable characters and
have a way of selecting which one the user wanted to be represented by in our game. We
also wanted to give a visual preview of the characters before selecting them.
Solution: To implement this feature, we created an array of character model objects that
scans our player character folder. The GUI for the character select menu uses a preview
window which loads a model from the start of the array and shows what it will look like
in the game environment. One can then click a "previous" or "next" button to load the
next or previous character model in the array into the preview window. After clicking the
"accept" button, we set the name and file location of this model as our default player
model which makes this model our playable character in the game.

CONCLUSION
In this paper we introduced a virtual university, and discussed its ongoing
development, issues encountered and current status. Students continue to be very excited
about working on the project for many reasons: it's visual, it's game-like, it's very
sophisticated and challenging, and it represents real people and a real institution with
which they are proud to be associated. Work on the project continues and the virtual tour
is encompassing a larger region of the campus and including more and more virtual
professors and university students and personnel.
To date, the project has created interest among younger computer science students
and faculty members in the department. Future work involves completing the
virtualization of the university and then making the virtual tour available for all. It is our
hope that this project will inspire not only our current computer science students, but all
students who may be interested in the field of computer science but who just don't realize
it yet. Moreover, we envision it being useful information and recruiting tool for the
university, but more work needs to be completed before that goal can become a reality.

REFERENCES
[1] Aguanna, K., "Managing Agile Projects," Lakefield Ontario: Multi-Media
Publications, Inc.
[2] Blender Home Page, http://www.blender.org/

76
CCSC: South Central Conference

[3] Fowler, M., and Highsmith, J. "The Agile Manifesto," Software Development
Magazine, August 2001.
www.sdmagazine.com/documents/s=844/sdm0108a/0108a.htm.
[4] Pressman Roger, "Software Engineering, A Practitioner's Approach," Seventh
Edition. McGraw Hill, 2010.
[5] The Agile Alliance Home Page, www.agilealliance.org/home.
[6] Torque Home Page, http://www.torquepowered.com/products/torque-3d.
[7] Wysocki R., "Effective Project Management, Traditional, Agile, Extreme," Fifth
Edition, Wiley Publishing, Inc. 2009,(ISBN: 978-0-470-42367-7).

77
RADIO FREQUENCY IDENTIFICATION (RFID) PROJECTS

FOR COMPUTER SCIENCE*

Kuo-pao Yang and Theresa Beaubouef


Department of Computer Science and Industrial Technology
Southeastern Louisiana University
Hammond, LA 70402
(985) 549-5088
{kyang, tbeaubouef}@selu.edu

ABSTRACT
Radio frequency identification (RFID) has been integrated in a wide variety
of modern applications. Students in computer science can learn a great deal
about hardware and software by working on projects involving RFID. This
paper discusses these RFID projects and their benefits for student learning.

INTRODUCTION
Radio frequency identification (RFID) technology is commonplace in many settings
for commercial applications, government applications, and personal uses [14]. In
commercial and industrial applications, RFID is often used for object tracking such as
inventory control [12] [13], pallet tracking, supply chain management [3], and luggage
transportation [15]. RFID systems for governmental applications are the fastest growing
area of the RFID market, with more than five billion tags across all application areas
produced in 2010 alone [4]. For personal uses, people are increasingly carrying and using
RFID tags in a variety of day-to-day situations [6], where tags contain personal
information [10]. The United States, Australia, and several European countries have
adopted RFID as a means of electronically encoding identifying information into identity
documents such as passports [11]. RFID tags also can be incorporated into building
access cards, credit cards, and in automatic highway toll collection systems [14].
Radio frequency identification is useful practice for Computer Science majors to
extend their software knowledge into real hardware domain. Computer Science students
are traditionally short of opportunities to work with real hardware although they typically

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

78
CCSC: South Central Conference

take a series of hardware courses, where they often study these concepts only through
simulations. This paper discusses RFID projects that are part of a computer architecture
course and the benefits that experience with such projects has for student learning.

RFID TECHNOLOGY OVERVIEW


Radio Frequency Identification (RFID) is a non-contacting technology that uses
radio waves to automatically identify people or objects. A RFID system typically uses
one of the following frequency ranges: low frequency (125 KHz), high frequency (13.56
MHz), or ultra-high frequency (868 and 928 MHz), and consists of a reader and tags.
There are two major types of tag technologies, passive and active tags. The passive
tags do not contain their own power source or transmitters. They require an external
source to provoke signal transmission and are then able to send any information stored
on the tags back to the reader. The active tags have batteries to run microchip circuits and
to broadcast signals to the reader.
There are a variety of groups defining standards and regulating the use of RFID,
including: American National Standards Institute [1], International Organization for
Standardization (ISO) / International Electrotechnical Commission (IEC) [8] [9], ASTM
International [2], DASH7 Alliance [5], and EPCglobal [7]. For example, when the RFID
Card Reader is active and a valid RFID transponder tag is placed within range of the
activated reader, the unique ID is typically transmitted as a 12-byte printable ASCII string
serially to the host in the following standard format:

FIGURE 1. An Example of RFID Tag

The start byte and stop byte are used to easily identify that a correct string has been
received from the reader. They correspond to a line feed 0x0A and carriage return
characters 0x0D, respectively. The middle ten bytes are the actual unique tag ID. For
example, for a tag with a valid ID of 123456789A, the following bytes would be sent:
$0x0A, $0x31, $0x32, $0x33, $0x34, $0x35, $0x36, $0x37, $0x38, $0x39, $0x41,
$0x0D.

RFID PROJECTS
Students in a computer architecture course were required to work on projects
involving hardware/software co-design. Several students worked on projects related to
RFID technology. We next describe these projects.

Project 1: RFID Security


One project titled "RFID Security" provides an extra layer of security for a home
or office building, and is shown in Figure 2. It helps obtain identification on intruders

79
JCSC 26, 4 (April 2011)

when facial recognition by video surveillance is not possible. The list of hardware
required for this project includes:

! RFID Experimenters Kit


o RedBee RFID reader
o RFID tags,
o Resource CD, and
o USB cable
! Motion detector
o BV3000DP - DSC Pet
Immun Infrared
! U421 USB Interface card
! DC/DC Converters &
Regulators

FIGURE 2. RFID Security

Students write C++


programs for the graphical user interface and for working with the USB ports by calling
the DLL library provided by the RFID resource CD. A motion detector is connected to
a local computer via a USB cable after assembling the sensor, converter, and then the
USB interface card. Note that the motion detector cannot originally be connected to the
computer. The RFID reader is directly connected to the USB port. When triggered, the
motion sensor sends a signal to the computer; the computer then activates the RFID
reader to start searching for information. Any information gathered from the reader is
recorded and stored in the computer.

Project 2: Criminal Tracking Record Log


A RFID project titled
"Criminal Tracking Record Log
(CTRL)" is shown in Figure 3.
The purpose of this
software/hardware project is to
implement the RFID technology
for tracking criminal activity.
The benefits of this project are to
keep public places like schools
safe from future offenses. The
list of equipment used for this
project includes:
! RFID Reader
! Multiple RFID Tags
! Alert Alarm FIGURE 3. GUI Interface of Criminal Tracking Record Log
! Criminal Shocking Gadget (CTRL)

80
CCSC: South Central Conference

The RFID reader uses a 13.56 MHz ISO14443A protocol to read three types of
RFID tags (Mifare S50, Mifare S70, and Mifare ultra light). The alarm and shocker
system is made up of K8055 Experiment Interface Board, RFA-67 Shocker, and alarm.
When a tagged criminal enters a public area protected by CTRL, the alarm is sounded and
the criminal is shocked, deterring his entry into the area.
Students successfully apply software knowledge and extend this knowledge by
working with hardware. This group of students writes Visual C# to get the criminal
information from drivers of RFID readers, to store criminal records into a SQL Server
database, and to operate the alarm and shocker system by calling DLL files when specific
criminals are in violation of their parole.
The graphical user interface of this project is described below. The implemented
project includes features for editing, searching, and viewing the database. Google Earth
is also integrated into this project.
! Search ID: A criminal profile including criminal picture and its description is
displayed in the top left of the window if a Criminal ID is found in the database.
! Search Name: A criminal profile is displayed in the top left of the window if a
Criminal name is found in the database.
! Full Database: the Full Database button shows the full database.
! Google Earth Location Display: Google Earth plug-in is located at the top right of
the window. It is used to show locations where the criminals have been.

Project 3: Autolight
Another RFID project is named the "Autolight", which is a dynamic lighting control
system for minimizing the amount of power used. The motivation of this project is to
apply the RFID technology in order to save a large amount of wasted electricity in office
buildings and homes. The following hardware is required, and the Autolight is shown in
Figure 4:

! Board of Education
! Microcontroller
! RFID Reader
! RFID Tags
! Motion Sensors
! LED lights
! 9V Battery
FIGURE 4. Board of Education in the Autolight project

The board of education independently runs after programming the microcontroller


and connections. The power for all devices including the RFID reader, infrared motion
sensors, and LED lights are provided by the 9-volt battery on the board.. It programs an
automated lighting grid using motion sensors to provide the appropriate lights in an area
after authentication via a RFID card and card reader. The RFID reader validates passive

81
JCSC 26, 4 (April 2011)

RFID transponder tags in 125 KHz. Motion sensors detect the position of activity in the
room and then adjust the internal LED lights demonstrated in this prototype.
The implementation of this project is written in PBASIC, a BASIC programming
language, for this 24-pin microcontroller. The BASIC Stamp 2 microcontroller is an
EEPROM based chip. After successful compilation, the configuration of the
microcontroller can be downloaded via the DB9 connector on the board. It is connected
to the serial port of a computer for the Stamp-IC programming.

Project 4: Track Kids


This project is designed to provide emergency information on demand for children
at daycare centers. The "Track Kids" is shown in Figure 5. If something happens to
children, workers are able to rapidly access emergency data such as the names of the
children, their allergies, contact names, and phone numbers. The list of hardware required
for this project includes:

! Breadboard
! Microcontroller
! RFID reader
! RFID Tags
! LCD Screen

FIGURE 5. Breadboard Connections in Track Kids

The Track Kids system when successfully built is able to run independently without
any assistance from computers. The microcontroller (PIC 16F88) is implemented in Just
Another Language (JAL), which is a high-level language for a number of microchips. The
RFID reader (ID-20 Innovations) has internal antenna scans in 125 KHz for bracelets
containing RFID chips that are worn by the children. The emergency contact information
is displayed on the LCD screen.

CONCLUSION
In RFID projects, students study and gain experience in the usages of RFID
technologies in two various directions, software and hardware. In the software direction,
students are provided with hardware packages with device drivers. They focus on
developing graphical user interfaces to interact with RFID readers and other hardware
components. These RFID readers are usually controlled by computers through
connections of USB ports. Students implement their designs in programming languages
such as C++ and Visual C# for the graphical interface and call the Dynamic Link
Libraries (DLL) for working with hardware devices. Projects 1 and 2, RFID Security and
CTRL, are examples of this type of project.

82
CCSC: South Central Conference

In a hardware approach, students hardwire RFID readers, microcontrollers, and


other devices on the breadboard. They write code in hardware description languages such
as PBASIC and JAL for the microcontrollers in order to operate the RFID readers and
other hardware components. This approach is taken in the Autolight and Track Kids
projects.
Hands-on projects involving hardware / software co-design are important for
introducing students to real world problems, thus making them more marketable as
developers. After graduation, students need to face challenges not only in software, but
also in hardware where the working environment is not necessarily known in advance.
They will be required to work on sophisticated real-world projects; hands-on projects
such as the ones presented in this paper are useful educational experiences that help them
gain confidence in their abilities and familiarity with the working of hardware devices
and the technology necessary to program them.

REFERENCES
[1] ANSI, American National Standards Institute, ANSI NCITS 236:2001, Standard
Specification, 2002.
[2] ASTM International, Retrieved from: http://www.astm.org/, 2010.
[3] Bose, I., Pal, R., Auto-ID: Managing Anything, Anywhere, Anytime in the
Supply Chain, Communications of the ACM, 48 (9), 100-106, 2005.
[4] Das, R. and Harrop, P. RFID Forecasts, Players and Opportunities 2011-2021,
IDTechEx Inc. Report, Retrieved from: http://www.idtechex.com/, 2010.
[5] DASH7, Alliance, Retrieved from: http://www.dash7.org/, 2010.
[6] Eckfeldt, B. What does RFID do for the consumer? Communications ACM, 48
(9), 77-79, 2005.
[7] EPCglobal, Retrieved from: http://www.epcglobalinc.org/standards/, 2010.
[8] ISO, International Standards Organization, ISO/IEC FDIS 18000-7:2004(e),
Standard Specification, 2004.
[9] ISO, International Standards Organization, ISO/IEC FDIS 18185-1:2006,
Standard Specification, 2006.
[10] Marquardt, N., Taylor, A., Villar, N., Greenberg, S., Rethinking RFID:
Awareness and Control for Interaction with RFID Systems, Proceedings of the
28th International Conference on Human Factors in Computing Systems,
2307-2316, 2010.
[11] Passport, US Department of State. Electronic Passports, Retrieved from:
http://travel.state.gov/passport/, 2010.
[12] Sarma, S., Brock, D., Engels, D., Radio Frequency Identification and the
Electronic Product Code, IEEE Computer Society, Micro, 21 (6), 50 - 54, 2001.
[13] Sarma, S., Integrating RFID, ACM Queue, 2 (7), 50 - 57, 2004.

83
JCSC 26, 4 (April 2011)

[14] Want, R., RFID Explained: A Primer on Radio Frequency Identification


Technologies, Morgan & Claypool, 2006.
[15] Zhang, M., Li, W., Wang, Z., Li, B., Ran, X., A RFID-based Material Tracking
Information System, IEEE Automation and Logistics, 2922 - 2926, 2007.

84
THE USE OF FREE AND OPEN SOURCE SOFTWARE IN

REAL-WORLD CAPSTONE PROJECTS*

Kwok-Bun Yue, Zahabia Damania, Raunaq Nilekani, Krishani Abeysekera


Department of Computer Science
University of Houston-Clear Lake
2700 Bay Area Boulevard
Houston, TX 77058
yue@uhcl.edu, zahabia.damania@gmail.com, access_raunaq@hotmail.com,
Abeysekera@uhcl.edu

ABSTRACT
This paper analyzes the use of Free and Open Source Software (FOSS) in 22
real-world graduate computer science projects mentored by industrial partners
in the past 2.5 years. It serves as a case study on how FOSS is used in an
academic setting as well as by the mentoring companies. A diverse list of
FOSS was used, suggesting its ubiquity. The general recognized advantages
of FOSS drove their adoption: no licensing cost, flexibility of modification,
niche functionality, and perceived growing popularity. Our experience agrees
with the perceived advantages of FOSS in engaging students with interesting
technologies. It also agrees that the potential to communicate with software
professionals was beneficial and sometime inspiring, provided that the students
took the initiatives to do so. To provide a complete perspective, the paper also
includes a section written from the students' point of view on their experience
with FOSS in one project.

1. INTRODUCTION
As Free and Open Source Software (FOSS) becomes increasingly ubiquitous, its
role in computer science education swells accordingly. There exists a large collection of
papers discussing the experience on using FOSS in individual computer science courses
such as database, programming, software design, capstone projects and software
engineering [1,2,5,8,10]. There are courses devoted entirely to FOSS such as the course

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

85
JCSC 26, 4 (April 2011)

Adaptive and Open Software Systems described in [9], and projects aiming at
transforming CS undergraduate curriculum with FOSS culture and methodologies in
software development, quality control and project management [3]. There are even works
on using FOSS to engage CS students and draw other students to computing majors [4,6].
Some perceived advantages of using FOSS in academic settings include:
! No licensing cost and low overall cost [2,7]
! Flexibility in modification to satisfy needed requirements [7,10]
! The possibility of providing the scale and complexity of well developed and
documented industrial strength software [4,8]
! The potential of engaging students with real-world projects with real impact [4,8,9].
! The possibility of interacting with software professionals [4,10]
There are also challenges mentioned in using FOSS that include:
! The need of providing adequate support to students [1].
! Possible lack of documentation or developer's support [10].
! Lack of faculty training in FOSS [4]
! FOSS development not matching the learning outcome goals of a given course [4]
Despite the challenges, there is a general understanding that FOSS provides great
opportunities for CS education in higher education and that its rapid adoption will
continue [2,4,7,8,10]. The continual publications of results and experience on course
designs, best practices and pedagogical considerations of FOSS adoption in CS courses
will help facilitating the process. The goal of this paper is to elaborate the experience of
the use of FOSS in graduate real-world CS capstone projects. It analyzes the use of FOSS
in 22 real-world projects mentored by industrial partners in the past 2.5 years. The paper
draws lessons learnt from this analysis to provide a case study on the adoption of FOSS
by both the capstone project courses and the mentoring companies. Furthermore, a
section written by the student authors of the paper provides insight of using FOSS from
the students' points of view.
The paper is organized in the following manner. Section 2 provides a brief
background of the capstone project course. Section 3 discusses the results of analyzing
the use of FOSS in 22 real-world projects. Section 4 elaborates how FOSS was used in
one selected project and what lessons were learnt by the students. Section 5 contains our
future direction and conclusions.

2. THE UHCL GRADUATE CAPSTONE PROJECT COURSE


Graduate students of CS and Computer Information Systems (CIS) majors at the
University of Houston-Clear Lake (UHCL) must take a capstone project course during
their last twelve hours of study. They work as a team of usually four members on
real-world projects. There were a few internal projects, but in recent years, nearly all of
them were real-world projects mentored by surrounding companies. Students need to
satisfy two sets of requirements. The course requirements are specified and assessed by
the instructor and include such tasks as project's website maintenance, technical
presentations, a technical report, minutes and agendas of meetings, and course-related
documentation. The project requirements are specified by the mentors to satisfy the

86
CCSC: South Central Conference

requirements of the companies. Typical projects are either extension of existing software
products or development of prototypes for feasibility study and demonstrations.
Before the beginning of each semester, the industrial mentors develop initial sets of
requirement specifications for projects. They are then posted and presented for teams to
choose. Projects may mandate the use of specific software. They may also only suggest
certain software and allow students to select their own choices. Sometimes, the research
on identifying suitable software can be an important component of the project
specifications. Thus, teams have varying degree of freedom in selecting software, just like
in the real world. Mentors may also require specific software processes and development
methodologies that the teams must observe.
We have taught the course in the current format for more than 10 years and
accumulated the experience of about 100 real-world projects with industrial mentorship.
Based on this experience, the next section discusses an analysis of 22 recent projects as
a case study of how FOSS was used in the course as well as by the mentoring companies.

3. FOSS USE IN THE CAPSTONE PROJECT COURSE


A total of 22 real-world projects in five regular semesters from Fall 2008 to Fall
2010 was analyzed. Fourteen industrial partners from seven companies mentored these
projects. The backgrounds of three mentors are not in computer science. One of them is
the CEO of a small business company and the other two are managers. The remaining
eleven mentors are software professionals, including 3 CTOs and 1 CEO. The projects
covered a wide range of applications including software process management, workflow
engine, bio-medical imaging, enterprise communications, solar power plant, check
processing, chemical plant control prototyping, disaster recovery, mobile applications,
etc.
In our analysis, we did not count ubiquitous general purpose FOSS such as Linux,
Apache, sendmail, etc. We also did not count general productivity software such as
Firefox, Open Office, open source text editors, and other small utilities. Furthermore,
students might not fully report how they used FOSS to support minor tasks. Thus, the
results somewhat undercounted the use of FOSS in these projects.
Out of these 22 projects, 15 (68.2%) of them use FOSS significantly. Four of these
projects (18.2%) used FOSS as their centerpiece technologies: Drupal, Android, JForum,
eHour and ANTLR (see Table 1 for brief explanation of their purposes.) Three of them
(Drupal, Android and eHour) were mandated by the mentors. The other two were selected
after team research. The seven capstone projects that did not use FOSS significantly were
based on five industrial projects (one project continued for three semesters):
1. A standalone application that used only Microsoft's .NET technology
2. An iPhone's OpenGL application
3. A Graphical Processing Unit application with nVidia's CUDA architecture and C
programming
4. A Java-based Web application driven by Microsoft's SQL Server
5. A more research-oriented project on a Web-based no-wait job scheduling problem

87
JCSC 26, 4 (April 2011)

Table 1 lists the FOSS used and their frequencies of use in the 15 capstone projects,
with brief description of the purposes of the FOSS.
Table 1 Use of FOSS in Capstone Projects

FOSS # of teams Description


used
MySQL 9 Database Management System
JBoss/Tomcat 7 J2EE Application Server
BlazeDS 5 Java remoting and web messaging technology for
Flex
Googlewave 5 Real-time collaboration and communication tool
Eclipse 4 Java IDE
Hibernate 3 Object-relational mapping for Java
Cocoa AMF 2 Objective-C's implementation of the Adobe Flash's
remoting format (AMF0/AMF3) for servers and
clients
Google Map 2 API for manipulating Google Map
API
Liferay 2 Java based open source Web portal platform
VisualText 2 Integrated IDE for text analysis; free for
non-commercial use
Android 1 Mobile application OS and development platform
ANTLR 1 ANother Tool for Language Recognition: for
constructing compilers and translators
AntTweakBar 1 C/C++ library for light and intuitive GUI for
OpenGL and DirectX
Apache 1 Java's XML RPC Server API
XMLRPC
Drupal 1 PHP based Content Management System
eHour 1 Web-based timesheet management tool
JForum 1 Java based discussion board
NUnit Testing 1 A JUnit type testing tool for .NET languages such as
C#

88
CCSC: South Central Conference

PHP 1 General purpose scripting language especially for


Web applications
VTK 1 Multiple language system for 3D computer graphics,
image processing and visualization
ZXing 1 Zebra Crossing: Java's Library for parsing 1-D and
2-D barcodes

Among them, VisualText is free only for non-commercial use and is not open
source. Google Map API is free but not open source. The remainders are all open source
with varying types of licenses. A total of 21 different FOSS with diverse purposes was
used. There were projects where FOSS was keys, but FOSS could also turn up in
unexpected ways. For example, an iPhone application used four FOSS in significant
ways, and in a pure Microsoft's .NET based project, the team selected NUnit as the
testing tool. In projects where technology requirement was not mandatory, FOSS may
just be selected as the best option after team research. However, there were also projects
where commercial products were eventually selected instead of FOSS alternatives.
Overall, the use of FOSS in the capstone projects seems to pick up recently. For example,
9 out of 10 projects in 2010 used an average of 3.5 FOSS significantly. This is quite
higher than earlier projects in the analysis.
As expected, workhorses like MySQL, JBoss/Tomcat and Eclipse were frequently
used. Five teams used Googlewave in three semesters. Its adoption was helped by the
instructor's encouragement as a communications tool in one semester. Student feedback
on Googlewave was very positive. Unfortunately, Google announced the discontinuation
of supporting the service. The popular use of BlazeDS, a Java remoting and web
messaging technology for the Adobe's Flex, is an indicator of mentoring company's
interests in Rich Internet Applications (RIA) using Flex/Flash.
The mentoring companies indicated various reasons for them to use FOSS in their
mentored projects. Chief among them are the generally agreed advantages of FOSS in
low cost and ease of modifications. For example, ZXing was used as an alternative of an
expensive commercial product for 2-D barcode parsing in a prototype/feasibility study
project even though its performance was inferior in the required barcode format. JForum
was used in another Web portal project as the team could modify its code to satisfy
specific needs. FOSS may also be used since they were the best available solutions in the
niche area of applications. BlazeDS, ANTLR and ZXing are examples of this kind of
niche functionality for some projects. Finally, the mentoring companies may also adopt
FOSS as they perceive a coming trend of customer demands. The projects that used
Drupal and Android fall into this category.
Our experience agrees with the perceived advantages of FOSS in academic settings
listed in Section 1. However, only two teams selected to correspond with the development
communities and both reported very positive experience in communications with
software professionals, a perceived FOSS advantage. They found the FOSS communities
to be very responsive in general. Thus, CS educators may consider encouraging students
to actively participate in the FOSS community early and often.

89
JCSC 26, 4 (April 2011)

For the perceived challenges of FOSS, we did not detect consistent difference
between the learning curves of mastering FOSS and commercial technologies.
Documentation and support were not an issue for mature FOSS with large communities.
However, they can be issues for smaller and less active FOSS projects and they can delay
the progress of the capstone projects. Instructors may advise students to take this into
their consideration in adopting technologies and to communicate their questions and
needs to the FOSS communities as soon as possible.

4. STUDENT EXPERIENCE ON FOSS USAGE IN A CAPSTONE PROJECT


This section is based on the experience of the two student authors of the paper to
provide a different lens for understanding FOSS in capstone project. The remaining of
this section is written from their first person's viewpoints.
Our team of four students worked on a project jointly mentored by a technology
company and a small business. The small business had developed a check, driver license
and identity card processing software suite. The software used a commercial product to
parse a 1-D or 2-D barcode image into a textual string of stored information. In particular,
the 2-D barcode images use a format known as PDF-417. The software used a
commercial closed source product to parse PDF-417. However, its license cost is high
and as a closed source API, customization is not flexible. The mentors wanted to study
and build a prototype based on lower cost alternatives. Thus, a major task of the project
was to research and build a prototype as a feasibility study. There were also other
important tasks, such as decoding the parsed information into useful details using
standards by AAMVA (American Association of Motor Vehicle Administrator),
implementing a Rich Internet Application (RIA) Web interface using Adobe Flex/Flash,
and the generation of PDF-417 2-D barcodes through a Web application.
In the first half of the semester, with the input from the mentors, our team developed
a metric for selecting the PDF-417 parsing products. We then identified three commercial
products and a FOSS: Zebra Crossing (ZXing). Our teams conducted testing on the four
products and concluded that the three commercial products were significantly better than
ZXing in parsing PDF-417 barcodes. However, their license cost structures are
comparable to the current product. As closed source API themselves, they do not
represent any substantial improvement. ZXing became the only option to the mentors and
the metric was abandoned.
While working on other required tasks of the project concurrently, our team then
spent much effort in improving the parsing success rate of ZXing using various methods
with limited successes,. We started to contact the ZXing development community at the
two third point of the semester. The responses were very quick and professional. They
were aware of the problems in parsing PDF-417, which was only in alpha version. ZXing
supported many decoding standards and fixing the quality of PDF-417 was not among the
highest priority within ZXing's active community at the moment. A fix from the
development community was not expected to be available soon enough. As time was
running out, our team could only implement some peripheral techniques in improving
parsing accuracy such as cleaning the input images. The accuracy was less than desirable
but the mentors understood the obstacles.

90
CCSC: South Central Conference

Overall, our experience with FOSS was very positive. The selection process helped
us to understand how FOSS may be advantageous but also may be restrictive. In our case,
this restriction included accuracy of the parsing result as well as that the language is Java,
whereas the existing software used .NET technology and our prototype used Flex/Flash.
Additional effort was spent to bridge this incompatibility.
Communications with the ZXing's development team was a great learning
opportunity and allowed us to appreciate FOSS culture and software developer's
professionalism. In hindsight, we wish that we had communicated with the community
much earlier. That would not only have helped us in focusing our remedial actions on the
accuracy problem. With only 47 total Java classes and 7 classes on PDF-417 parsing,
ZXing is of the right size and complexity for students to make contributions and the
community was inviting. Future teams working on the continuation project should
consider this option of contributing to the ZXing project.
Our team did participate in FOSS in another way. To generate PDF-417 barcodes,
a much easier task than parsing them, we identified an open source Java's implementation
and ported it to Adobe's Flash using ActionScript so it can be used in our prototype. In
accordance with open source culture, we are in the process of hosting it in the popular
open source site Sourceforge.net.

5. FUTURE DIRECTION AND CONCLUSIONS


We presented a case study on the use of FOSS in industrially mentored real-world
capstone projects. The rapid adoption of FOSS is expected to continue in both academic
and commercial worlds. FOSS provides an opportunity for CS educators to better prepare
their students for their future careers. Its culture matches the academic setting very well.
We will continue to experiment with FOSS actively and refine best practices in adopting
FOSS. Our team is also working on a meta-analysis in providing a holistic view for the
many literatures that are now available in the use of FOSS in computer science and
information systems.

REFERENCES
[1] Carrington, D. & Kim, S., Teaching software design with open source software.
33rd ASEE/IEEE Annual Conference on Frontiers in Education, 5-8, November
2003.
[2] Corbesero, G., Rapid and inexpensive lab deployment using open source
software. Journal of Computing Sciences in Colleges. 22, (2), 228-234,
December 2006.
[3] Dionisio J., Dickson, C., August, S., Dorin, P. & Toal, R., An open source
software culture in the undergraduate computer science curriculum. SIGCSE
Bulletin, 39, (2), 70-74, June 2007.
[4] Hislop, G., Ellis, H., Tucker, A. & Dexter, S., Using open source software to
engage students in computer science education. Proceedings of the 40th ACM
technical symposium on Computer science education (SIGCSE '09), 134-135.

91
JCSC 26, 4 (April 2011)

[5] Liu. P., Using open-source robocode as a Java programming assignment.


SIGCSE Bulletin, 40, (4), 63-67, November 2008.
[6] Morelli, R., Tucker, A., Danner, N., De Lanerolle, T., Ellis, H., Izmirli, O.,
Krizanc, O. & Parker, G., Revitalizing computing education through free and
open source software for humanity. Communications of the ACM, 52, (8), 67-75,
August 2009.
[7] O'Hara, K. & Kay, J. 2003. Open source software and computer science
education. Journal of Computing Sciences in Colleges, 18, (3), 1-7, February
2003.
[8] Raj, R. & Kazemian, F., Using Open Source Software in Computer Science
Courses, 36th ASEE/IEEE Annual Conference on Frontiers in Education
Conference, 21-26, October 2006.
[9] Seiter, L., Computer Science and service learning: Empowering nonprofit
organizations through open source content management systems, Humanitarian
FOSS Project Symposium, 2009.
[10] Yue, K., De Silva, D., Kim, D., Aktepe, M., Nagle, S., Boerger, C., Jain, A. &
Verma, S., Building Real World Domain-Specific Social Network Websites as
Capstone Projects, Journal of Information Systems Education, 20, (1), 67-76,
Spring 2009.

92
MOBILE GAME DEVELOPMENT PROJECTS FOR

INTRODUCTORY CS COURSES*

TUTORIAL PRESENTATION

Delvin Defoe (contact person)


Rose-Hulman Institute of Technology
5500 Wabash Avenue, Terre Haute, IN 47803, USA
Tel: 1-812-877-8815
Fax: 1-812-872-6060
defoe@rose-hulman.edu

Stan Kurkovsky Emily Graetz


Central Connecticut State University Rose-Hulman Institute of Technology
Tel: 1-860-832-2720 Tel: 1-812-872-6165
kurkovskysta@ccsu.edu graetzer@rose-hulman.edu

Game development and mobile computing have been successfully used to increase
student motivation. However, instructors with no background in mobile computing,
computer graphics, and/or game development may find it difficult to develop or adopt
course materials on these topics. This workshop is designed to address these concerns.
Using Java Micro Edition, we have developed several project-based course modules
focused on mobile game development and designed to study fundamental programming
principles (e.g. loops) while also exposing students to more advanced concepts (e.g.
databases). Using a mobile phone emulator, participants will test-drive one of our
modules and develop a simple game, which can then be transferred to and played on a
mobile device. A Windows or Mac laptop is recommended.
Intended audience: This workshop is intended for faculty members teaching
college-level and high school Java-based courses in CS who are looking to improve
student motivation. All other faculty members interested in integrating game
development as a motivational tool in their courses will also benefit from this workshop.
Length of time required:
1. Mobile games as a motivational and engagement tool (20 min)
2. Overview of the course modules (30 min)
3. Test-driving a module (80 min)
4. Wrap-up (20 min)

___________________________________________
*
Copyright is held by the author/owner.

93
JCSC 26, 5 (May 2011)

Audio/Visual and Computer Requirements: Ideally, this will be a hands-on workshop


in a computer laboratory setting where every participant could follow and experiment
with the presented software. The workshop can also be presented as long as the computer
running Windows with a projector and an Internet connection is available to the
presenter. Wireless access will be a plus since participants will be encouraged to bring
their laptops. Laptops are recommended.
Space and Enrollment Restrictions: There are no special requirements for the
configuration of the room.

94
CLASSIFICATION OF RIDE-SHARING PARTNERS BASED ON

MULTIPLE CONSTRAINTS*

Troy Kammerdiener and Hong Zhang


Southeastern Louisiana University

ABSTRACT
This paper describes the formulation of algorithms for measuring the closeness
of a match between pairs of potential partners in an online ride-sharing or
carpooling system. These algorithms compare realistic routes used by the
participants, as well as their schedules. The paper goes on to integrate these
measures together with other filtering constraints based on user preferences
such as type of carpooling partner, creating a single overall measure that can
be used to rank potential matches to a given user of the system.

INTRODUCTION
Our university has had a simple carpooling database in place for several years. It
is essentially a bulletin board allowing interested students, faculty, and staff to post a
notice that they are looking for a carpooling partner, and showing some basic profile data
such as their city of origin, smoking preference, a simple schedule, and general
comments. A simple search function will filter out notices by exact match on originating
city, destination campus, scheduled days, smoking preference and user type. If the
current system is used by a large number of people, a search for carpool partners will
result in a long, unstructured list of comments from people residing in the same city and
with a roughly similar school schedule.
The goal of this research is to improve this system by classifying members of the
ride-sharing system based upon their similarity to a desired user's route and schedule, as
well as other preferences. Initially we chose to only consider carpools of two users.
Multiple user ridesharing groups increase the difficulty of the comparison by an order of
magnitude, and present additional challenges in how to visualize the results. This paper
will discuss the route-matching and schedule matching questions in detail, as well as

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

95
JCSC 26, 4 (April 2011)

considering their combination with each other and with other criteria to provide a
functional tool for classifying large numbers of potential ride-sharing partners.

RELATED WORK
Existing applications have been built to serve the same purpose as what finding
carpooling information. Carpool.UMD is a website built by the University of Maryland
and is designed to provide a social networking place, where the staffs and the students at
the can find helpful information about carpool partners [3]. A user can use that system
to find carpool mates based on multiple search conditions such as gender, smoking, and
other habits, which is similar to our system, but distances are based on straight line
geographical distance, with future plans for using driving distances.
Smart Commute is a system for finding commutation partners in Metrolinx and the
cities and regions of the Greater Toronto and Hamilton Area of Canada. It helps its users
to explore different commuter choices like carpooling, cycling or walking [5] Another
such application, ErideShare.Com is a website that allows world-wide users to post and
search carpool listings [4]. Matching based on actual driving distances is not found in
either system.
Some relevant research has also been done. Williams and Fagin proposed the
"Carpool Problem", a well-known scheduling problem in which the faireness of sharing
has been studied [7]. Their algorithm attempts to determine, within a group of people
forming a carpool on a given day, who should be the driver so that it is most fair. While
this work ostensibly concerns carpooling, it is actually a visualization of a large class of
scheduling problems, and does not consider factors such as distance or schedule of
participants. Boavida et. al further invested the "Carpool Problem" [2] and suggested
computational techniques and related algorithm for improvement. Ajtai et. al [1] also
studied a similar problem. In general, those studies were not in the context of solving the
commuter carpooling problem, thus can not be directly applied to our research. One of
these studies [6], concluded that "Experience has shown that many complex variables are
required to form a successful carpool. These variables … have different perceived values
by every individual. It is our opinion that no algorithm can successfully address all these
issues."
We have found this conclusion to be very applicable to the work that we have done,
but have limited our approach to a few very quantifiable variables.

ROUTE MATCHING
We considered several basic approaches to route matching. The basic idea was
to find a measure of goodness between two users based upon difficulty of the trip from
one user, via the other user, to the common destination.

We also needed to measure the goodness of the match between routes so that all
matches could be compared on the same scale. Noting that the very best carpooling

96
CCSC: South Central Conference

partner (in terms of route) would be with someone at the same address (such as a
roommate), we decided to normalize against this value. So:

(1)
Trip "difficulty" could be measured in mileage or time, and we considered both.
There are two ways to consider mileage, however. The first was to consider the simple
distance between geographical points. This has the value of simplicity and efficiency,
but it is not very realistic. The difference between spherical straight line distance and the
road distance between two points could be enough to invalidate our results.
The second method is to consider the actual driving distance between a user
and the destination, via another user:

This would be very difficult if we had to do it from base maps, but fortunately there
are several existing mapping tools which provide this functionality, including some free
ones such as the mapping API's from Google, Yahoo, and MapQuest.
We also considered using route duration instead of route distance. Using route
duration does have some attraction, since the duration is based upon the expected speed
of the roads used in the route, and thus might be a more accurate measure of "goodness"
than mileage. Although route duration is provided by some online data sources, it does
not take into account time of travel and is generally proportional to route distance in any
event, so we chose to concentrate on driving distance.
Once the basic approach of comparing driving distances was chosen, other
considerations became evident. One of these was "who provides the vehicle?" Assuming
that both parties involved will provide their own vehicle (and presumably function as the
driver) changes the distance costs overall. To see why this is so, consider the example in
Figure 1:

97
JCSC 26, 4 (April 2011)

If Madge and Chris carpool, and Madge does all the driving, then every trip is a
distance of 44 miles. If Madge and John do the same thing, every trip is a distance of 59
miles. However, suppose that they share the driving. Then for Madge and Chris, half the
time the distance is 44 miles, and half the time Chris picks up Madge and returns to
campus, a distance of 70 miles. Their average trip is 57 miles. For Madge and John, half
the time the distance is 44 miles, and half the time the distance is 62 miles, giving an
average trip of 53 miles. So if both participants drive, Madge and John are a better
pairing than Madge and Chris, the opposite result from when Madge does all the driving.
Another additional consideration was whether to include common routing as part
of the algorithm. If portions of two routes use the same roads, it would seem likely that
they are good carpool partners, and the larger the portion using the same roads, the better.
However, it is a very difficult problem to determine shared routing, and the calculated
routes would still be via-routes, i.e. from User #1 via User #2 to the destination. A very
long via-route might still have a high percentage of commonality, without being the
shortest combination.
So our final solution to matching routes was to calculate the average of the driving
distance from User i via User j to the destination and the driving distance from User j to
User i to the destination:
(2)

SCHEDULE MATCHING
Several factors had to be considered for schedule matching as well. The first was
how to represent the schedule, and in what detail. Assuming that most carpoolers would
only want to make one trip per day together, it seemed reasonable that only a start and
end time would be needed for each day.
We also considered whether start and end times should be for arrival at and
departure from the destination, or start from and arrival to the user's address. Since the
latter would have to incorporate travel time, and this travel time would vary with each
potential carpool pairing (as well as time of day) and with who was driving, we chose

98
CCSC: South Central Conference

arrival at and departure from the destination. Other than that, the two choices were
considered equivalent for the purposes of comparison of schedules.
The basic heuristic used in comparing schedules was to calculate a measure of
commonality between schedules. The first approach was to consider the amount by
which the arrival and departure times of two schedules differed. The more the difference,
the less the schedule was a match for a particular day. We wanted this value normalized
between 0 and 1, just as in the route matching, so a maximum deduction (from one) was
calculated based on the number of days being compared for the full schedule. This first
approach was flexible enough to adapt to different numbers of scheduling days, but it
used ad-hoc parameters which would have to be determined by trial and error. In general,
the divergence between schedules was being measured, rather than the actual amount of
commonality between them.
Our second approach was more elegant and computable, and suffered from fewer
disadvantages. For each day, the overlapping part of the schedule for day D is the time
between the latest arrival time and the earliest departure times of users i and j:

(3)
But the total time consumed by the two schedules for day D is the time between the
earliest arrival time and the latest departure time (one or both parties will have to spend
idle time at the destination):

(4)
So the ratio between the shared time and the total schedule time gives a
normalized percentage measure for the amount of overlap between the two schedules
of users i and j on day D.

(5)
In a perfect schedule match, the shared schedule time will be equal to the total
schedule time, giving a ratio of 1. For a poor match, the shared time will be less than the
total time. The lesser it is, the closer the ratio will be to zero. Note that if schedules do
not overlap at all, the result will be negative or zero, which will force these "matches" to
the bottom of the list. In addition, this solution automatically provides a reasonable
tolerance for idle time. Idle time will affect the match percentage less for a large amount
of overlapping time than it would for a short amount of overlapping time.

99
JCSC 26, 4 (April 2011)

We average the daily measures to find the overall goodness measure for the
sche-dule. However, the potential for negative daily measures due to non-overlapping
sche-dules will skew the results. All non-overlapping schedules are bad matches,
regardless of how far apart the separate schedules are, so we convert all negative daily
results to zero.

INTEGRATION
The object of this work was to study classification based on multiple
constraints. In addition to route and schedule, other aspects of a user's profile would have
to be considered, such as what types of users they would not wish to carpool with. It soon
became obvious that some of these constraints (route and schedule) were combinatorial,
and together would affect the overall "goodness" of the matches. The other constraints
were filtering constraints, and would act to either allow or exclude a match.
Since all the combinatorial constraints were normalized to a range of 0 to 1,
they can be easily combined into a single matching score by averaging. This solution will
also accommodate implementation of a weighted average in the future, so that we can
allow users to specify the importance of, for instance, a good route match vs. a good
schedule match.
Each filter compares a desired value of some profile attribute with the value
of that attribute in another user's profile, returning a value of 1 if it is satisfied, or 0 if not.
So if user I has a value of 0 on the WillRideWithFaculty filter and user j has a value of 0
for IsFaculty (indicating that user j is NOT faculty), then the WillRideWithFaculty filter
is satisfied for user i by user j. So our final matching score between users i and j,
combining route, schedule, and a set of N filters, can be calculated by the following
formula:

Then, for a given user i, we calculate the values for all where for M total users in
the carpool system, 0 < j < M, and i ? j. Sorting all users 0 < j < M, and i ? j by their
in descending order shows the matches based on route from best (at the top of the list) to
worst (at the bottom). We will also apply a cutoff value, pruning any results less or equal
to some minimum value (at least 0, since due to filtering a number of matches will have
MatchGoodness values of 0).

100
CCSC: South Central Conference

CONCLUSIONS
We are applying these classification algorithms to our university's carpooling
system, and have already generated some preliminary results. We expect to publish
further results on the fully implemented system in the near future.

REFERENCES
[1] Ajtai, M., Aspnes, J., Naor, M., Rabani, Y., Schulman, L. J., & Waarts, O.
(1998). Fairness in Scheduling. Journal of Algorithms , 29, 306-357.
[2] Boavida, J. P., Kamat, V., Nakum, D., Ryan, N., Wu, C. W., & Zhang, X. (2006).
Algorithms for the Carpool Problem. IMA Preprint Series, 2133-6.
[3] Dobrosielski, J., Gray, T., Nhan, A., & Stolen, M. (2007, 4 7). Carpool.UMD -
Community Carpooling. San Jose: ACM 978-1-59593-642-4/07/0004.
[4] ERideShare.com. (n.d.). Retrieved 11 8, 2009, from ERideShare.com:
http://www.erideshare.com/
[5] smartcommute.com. (n.d.). Retrieved 11 8, 2009, from smartcommute.com:
http://www.smartcommute.ca/about_us
[6] Westerbeck, G. J., & Evans, J. R. (1981 , April). Car-Pooling and Regional
Ridesharing Programs. 27 . INFORMS.
[7] Williams, & Fagin. (1983). A Fair Carpool Scheduling Algorithm. IBM Journal
of Research, 133-139.

101
IMMERSIVE VISUALIZATION TECHNIQUES IN ENHANCING

AND SPEEDING PEDAGOGICAL PROCESSES OF

COMPUTING CONCEPTS*

Sarah M. North, Ed. D. Ju An Wang, Ph.D.


Information Technology Department Information Technology Department
Computing and Software Engineering Computing and Software Engineering
Southern Polytechnic State University Southern Polytechnic State University
Marietta, GA 30060 Marietta, GA 30060 jwang@spsu.edu
sarah@spsu.edu

ABSTRACT
The pace of technological innovation is faster than the rate of human
acquisition of new knowledge and concepts. To address this extraordinary
difference, it is crucial that technology such as immersive visualization be
utilized to accelerate and enhance the pedagogical practices. The primary
purpose of this research was to create an immersive environment based on
prior practices. In the first phase of the project, the authors investigated,
designed, developed, implemented, and evaluated software modules for
computer concepts. Sixty-eight students participated in a controlled
experimental study, and a standard pre- and post-test protocol was
administered. The preliminary results show that the use of selected computer
science concepts based on tenets, foundations and basic elements of immersive
visualization tends to increase the understanding and mastery of the selected
subject area. While it is exciting to see such interesting results, additional
research is needed to verify our preliminary findings.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

102
CCSC: South Central Conference

INTRODUCTION
The Need for Innovative Pedagogical Techniques
There is a growing gap between the pace of technical and scientific innovation and
the speed with which humans can learn new concepts and knowledge. While the former
is accelerating, the latter has thus far remained fairly constant [1]. Consequently, this gap
is more apparent in younger generations of learners. New and stimulating innovative
educational techniques, concepts and materials will have to be developed to address this
imbalance.
Recently, there has been a tremendous increase in the use of advanced visualization
technology for effective pedagogical practices; major researchers have undertaken
multiple projects. Immersive visualization and virtual reality are among the technologies
that hold great promise for the near future. Furthermore, empirical studies emphasize that
we must reach K-12 learners before they reach secondary education, which is a gateway
to the opportunities and benefits of entomic and social development [4, 5, 6].
The National Science Foundation (NSF) has recently funded Visualizing to Integrate
Science Understanding for All Learners (VISUAL), a project undertaken by researchers
at University of California-Berkeley. Marcia Linn and colleagues describe the dynamic
visualizations as interactive, computer-based models, simulations, and virtual
experiments of scientific phenomena, which provide alternative pathways for students to
understand science concepts. Specifically, the researchers emphasize interest in those
visualizations that make unseen processes visible and those that support inquiry around
complex phenomena. The ability to harvest Internet-based technology used in
cyber-learning complements this advanced visualization technology. The provision of
such individualized, customized, and collaborative forms of communication promotes
sophisticated interaction between learning and teaching teams, which in turn enhances
the effectiveness of the immersive visualization environment [3].
Collectively, these major technologies can provide an excellent, stimulating, and
innovative approach for teaching and learning. Therefore, we propose the development
of a new collaborative technology that not only takes advantage of what immersive
visualization technology can provide but also incorporates the rich resources available
on the Internet for use by teachers and students, during K-12 and beyond.

Immersive Visualization Environment as a Powerful Educational Tool


Although there is contradictory and inconclusive research concerning the
educational value of immersive visualization (also known as virtual environments) in the
literature, students' preferences is ten times higher than for using visualization for
learning activities than for other techniques such as explanations, readings, partners,
teachers, or for all of them together [13]. The following briefly provides a few powerful
examples of how this technology can be effectively used for a variety of disciplines,
including STEM fields.
A fully immersive "Virtual Physics Laboratory" has been developed by Loftin and
colleagues [16]. In this virtual laboratory, students are participants and carry out
experiments that are otherwise impossible in a real laboratory. Baird [2] discusses an
NSF-funded arts and technology project in which students and faculty collaboratively
created curricular models using virtual reality and simulation to explain scientific
principles. This project is based on the idea that students today expect a completely
different classroom environment and examines several different concepts, such as human

103
JCSC 26, 4 (April 2011)

physiology, the molecular events in variety situations, mathematical graph theory, cell
biology, and electric potential function in physics.
There are several important reasons for proposing an immersive visualization
environment over a head-mounted device (HMD): (i) the user has the freedom to
normally and naturally move within the immersive visualization environment and is not
constrained by the limitation of an HMD; (ii) collaboration and interaction are possible,
either with other learners or with teachers within the same environment; (iii) the virtual
scenes are available at any given time instantly and allow for smooth navigation and
exploration by users; and (iv) the immersive visualization environment allows for a high
degree of detail, whereas HMDs suffer from the limitations of low resolution.

The Internet as a Multi-faceted Learning Environment


Literature reviews in this area show great evidence and potential for learning and
teaching using the Internet and its resources. For example, several Web-based Inquiry
Science Environment (WISE) projects at University of California-Berkeley developed
and tested web-based science materials designed using a Knowledge Integration (KI)
framework to ensure in-depth student learning [14, 15]. This framework emphasized
the central importance of engaging learners in guided inquiry through a broad range of
experiences provided by a mix of technology and teacher interventions. This approach
offered ample opportunities for students to integrate their observations and link
them with prior knowledge. WISE research demonstrated that well-planned, in-depth
science teaching with technology-enhanced projects created more knowledgeable
students better equipped for life-long learning.

Objectives and Research Questions


This study investigates the immersive visualization techniques in enhancing and
speeding pedagogical processes of computing concepts in middle school student
populations. In this pilot study, we briefly designed an experimental approach to
investigate all three of our research questions, which are stated as follows:
• Does the proposed dynamic immersive visualization environment technology with
complementary resources on the Internet provide more effective and efficient
pedagogical techniques when compared to the traditional technique?
• Does the proposed innovative pedagogical technique help learners with their
understanding of abstract and complex computing concepts when compared to
traditional instructional techniques?
• Does the proposed pedagogical technique speed up the learning and teaching
processes?

METHODOLOGY
Background research, including the pilot studies listed in the previous section, has
demonstrated the possibility and feasibility of the effectiveness of immersive
visualization technology for use with computing concepts such as data structures and
algorithms materials [9, 10, 11, 12]. Please note that our pilot studies were designed and
conducted based on three research questions listed in this paper.
We have already created a basic dynamic immersive visualization model of a vector
container, which we use as the atomic component for the other data structures containers,
using wired-looking cubes to represent the containers and a colored sphere to represent

104
CCSC: South Central Conference

the data inside the container (see Figure 1). We plan to keep the same representation to
develop the other containers, such as queues, stacks, trees, etc. This arrangement allows
for efficient modular design and consistency between the production modules, in turn
reducing the cognitive overload for the users and demonstrating the similarities between
the data structures containers and other basic computing components.

Figure 1. The virtual scene showing a virtual Vector implementation.


Research Participants
Sixty eight (n=68) middle school students participated in this study using the
computer concepts utilized in our prior research projects [7, 8, 9]. Participants were
randomly assigned to experimental and control groups.

Apparatus for Development and Conducting Experiments


The current immersive visualization system's envelope gives users a dramatic, 210º
field of view, which results in an integration of the operators and the displayed
information, thus providing an immersive environment for this project. This core
capability provides individual and group access for exploration of the software modules.
A brief explanation of the technical specifications of the systems is included in the
following section.

The Visualization & Simulation Research Center


The primary site and setting for this project is the Visualization & Simulation
Research Center. As visualization and simulation cuts across boundaries, it was logical
and plausible to establish a center to promote collaborative multidisciplinary and
interdisciplinary research and training activities. At the core of the center, state-of-the-art
technology offers researchers a sophisticated toolset, including a spatially immersive
display system (see Figures 2 and 3). These tools are funded by the Army Research
Office, in collaboration with and through continued support from the Immersive Display
Solutions Company.

105
JCSC 26, 4 (April 2011)

Figure2. Schematic specification of the immersive visualization system structure and


research students collaborating and discussing the visual aspects.
Immersive Visualization Scene. An immersive scene was developed that consists of a
container resembling a wire-frame cube. The cube appeared to hold the data in a green
colored sphere. Textured mapping techniques were employed to add to the realism and
to display the state of the objects in the virtual scene. For this study, the virtual container
simulated a Vector container and allowed the user to freely execute operations on this
container. For example, an operation such as creating and initiating a Vector that pushes
an insert at the end of the container and pops or deletes it or elements from the end of the
container or to the end of the Vector were available to the user. Data objects also
changed color based on their state. For example, the green color stated that the data is a
part of the Vector container, while the deleted data changed color to a fade-out pink.

General Concise Procedure


The experimental group was exposed to the immersive visualization environment,
while the control group was assigned to the lecture-based (including use of presentation
technology). Limited computer concept modules were administered to both groups after
collecting pre-tests. Post-tests were administered and collected from both groups. The
experiment consisted of four distinct phases. The first phase was the design, development,
implementation, and testing of the software for each module. After testing the module
contents with several subjects in the laboratory, the software was installed in a
visualization and simulation server and displayed on the immersive screen. Sixty-eight
subjects participated in this experiment. Participants were randomly assigned to the
experimental and control groups. Under the direct supervision of the authors, two
undergraduate students administered a pre-test to both groups. The experimental group
was exposed to the computer concepts module, which represented the Vector container.
In the last phase, post-tests were administered to both groups. Upon completion of this
phase, data analysis began using a variety of statistical procedures.

RESULTS AND CONCLUSIONS


A sense of presence questionnaire (scale of 0 [none] to 10 [Extreme]) was
administered before and after the experiment to subjects of both groups. Figure 3 shows
comparison of the control group post-test and the experimental group post-test. Statistical
computations show that the groups are statistically different, implying immersive
visualization technology treatment was distinctly (statistically) more effective than the
lecture-based, presentation technology treatment. Our preliminary results also showed

106
CCSC: South Central Conference

that the experimental group grasped the abstract computing concepts faster than the
control group (approximately 10 minutes versus 15 minutes for each module). While it
is exciting to see such interesting results, we need to further look into our data and
interpretation of the results, and, certainly, additional research is needed to verify our
preliminary findings. It seems that this study as well as our prior pilot studies are
promising and worth additional research resources and efforts.

Figure 3. Comparison of the control group (Lecture-Based using presentation


technology) post-test and the experimental group (Immersive Visualization
technology) post-test.

Acknowledgment
This paper is based upon work supported by the National Science Foundation under
Grant No. 0722157 and 0941900. Any opinions, findings, and conclusions or
recommendations expressed in this material are those of the authors and do not
necessarily reflect the views of the National Science Foundation. The primary site and
setting for this project was the Visualization & Simulation Research Center (VSRC) at
Southern Polytechnic State University. The VSRC was established by a grant from the
Department of Defense (DOD)/U.S. Army Research Office.

REFERENCES
[1] S.W. Gilbert, "No Moore's Law for Learning," Syllabus –Technology
Implementation, vol. 14, no. 8, Mar. 2001, pp. 28.
[2] B. Baird, "Curricular Modules: 3D and Immersive Visualization Tools for
Learning," Syllabus–Visualization Expanding the Mind's Eye, vol. 14, no.9, Apr.
2001, pp. 23-26.
[3] D. G. Brown, "The Teaching Profession in 2020," Syllabus – Visualization
Expanding the Mind's Eye, vol. 14, no. 9, Apr. 2001, pp. 21.

107
JCSC 26, 4 (April 2011)

[4] C. Hood and D. Hood, "Toward Integrating Computing Concepts into the K-12
Curriculum," Association for Computing Machinery, Special Interest Group on
Computer Science Education, 2005, pp. 375.
[5] G. Ekaterini, B. Spyros, and I. Panagiotis, "Teaching It in Secondary Education
Through Problem-Based Learning Could Be Really Beneficial," Association for
Computing Machinery, 2004, pp. 243.
[6] A. Ammoura, "DIVE-ON: From Databases to Virtual Reality," CROSSROADS,
The ACM Student Magazine – Databases, vol. 7, no. 3, Spring 2001, pp. 4-9,
37-38.
[7] M. North, J. Sessum, and A. Zakalev, "Immersive Visualization Tool for
Pedagogical Practices of Computer Science Concepts: A Pilot Study," The
Journal of Computing Sciences in Colleges, in cooperation with the
ACM/SIGCSE, Nov. 2003, pp. 207-215.
[8] M. M. North, J. R. Mathis, A. Madajewski, J. T. Brown, and S. M. Cupp,
"Virtual Reality and Transfer of Learning," Proc. 9th Int'l Conf.
Human-Computer Interaction, Aug. 2001b, pp. 636-638.
[9] M. M. North, J. R. Mathis, A. Madajewski, J. T. Brown, and S. M. Cupp,
"Application of Virtual Reality in Learning Scenarios," Proc. 39th Ann. ACM
Southeast Conf., Mar. 2001c, pp. 311-312.
[10] M. M. North, S. M. North, B. Parks, and D. Webb, "Factors Affecting Sense of
Presence in Virtual Reality Therapy," Proc. Medicine Meets Virtual Reality, Jan.
2001d.
[11] L. S. Vygotsky, Mind in Society, Harvard University Press, 1978.
[12] J. D. Slotta and M. C. Linn, WISE Science: Web-based Inquiry in the Classroom,
Teacher College Press, Columbia University, 2009.
[13] S. Corliss, and M. Spitulnik, "Student and Teacher Regulation of Learning in
Technology-enhanced Science Instruction," International Perspectives in the
Learning Sciences: Creating a Learning World, Proc. 8th Int'l Conf. of the
Learning Sciences vol. 1, International Society of the Learning Sciences, Inc.,
2008, pp. 167-174.
[14] M. C. Linn and B. S. Eylon, "Science Education: Integrating Views of Learning
and Instruction," Handbook of Educational Psychology, 2nd ed., P. A. Alexander,
and P. H. Winne, eds., Lawrence Erlbaum Associates, 2006, pp. 511-544.
[15] J. D. Slotta and M. C. Linn, "The Knowledge Integration Environment: Helping
Students Use the Internet Effectively," Innovations in Science and Mathematics
Education, M. J. Jacobson, and R. Kozma, eds., Lawrence Erlbaum Associates,
2000, pp. 193-226.
[16] R. B. Loftin, M. Engelberg, and R. Benedetti, "Applying Virtual Reality in
Education: A Prototype Virtual Physics Laboratory," Proc. IEEE Symp.
Research Frontiers in Virtual Reality, Oct. 1993, pp. 67-74.

108
Papers of the Fourth
Annual
CCSC
Southwestern
Conference

April 1-2, 2011


Loyola Marymount University
Los Angeles, California
WELCOME TO THE 2011
CCSC SOUTHWESTERN CONFERENCE
Welcome to the Fourth Annual Consortium for Computing Sciences in Colleges
Southwest Regional Conference (CCSC:SW) held in cooperation with ACM SIGCSE and
Loyola Marymount University. We hope you enjoy the conference and our campus and
find the experience a valuable opportunity for professional development and networking
with peers at other institutions in the area. This year's conference offers four invited
talks, thirteen refereed paper presentations, four tutorials, vendor exhibits, and an array
of student posters.
The thirteen papers presented at the conference were selected from twenty-five
submissions that underwent double blind reviews, resulting in a 52% acceptance rate.
These papers will be published in the Journal of Computing Sciences in Colleges.
The committee's sincere gratitude goes to our four invited speakers. Jean Camp is
an Associate Professor of Informatics at Indiana University Bloomington known for her
research in cyber security. Scott Easley is the Associate Director of the Gamepipe
Program at the University of Southern California. Sven Koenig is a Program Officer at
NSF in the Computer & Information Science Engineering (CISE) program and an
Associate Professor of Computer Science at USC. The speaker program is rounded out
by Scott Grissom, Program Director at the National Science Foundation who has offered
to present NSF funding opportunities for computer science faculty and tips for submitting
grant proposals. These speakers have offered their time to contribute to the success of the
conference.
The conference committee and regional board made organizing this event an
enriching experience. Their dedication, guidance, professionalism, and sense of
community and teamwork created a smoothly running machine. I am grateful for their
hard work and look forward to working with them again.
I would like to thank Dean Richard Plumb of the Loyola Marymount University
Seaver College of Science and Engineering, Associate Dean Gary Kuleck, and Chair of
Electrical Engineering and Computer Science Nazmul Ula whose support made it
possible to bring this conference to the LMU campus.
On behalf of the conference committee, I also thank our national vendors and
sponsors: Cengage Learning, Microsoft, Turing's Craft, and Shodor.
We hope you enjoy this conference and look forward to seeing you at CCSC:SW
2012.
Stephanie E. August
CCSC:SW 2011 Conference Chair
Loyola Marymount University
Los Angeles, California

110
2011 SOUTHWESTERN CONFERENCE COMMITTEE

Stephanie E. August, Conference Chair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loyola Marymount University, Los Angeles, CA
Chiquitta Johnson, Site Chair . . . . . . . . . . . . . . . . . . . . . Raytheon, Los Angeles, CA
Michael Doherty, Paper Chair . . . . . . . . . . . . University of the Pacific, Stockton, CA
Peter Gabrovsky, Author Chair . . . . . . . . . . . . . . . . CSU Northridge, Northridge, CA
Kim Kihlstrom, Student Posters . . . . . . . . . . Westmont College, Santa Barbara, CA
Jim Blythe, Speakers . . . . . . . . University of Southern California, Los Angeles, CA
Tzu-Yi Chen, Panels and Tutorials . . . . . . . . . . . . . . Pomona College, Pomona, CA
Myungsook Klassen, Partners and Exhibitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . California Lutheran University, Thousand Oaks, CA

CCSC SOUTHWESTERN REGION BOARD OFFICERS

Ani Nahapetian, Region Chair . . . . . . . . . . . . . . . . . . . . . . . UCLA, Los Angeles, CA


June Porto, Treasurer and Registrar . . . . . . . . . . . MiraCosta College, Oceanside, CA
Michael Doherty, Editor . . . . . . . . . . . . . . . . University of the Pacific, Stockton, CA
Kim Kihlstrom, Regional Representative . . . . Westmont College, Santa Barbara, CA
Irena Kageorgis, Secretary . . . . California Lutheran University, Thousand Oaks, CA
Paul McQuesten, Webmaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Claremont, CA
G. Michael Barnes, Past Region Chair . . . . . . . . . . CSU Northridge, Northridge, CA
Myungsook Klassen, Past Conference Chair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . California Lutheran University, Thousand Oaks, CA
Stephanie E. August, Current Conference Chair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loyola Marymount University, Los Angeles, CA

REVIEWERS — 2011 CCSC SOUTHWESTERN CONFERENCE

Stephanie August . . . . . . . . . . . . . . Loyola Marymount University, Los Angeles, CA


G. Michael Barnes . . . . . . . . California State University Northridge, Northridge, CA
Nick Breems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dordt College, Sioux Center, IA
David Bunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Knox College, Galesburg, IL
Mahesh Chaudhari . . . . . . . . . . . . . . . . . . . . . . Arizona State University, Tempe, AZ
Jimmy Chen . . . . . . . . . . . . . . . . . Salt Lake Community College, Salt Lake City, UT
Tzu-Yi Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pomona College, Claremont, CA
Monica Costa . . . . . . . . Polytechnic Institute of Castelo Branco, Castelo Branco, PT
Lawrence D'Antonio . . . . . . . . . . . . . . . . . . . . . . . . . . Ramapo College, Mahwah, NJ

111
JCSC 26, 4 (April 2011)

Mary Jo Davidson . . . . . . . . . . . . . . . . . . . . . . . . . . . DePaul University, Chicago, IL


Suzanne Dietrich . . . . . . . . . . . . . . . . . . . . . . . Arizona State University, Tempe, AZ
Zachary Dodds . . . . . . . . . . . . . . . . . . . . . . . . Harvey Mudd College, Claremont, CA
Michael Doherty . . . . . . . . . . . . . . . . . . . . . . University of the Pacific, Stockton, CA
Toby Donaldson . . . . . . . . . . . . . . . . . . . . . . Simon Fraser University, Burnaby, B.C.
Maureen Doyle . . . . . . . . . . . Northern Kentucky University, Highland Heights, KY
Peter Drexel . . . . . . . . . . . . . . . . . . . . . . . . Plymouth State University, Plymouth, NH
Ali Farahani . . . . . . . . . . . . . . . . . . . . . . . . . . . . National University, San Diego, CA
Dennis Herr . . . . . . . . . . . . . . . . . . . Missouri Southern State University, Joplin, MO
Dwight House . . . . . . . . . . . . . . . . . . Fayetteville State University, Fayetteville, NC
Myungsook Klassen . . . . . . . . . California Lutheran University, Thousand Oaks, CA
Srinivasarao Krishnaprasad . . . . . . . . Jacksonville State University, Jacksonville, AL
Jim McKeown . . . . . . . . . . . . . . . . . . . . . . . . . Dakota State University, Madison, SD
Jose Metrolho . . . . . . . . Instituto Politecnico de Castelo Branco, Castelo Branco, PT
Robert Neufeld . . . . . . . . . . . . . . . . . . . . . . . . . . McPherson College, McPherson, KS
Wu Penn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cypress College, Cypress, CA
Salam Salloum . . . . . . . . . . . . . . . . California State University Pomona, Pomona, CA
Samuel Sambasivam . . . . . . . . . . . . . . . . . . . . . Azusa Pacific University, Azusa, CA
Ian Sanders . . . . . . . . . . . . . . . . . University of the Witwatersrand, Johannesburg, ZA
Ching-Kuang Shene . . . . . . . . . . Michigan Technological University, Houghton, MI
Carlos A. Silva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . University of Minho, Braga, PT
Barry Soroka . . . . . . . . . . . . . . . . . California State University Pomona, Pomona, CA
John Stamey . . . . . . . . . . . . . . . . . . . . Coastal Carolina University, Myrtle Beach, SC
David Voorhees . . . . . . . . . . . . . . . . . . . . . . . . . . . Le Moyne College, Syracuse, NY
Howard Whitston . . . . . . . . . . . . . . . . . . . . University of South Alabama, Mobile, AL
Rosalee Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DePaul University, Chicago, IL
Fani Zlatarova . . . . . . . . . . . . . . . . . . . . . . Elizabethtown College, Elizabethtown, IL

112
KEYNOTE ADDRESS

Friday, April 1, 2011


C
O
M
P
U
T
E
R
S
E
C
U
R
I
T
Y
A
N
D
,
V
E
R
S
U
S
,
O
R
S
E
C
U
R
I
T
Y
I
N
F
O
R
M
A
T
I
C
S
*

L. Jean Camp
Indiana University Bloomington

Economic and technical trends have created the need for specialists in computer
security. Rather than requiring the creation of ever more narrow programs of study,
security informatics offers a different path. Unlike traditional computer security programs
in computer science departments, this program focuses on a holistic view of security by
looking at technical, user, and organizational aspects. Computer science programs have
traditionally focused only on the technical aspects of security, which is at least partially
responsible for the failure to address successfully some of the more social types of online
attacks, such as phishing (a form of Internet scam that allows thieves access to the
victim's accounts). For example, security mechanisms which can be used to preemptively
find and stop phishing attacks exist in most browsers, but because these technologies are
difficult to engage, few people are aware of their existence. Even fewer are able to
effectively use these technologies. Similarly many technical security measures now fail
in large part due to the lack of consideration given to the human, organizational, and
economic dimensions in security design. Security Informatics provides a more
encompassing perspective on security. Security Informatics can be combined with other
areas, as shown by Indiana's use of concentrations in the local Security Informatics
program, to leverage institutional strength in psychology, economics, health care, or
regional studies. Also, by focusing on areas where women and men of color are not as
under-represented as in computer science, security informatics can create an opportunity
for recruitment in populations that might not consider a more traditional degree.

BIOGRAPHY: Professor L. Jean Camp is an Associate Professor of Informatics and


Computer Science at Indiana University Bloomington. She has recently completed one
year on Capitol Hill, where she served as military and technology Legislative Assistant
for North Carolina's Second District.
Professor Camp is the author of "Trust and Risk in Internet Commerce" (MIT
Press), "Economics of Identity Theft" (Springer) and the editor of "Economics of

___________________________________________
*
Copyright is held by the author/owner.

113
JCSC 26, 4 (April 2011)

Information Security" (Kluwer Academic). She has authored over one hundred additional
works, including more than ninety peer-reviewed works and two dozen book chapters.
She has made scores of invited presentations on six continents. Her patents are in the area
of privacy-enhancing technologies. Her core contributions are in area of the social and
economic implications of technologies of security and privacy. She is active in the
forefront of the investigation of the insider threat in the networked realm.
Her professional service has included terms on the Board of Directors of Computer
Professionals for Social Responsibility, the Board of Governors of the IEEE Society on
Social Implications of Technology, Alumni Board for Carnegie Mellon, Senior Member
of the IEEE, and longstanding member of the USACM.
Prof. Camp began her graduate studies in electrical engineering in North Carolina
before moving to the Department of Engineering and Public Policy at Carnegie Mellon
to complete her PhD in Engineering and Public Policy. Upon graduation she became a
Senior Member of the Technical Staff at Sandia National Laboratories. She left Sandia
National Laboratories for eight years as a professor at Harvard's Kennedy School,
departing to lead the security group in the newly-formed School of Informatics at Indiana
University.

114
USING HUMAN-CENTERED DESIGN TO EXPOSE HUMANS

TO COMPUTER SCIENCE*

Megan Thomas
California State University Stanislaus
One University Circle
Turlock, California, 95382
209-667-3584
mthomas@cs.csustan.edu

ABSTRACT
Computer scientists assert, to anyone who will listen, that computer science is
a multi-disciplinary science spanning numberless fields of human endeavour,
and students in every major should find studying computer science
worthwhile. College students do not seem to believe us. To address their
misperception directly, we have developed a course in human centered design
for the general undergraduate population. We worked hard to ensure the
course satisfies a general education science requirement at our university,
giving non-computing students a compelling reason to take the class. During
the 2009-2010 school year, the first offerings of this class occurred, and this
paper shall present our observations to date.

INTRODUCTION
In recent years, a number of approaches to attracting students to computer science
have been explored -- robotics, games, multimedia, and more. Also, frequently cited
publications have concluded that social relevance and seeing how computing fits into
their own world can influence student interest in computer science [5, 6].
At CSU Stanislaus, we are exploring the use of a course in human-centered design
(also called human centered interfaces or user interfaces) to expose students to computer
science [10]. (CSU Stanislaus is a federally designated Hispanic Serving Institution. The
Hispanic population is under-represented both in college and computing [3].)
Human-centered design (HCD) has been used to attract high school students [11] but
most user interfaces or human centered interfaces courses are aimed at upper-division or
graduate computer science majors.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

115
JCSC 26, 4 (April 2011)

If a goal for computer scientists is to show students how computing is intimately


intertwined with their lives, we think we should have students study exactly that -- study
exactly the point where they interface with technology. Empower the students to analyze
how well technology interfaces with their human foibles, empower them to criticize
software and devices, empower them to develop their opinions of technology, to look at
exactly how the design and designers of technological devices can affect them.
Computer scientists assert, endlessly, to anyone who will listen (and to quite a few
people who would rather not) that computing is everywhere and interacting with every
field of human endeavour. So we offer a course that overtly takes advantage of that fact,
including discussions of human psychology, the human eye, color, design principles and
processes, and other topics. Students analyze their own tools and toys, examining the
devices - their cars, DVRs, kitchen appliances -- as engineered, designed devices that
should have been designed with human users in mind. The homework assignments start
with the least intimidating devices as objects of analysis -- microwaves, coffee makers,
TVs -- and build towards the more overtly computational -- computer games, web pages.
Several homework assignments are built around the most ubiquitous and beloved
technology device for college students, the cell phone. This has the advantage of
allowing in-class group project work with no special tools and no extra expenses for
student or university.
The goal of our course is not necessarily new computer science (CS) majors, since
the course is mainly taken by students too far along in their academic progress to change
majors. (New students minoring in CS, on the other hand, would be delightful.) But
many students at CSU Stanislaus are preparing themselves for teaching credential
program [2], and any change in attitude among those students may percolate to their
future students. Our main goal is to reduce what Donald Norman calls "taught
helplessness" [7] around technology among our students, and show the world of
engineering, design and technology as a world intimately intertwined with student lives.
A secondary goal is to offer a course where computer science majors (a quarter to
half the students in the classes offered so far) can interact and work with non-computer
science majors on technology-related projects, practicing valuable communication skills
for after they graduate.

A TYPICAL USER INTERFACES COURSE


Most user interfaces classes are intended for computer science majors and typically
present topics in something approximately like this order:
* Understanding the user, task analysis
* Designing
* Paper prototyping, storyboarding
* Modeling human behavior, human understanding, human perception
* Modeling devices (input devices, mobile vs. desktop, etc)
* Graphic design, information visualization
* Program flow
* Qualitative evaluation, quantitative evaluation
* Final presentations of student projects
The emphasis is very much on preparing future designers for actual design work.
Early course topics correspond to early activities in the design process -- brainstorming,

116
CCSC: Southwestern Conference

task analysis. Evaluation is presented relatively late, around the time student projects
may have reached the point of being evaluate-able.
Such a course structure makes perfect sense with students who are likely to
participate in real design work after they graduate. At a small university in a more rural
area, students may not often move into design and development work. A course focusing
more on evaluation and critique may be more appropriate.

OUR COURSE DESIGN


The semester is organized around the principle that any human can critique a tool,
even if they do not have the skills to build a better one. We start by critiquing everyday
items from students' lives -- microwaves, televisions, cars. As the semester progresses,
the critiqued tools become more technical -- web sites, computer games.
The first third of the semester is devoted to reading and discussing Don Norman's
Design of Everyday Things [7], an accessible book about where everyday tools become
difficult to use and why. Students are required to read book chapters ahead of class and
post short reflections to a moderated discussion board. These reflections form a
significant portion of the students' final grades. The instructor tries to read student
reflections before class and to incorporate discussion questions composed by the students
into classroom discussion. This both encourages discussion and shows students that the
instructor is paying attention to what they write. Students write product review essays
weekly, where each essay should focus on the design concepts discussed that week.
From comments written by students in the survey given at the end of the semester,
this reading and discussion is one of the most popular parts of the course.
Mid-way through the semester, the reading material switches to an academic
textbook on user interface design [4], written for upper-division CS courses. This class
does not follow the order of topics laid out in the textbook. Our class moves back and
forth between "fun" topics, like color or icons, and more academic topics like formal
usability testing or design models.
Homework assignments move away from weekly essays. First, students
quantitatively analyze their own cell phones' usability using very simple KLM-GOMS
(Keystroke Level Model) techniques [8]. Later they run qualitative tests on their own cell
phones, developing scenarios and interviewing one another, then writing up a report of
the test results. The final, group project is to design a web site. Students develop
personas [1] and scenarios, and use all the human-centered design principles that should
now be familiar. This allows students to experience the designer's perspective, and to see
how coming up with good designs is more difficult than critiquing other designers'
efforts.

117
JCSC 26, 4 (April 2011)

MAJOR ASSIGNMENTS
The homework assignments during the first half of the semester are simply reading
reflections and weekly essays, written as reviews of the usability of some familiar tool,
with each review focussed on issues discussed in class that week. Each weeks' tools must
be selected from a category the instructor chooses. Example categories are kitchen tools,
motorized transport, freeware computer games, etc.
There are three sizeable project assignments, all of which have substantial portions
completed during class time. The projects allow students to learn by doing. Working
during class time allows the instructor to remind students of proper procedure, or the
importance of consistency when testing, as necessary.

GOMS Analysis
The first sizeable project is the KLM-GOMS analysis of student cell phones.
Essentially, students count how many buttons they must press (or screens they must
swipe) and how many choices they must make, while completing each task in a
class-selected set of tasks.
For this assignment, KLM-GOMS was selected as the quantitative testing technique
because of its extreme simplicity and the relatively intuitive nature of the results. More
button presses to complete a task means users go slower. Users do not like going slowly,
so many button presses for common tasks is bad. Simple.
Each student analyzes their own cell phone, with the aid and assistance of a partner.
As a class, students select tasks for everyone to analyze. The instructor records the
chosen tasks, and encourages students to specify their tasks in sufficient detail. A
class-wide, all-cell-phones comparison spreadsheet is made available for students to use
when writing up their observations and reflections on the analysis results.
Students enjoy critiquing their phones and comparing them to other students'
phones; the classroom can become quite boisterous during this activity.
Before they write up their results, the class must be firmly reminded that this is not
a contest between phones, though the element of competition seems to add to the
enjoyment of some students. So that students whose phones "lose" do not feel insulted,
the class must be reminded that this analysis does not deal with cost, reliability, or any
of the other, non-usability factors that make a phone a good choice.

Qualitative User Testing


Students perform a basic, qualitative analysis of their own cell phones, with other
students acting as test subjects. First, students develop detailed test plans with specific
tasks to ask their test subjects to perform, and sets of questions for before and after
testing. (They are forbidden to use the question "Do you like my phone better than
yours?", or any variant of it.) Where possible, test subjects who are unfamiliar with the
student's own phone style are selected. (Students with slide-out-keyboard phones will act
as test subjects for students with pure touchscreen phones. Students whose phones are
made by Company A will act as test subjects for students whose phones are made by
Company B.)
Students enjoy the interviewing process and the opportunity to experience different
styles of cell phones.

118
CCSC: Southwestern Conference

Design Project
The final project is for students, working in groups of 3-4, to apply all they have
learned to design a web site. With the current economic climate in mind, we have been
designing web sites for local job seekers. Each student group is assigned a specific user
group to design their web site for. The user groups are all selected to be "not like most
college students." Students have designed web sites for the visually impaired, the elderly,
teenagers (younger than college age), those for whom English is a second language, etc.
Student groups must develop personas and scenarios for each persona, and create
paper prototypes [9]. The first draft paper prototypes must be shown to another student
group. The second draft paper prototypes are shown to the instructor, with the project
grade based upon the second prototype and the final, written report.

STUDENT ATTITUDE SURVEY


Extra credit is offered at the beginning and end of each semester for students who
fill out a simple opinion survey. Student names are kept only long enough to grant the
extra credit, then survey results are anonymized. The survey asks:
1. I am familiar with the concepts of Human-Centered Design.
2. I think that Human-Centered Design is confusing.
3. I think knowing about usability issues (HCD) will be helpful to me.
4. I think this class has helped my writing and communication skills.
5. I enjoy analyzing the usability of tools.
6. When engineers and designers design new tools, they consider many issues - cost,
time to market, what is and is not physically possible, appearance and marketability,
safety, etc. I now think that considering human-centered design issues when designing
a new tool is just as important as the other design issues.
Answers are solicited using a standard Likert scale, ranging from "strongly agree'"
to "strongly disagree'". "Decline to state" is also an option. The second question was
included to reduce the risk of acquiescence bias.
After eliminating students who filled out the beginning of semester survey but not
the ending survey, or vice versa, 10 Fall 2009 students (53%) and 11 Spring 2010
students (52%) have been surveyed. Regrettably, it is not possible to get students to fill
out the survey before the semester actually starts, so beginning of semester results are
influenced by students reading the first couple chapters in Don Norman's book. Student
survey results are summarized in Table 1. (Survey results for Fall 2010 will be available
at the end of December 2010.)
The results for the "I enjoy analyzing tools" question were not statistically
significant.

119
JCSC 26, 4 (April 2011)

Question Percent agree, start of semester Percent agree, end of semester


Familiar with concepts 19% 100%
HCD is confusing 0% 22%
HCD is helpful 95% 90%
Enjoy analyzing 67% 74%
HCD is important 81% 95%
Table 1: Survey Results, Fall ‘09 and Spring ‘10
Exposure seems to bring wisdom. Students are 100% confident they are familiar
with human-centered design by the end of the semester. But, at the end of the semester,
more of them accept that the topic can be confusing than believed so at the beginning.
The goal of the class is insight and exposure, not creating false confidence, so these
results are fine. There is a noticeable increase in the number of students who think that
human-centered design is as important as cost and appearance in tools.
In answer to the question, "What did you find most interesting in this class?", some
(unedited) student comments were:
"I liked analyzing tools for usability (in our essays and in class) and discussing
specifics about them I had never considered… It was interesting also to see the many
ways in which poor designs have led to avoidable problems."
"I found it interesting that I could find many designs in everyday life that did not
follow the guidelines set forth in class."
"Dan Norman and his adventures finding these things that we badly designed. The
Chapter where he talks about Self-helplessness gave me a whole new way of looking at
how things should be handled when things don't work. Instead of yelling at them I start
critiquing them very loudly..."
"as an artist that kinda bothers me when i say something is super pretty but almost
non functional. there is an inner battle!!"
One opinion that came through loud and clear is that the students truly enjoyed Don
Norman's book and, regrettably, did not like the second, more academic textbook.
Twenty out of twenty-one of the surveyed students answered "yes" to the question:
"Would you recommend this course to a friend?" (This was the only question present in
the end of semester survey but not the beginning of semester survey.)

CONCLUSIONS AND FUTURE WORK


This paper covers the development of a new course in human-centered design. Our
course is aimed, not at the CS majors who have justly earned the bulk of computer
science educator interest, but at a mix of general education and computer science
students. This broader audience allows the course to:
1. expose non-computing majors to design and engineering issues not covered in
traditional, programming-oriented introductory computing classes
2. offer project-based homework assignments where undergraduates from different
majors work together, analyzing or designing technological tools
3. be offered more often than a small university could afford to offer a "normal"
human centered design class filled with computer science majors only

120
CCSC: Southwestern Conference

One weakness of the course, clearly mentioned in the end of semester surveys, is the
more academic of the two textbooks. Written for a traditional computer science class for
CS majors only, the book is too technical for a course aimed at the general education
audience, and suffers from comparison with Don Norman's lively and engaging writing
style. The author of this paper has started writing a more appropriate set of reading
material, and hopes to make that material publicly available after students approve it.

REFERENCES
[1] Cooper, A., The Inmates Are Running the Asylum: Why High Tech Products
Drive Us Crazy and How to Restore the Sanity: Pearson Education, 1999.
[2] CSU Stanislaus: about us, 2010, http://www.csustan.edu/aboutus/quickfacts.php,
retrieved Nov. 20, 2010.
[3] Doyle, M., Kirby, K.G., and Newell, G, Engaging constructions: family-based
computing experiences for immigrant middle school students. Proceedings of the
39th SIGCSE Technical Symposium on Computer Science Education, 58-62,
2008.
[4] Heim, S, The Resonant Interface: HCI Foundations for Interaction Design.
Addison-Wesley, 2008.
[5] Klawe, M., Whitney, T., and Simard, C., Women in computing: take 2.
Communications of the ACM, 52, (2), 68-76, 2009.
[6] Margolis, J., and Fisher, A., Unlocking the Clubhouse: Women in Computing:
The MIT Press, 2001.
[7] Norman, D.A. The Design of Everyday Things: Basic Books, 1988.
[8] Raskin, J. The Humane Interface: New Directions for Designing Interactive
Systems: Addison Wesley, 2000.
[9] Rettig, M., Prototyping for tiny fingers. Communications of the ACM, 37, (4),
21-27, 1994.
[10] Thomas, M., CS3500 human centered design class. 2010,
http://www.cs.csustan.edu/~mthomas/cs3500/.
[11] Yardi, S., Krolikowski, P., Marshall, T., and Bruckman, A., An HCI approach to
computing in the real world. ACM Journal on Educational Resources in
Computing, 8, (3), 795-825, 2008.

121
LA BELLA FIGURA: MAKING A GOOD IMPRESSION WHEN

TEACHING AN INTRODUCTION TO PROGRAMMING TO

NON-ENGINEERS*

Ani Nahapetian
Computer Science Department
University of Los Angeles, California (UCLA)
Los Angeles, CA 9005
ani@cs.ucla.edu

ABSTRACT
This paper presents real and practical solutions to teaching an introductory
course in programming to non-engineering students. It addresses the
challenges and the potentials of making a good first impression in such a
course, including the desire to fit everything into one quarter, the opportunity
to encourage students to explore programming further, and the reality that
students are looking for a useful tool for use in their respective fields. Specific
suggestions and ideas for course content presentation, textbook selection, and
course projects are presented that address these challenges.

1. INTRODUCTION
An introduction to programming course for non-majors, and more specifically
non-engineers, is a uniquely challenging task. It is composed of students from many
different majors including those in the arts, humanities, sciences, and Mathematics.
However, it can provide a great opportunity to make a good impression regarding the
field of Computer Science and the utility of specific concepts.
There is generally a factor of intimidation and fear associated with such classes,
because they are so distinctly unique from all other course offerings in the arts,
humanities, and sciences, and because they require a large amount of project work outside
of the classroom. Additionally, students are not always clear about how they can apply

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

122
CCSC: SouthwesternConference

the knowledge learned from a programming class to their individual fields of study. [6]
The course can be an excellent opportunity to correct the misperceptions that exist about
the field of informatics generally, and computer programming specifically. Also, if
instructors intentionally focus the student's attention to programming as a tool instead of
as a combination of constructs and tricky syntax, through specific concepts or application
areas, students can improve their opinion of programming in general.
Course instructors are often faced with the challenge that most students only take
the first course in the three programming course series. This differentiation from
traditional programming courses targeted to Computer Science students, who are required
to take all the courses in the programming series, creates the challenges of determining
an effective and appropriate course and project schedule, while at the same time enticing
students to further explore the field of Computer Science and the power of programming.
This paper is based on the experience of developing and of teaching of an
introductory course for non-engineers at the University of California, Los Angeles.
Contrary to the introduction to programming course, CS 31, for Computer Science
engineering majors, the PIC 10A course targets the general student body. It has three
main contributions, which are based on actual classroom experiences and a survey of the
related work. First, the basis for the approach to such a class is presented, including
university conventions. General considerations for course design are provided. Motivated
by the underlying themes presented, a series of topics that this paper proposes is critical
to include in an introductory programming class, specifically using C++, for
non-engineering students is outlined.

2. COURSE INFRASTRUCTURE
The University of California, Los Angeles (UCLA) is large research focused public
university in California. It has an undergraduate population of nearly 27,000 students,
where over 11% of the students are enrolled in the engineering school. The programming
course offerings at UCLA are split between the Computer Science department and the
Mathematics department's Program in Computing. This resulting split is due to a
historical decision to have only engineering school students enroll in the Computer
Science department's courses. As a result, the Math department created the Program in
Computing to serve the Informatics education needs of the rest of the university.
My experience teaching spans both introductory programming courses: the one for
engineers, called CS 31, and the one for non-engineers, called PIC 10A. With the
exception of a certain group of students, including Math and Linguistics majors, PIC 10A
is not a required course. Students can take the course to fulfill certain logical reasoning
general education requirements, however.
Introduction to programming is presented using C++. There exists another
complementary course which is an introduction to programming in Java. However, the
C++ course is the initial starting point to programming that is offered to non-engineering
students. There are two other courses in the C++ programming series, called PIC 10B and
PIC 10C, which cover more advanced topics, including inheritance, polymorphism, and
advanced data structures.

123
JCSC 26, 4 (April 2011)

3. BASIS FOR APPROACH


The introduction to programming course for non-engineers was a particularly
interesting course to plan and prepare, due to its unique challenges and considerations.
The following observations, trends, and conclusions colored my perspective in preparing
and delivering the course content.
It is commonly believed among the student body that the Program in Computing
classes are especially challenging. This perception is confirmed by the fact that they are
weighted 25% more heavily than most other classes. A similar opinion exists in the
engineering school with regards to the programming classes offered to the engineers. This
common misconception is not unique to UCLA. [1] [9] Students often come to the class
without prior knowledge of programming, which further intimidates them. This is
dissimilar to the Computer Science course, where there are often Computer Science
majors who taken and enjoyed a programming class in high school.
The intimidation factor has been shown to be especially detrimental to women. It
has been shown that students who may have a strong aptitude from the subject but lack
experience and confidence do not explore the field further [1].
Computer Science courses targeted to non-majors in general, and to non-engineers
in this case, provide an opportunity to change the negative perception of the field.
Computer Science is often perceived as a dry field, where syntax plays a vital role. [9]
An introductory course can educate the student population by demonstrating its
application oriented nature, by highlighting the field's love of puzzles and games, and by
showing how easily Computer Science supports ideas and practices in other fields. Even
the demonstration that computer scientists have a broad range of interests can be
surprising and inspiring for students seeking a broader experience in college.
Introductory classes to non-engineers provide an ideal opportunity to present the
power of programming as a tool for experts in other fields. In addition to demonstrating
the applicability and utility of employing programming in various fields, a broad range
of application areas can spark a strong interest and encourage a passionate response by
students. For example, a typical programming exercise for practicing the concepts of
strings and nested looping is the development of a subsequence matching program. A
simple modification of the problem to a gene sequencing application to determine the
percentage of relation between genes can help engage Biology students, as well as
provide an opportunity to mention the growing field of Computational Biology and its
influence on genomics.
More detailed examination of this point has been carried in various classes and
publications. [2] [7] [8] [10] [13] [14]. In a related fashion, [3] [5] use programming
projects to give a glimpse into the more advanced topics in Computer Science, instead
of using applications from other fields.
One significant phenomenon with non-engineering students is that they take one
course in programming and many do not move on to learn about the more advanced
constructs of programming, data structures, or algorithms. This can be due to two reasons
at UCLA: 1) only one programming course is required for several majors, including
mathematics, linguistics, and statistics, and 2) students who take a programming course
for enjoyment are still faced with strict unit and graduate requirements and generally can
only spare one class from their tightly scheduled four year graduate plans. As a result,

124
CCSC: SouthwesternConference

providing students with exposure to some critical concepts can enable them to search for
further details during their programming practice and after they have completed the
course.

4. PROVIDING AN OVERVIEW
The phenomenon where non-engineering students only have an opportunity to take
one programming course influences topic choices and their presentation ordering.
Providing students with exposure to some critical concepts encourages them to search for
further details, after they have completed the course.
The presentation of object oriented programming (OOP) from the beginning of the
course, I argue is important. OOP is the standard programming practice, yet its
introduction is often withheld until them end of the course schedule. This many not be
detrimental for Computer Science students who will go on to further explore OOP in their
other programming courses. However, if only a single programming course is taken, the
lack of exposure to OOP can prevent the level comfort necessary to use it at all or to deal
with its use in legacy code.
In the case of the C++ programming language, the power of the standard template
library is immeasurable. If students are not exposed to it at all, countless hours can be
wasted coding what can simply be imported. The very different notation can seem
overwhelming to students, who do not realize that the additional leap in thinking is small,
once objects and classes are understood.
Discussing vector immediately after the presentation of arrays addresses this
issue.Vectors are a more robust construct than arrays, and thus student adopt their use
early. Once the concepts of OOP are made clearer, the leap to a template class is eased
by the early exposure. Then the mere mention of other template classes strongly increases
the chance of a student exploring the other templates and having an easier time applying
them to future code.
Non-engineering students who program for research or for their job will almost
definitely be working with text files. Thus, the presentation of file I/O in the introductory
class is beneficial and useful. Additionally, the explanation of streams seems to answer
many questions that students have in their minds about how computer systems deal with
real-time input. Additionally, if file I/O is presented early in the quarter, it can allow a
greater level of project sophistication.
There is a debate about when to present recursion. Many textbooks present recursion
in conjunction with functions. However, Computer Science programming courses have
been known to skip the topic in favor of presenting it with stacks in more advanced
courses. Recursion is one of the most unique and interesting topics in programming. It
provides for small code, which again is appealing to students. Finally, introducing
students to a new way of thinking may just be the only part of the programming course
that some students take with them, and so it would be a shame to not expose students to
the challenging but fascinating concept of recursion.

125
JCSC 26, 4 (April 2011)

5. CONCEPTS: ON WHAT TO FOCUS STUDENTS


The shift in focus from constructs to tools can be a powerful motivator for
non-engineers to explore programming. One of the true advantages to learning how to
program is its application to other fields. The following applications of programming
presented here include specific mention of lecture examples and programming projects.
5.1 Simulation
One important use of computing in other fields is the extraction of computer
simulation results. The presentation of simulation, which occurs in conjunction with the
presentation of the pseudorandom generators, is joined with the concept of functions. The
syntax of functions and even their huge power in enabling large scale program
development, abstraction, or software engineering is distinct from the incredible power
of computer simulation. I propose that the concepts of functions and simulation be
separated, specifically, for non-majors, in an attempt to emphasize both. They are two
distinct topics despite their overlap in almost all programming texts.
There exist a broad range of interesting examples, project assignments, and lab work
that can be used to reinforce the concept of simulation, to demonstrate its potential
benefits, and to show examples where simple code is hugely powerful. The following are
some interesting examples.
1) Figuring out the value of pi by virtually throwing darts randomly at a circle
embedded in a square is a well suited application to a class with a large number of
Mathematics majors. A calculation of the ratio of darts in the circle versus the
numbers of total darts gives a numerical value for pi. [12] Precision is enhanced by
increasing the number of dart throws. This requires only simple programming skills,
specifically knowledge of arithmetic operators and iteration.
2) Agent based simulation research bridges the fields of simulation and animal
behavior, by defining rules that govern individual behavior and by then observing
the resulting effects of the rules on societies through simulation. This research area
has inspired a simulation project, which observes group behavior after individual
actors have their behavior biased towards certain actions. One project involves
determining how long civilizations will survive, if each individual kills, say, 50%
of the people from a different country, assuming an interaction rate of once per year.
This problem only requires knowledge of nested iteration and arrays. (The results
are surprising for peace lovers.) Such simulation can be interesting to the significant
number of social science students who take the course.
3) Revealing statistical phenomenon by using simulation, such as with the classic
drunken walk problem [12], is interesting to statistics students as well as social
students who take a significant amount of Statistics classes.
4) Simulation of the Monty Hall problem [11] (of whether to switch doors, after
guessing which door reveals a prize) is an exciting way to mention some television
history in a programming classroom.

126
CCSC: SouthwesternConference

5.2 Visualization
Visualization is an important component of various research fields, including
Computational Chemistry, Statistics, and Public Health. The ability to visualize data can
help develop theories in the social sciences and humanities and analyze data in the
sciences. Enabling skills for visualization range from the most basic, such as numerical
value display to the more sophisticated graphics package usage options. In an attempt to
provide an impression of the area the following programs have been useful.
1) In the presentation of arrays, one of the first examples used involves the displays
data in a rudimentary bar graph composed of asterisks. [4]
2) In lecture, the extraction of a conclusion from a large corpus of data encourages
student involvement. The example involves questioning students for a conclusion,
coding a simple display summary of the data, and then again attempting to draw a
conclusion about the data. Data from a bell curve has been my choice in the past
3) Finally, the following project is a way to expose students to library functions.
Instead of tedious examples from the math library, examples are done using
OpenGL, the graphic library in C++. The graphical display is exciting for many
students. One possible project is to have students reverse engineer the code for a
digitally generated image.

5.3 Text and Image Analysis


The ubiquitous nature of the internet and the large corpus of text data on the World
Wide Web have enabled the spread of text analysis and text mining approaches for
various needs. The introduction to such techniques can have a very broad level of
applicability in many fields, especially for students in linguistics, psychology, and
sociology. The following are some text and image analysis problems of various levels of
difficulty.
1) The Flesch readability index problem [11] is lengthy text analysis project, which
rates the readability of text in a file using a formula related to word and sentence
length. Students enjoy testing their own college papers for a readability score. It
reinforces may of the concepts presented through out an introductory programming
class.
2) A translation example which leverages statistical techniques is a great project for
exciting linguistics students. It reveals a great deal about the way translation is
accomplished today in pervasive tools such as Google translate, and thus it can be
an illuminating experience for all majors, as it makes a tangible connection to the
state-of-the-art in Computer Science research. It allows students to build confidence
in their skills, to help students begin to consider the option of graduate school. The
translation project involves students reading files that are direct translations of each
other, making statistical inferences, and then passing through testing files for
translation. This project requires knowledge of file I/O.
3) A simple silhouetting program that prints an asterisk if a pixel is greater than a
certain value and a space otherwise can display impressive images to the screen.
With the help of some template code that skips over file I/O in the first weeks of the

127
JCSC 26, 4 (April 2011)

course, when student only have the skills to print to the screen and to do some
simple comparisons, the image analysis example appears as very substantial
accomplishment.

6. CONCLUSION
In this paper, a practical approach to teaching an introduction to programming was
presented. Specific issues related to teaching the course to non-engineering students is
presented including, their intimidation factor, the large numbers of students who do not
continue with the advanced programming courses, and the requirement to provide an
intellectually challenging course in the programming language of C++. Various
programming projects are presented, with an explanation of their appropriateness for such
a course. It was argued that the material does not need to be modified, but instead the
topic ordering and the choice programming projects should be tailored to the students'
needs and interests.

7. REFERENCES
[1] Carter, L. 2006. Why students with an apparent aptitude for computer science
don't choose to major in computer science. In Proceedings of the 37th SIGCSE
Technical Symposium on Computer Science Education (Houston, Texas, USA,
March 03 - 05, 2006). SIGCSE '06.
[2] Cortina, T. J. 2007. An introduction to computer science for non-majors using
principles of computation. SIGCSE Bull. 39, 1 (Mar. 2007), 218-222.
[3] Marie desJardins, Michael Littman, Broadening student enthusiasm for computer
science with a great insights course. In Proceedings of the 41st ACM Technical
Symposium on Computer Science Education, (Milwaukee, Wisconsin, USA,
March 10-13, 2010).
[4] Deitel, H. M. and Deitel, P. J. 2002 C++ how to Program, Fourth Edition. 4th.
Prentice Hall Professional Technical Reference.
[5] Dodds, Z., Libeskind-Hadas, R., Alvarado, C., Kuenning, G. 2008. Evaluating a
breadth-first cs 1 for scientists. In Proceedings of the 39th SIGCSE Technical
Symposium on Computer Science Education, (Portland, OR, USA, March 12-15,
2008)
[6] Forte, A., Guzdial, M. (2005) "Motivation and Non-Majors in CS1: Identifying
Discrete Audiences for Introductory Computer Science" IEEE Transactions on
Education. 48(2), 248-253.
[7] Gimenez, O., Petit, J., and Roura, S. 2009. Programacio 1: A pure
problem-oriented approach for a CS1 course. In Procedings of the 4th Informatics
Education Europe (Freiburg, Germany, November 2009).
[8] Goldman, K. J. 2004. A concepts-first introduction to computer science. In
Proceedings of the 35th SIGCSE Technical Symposium on Computer Science
Education (Norfolk, Virginia, USA, March 03 - 07, 2004).

128
CCSC: SouthwesternConference

[9] Hatziapostolou, T., Sotiriadou, A., and Kefalas, P. Promoting Computer Science
programmes to potential students: 10 Myths for Computer Science. In
Proceedings of the 3rd Informatics Education Europe (Venice, Italy, December
2008).
[10] Hambrusch, S., Hoffmann, C., Korb, J. T., Haugan, M., and Hosking, A. L. 2009.
A multidisciplinary approach towards computational thinking for science majors.
SIGCSE Bull. 41, 1 (Mar. 2009), 183-187.
[11] Horstmann, C. and Budd, T. 2008 Big C++. 2nd. Wiley Publishing.
[12] R. Sedgewick and K. Wayne. Introduction to Programming in Java: An
Interdisciplinary Approach. Addison Wesley, 2008.
[13] Smarkusky, D. L., Toman, S. A. 2009. An interdisciplinary approach in applying
fundamental concepts. In Proceedings of the 10th ACM conference on
SIG-information technology education, (Fairfax, Virginia, USA October 22-24,
2009).
[14] Zhang, M., Lundak, E., Lin, C., Gegg-Harrison, T., Francioni, J. 2007.
Interdisciplinary application tracks in an undergraduate computer science
curriculum. In Proceedings of the 38th SIGCSE technical symposium on computer
science education, (Covington, Kentucky, USA, March 07-11, 2007).

129
PIXELS AS POLYMERS: UNIFYING INTRODUCTORY

BIOLOGY AND COMPUTER SCIENCE THROUGH VISUAL

COMPUTATION*

Zachary Dodds, Ran Libeskind-Hadas, and Eliot Bush


Harvey Mudd College
301 Platt Blvd.
Claremont, CA 91711
corresponding author: dodds@cs.hmc.edu

ABSTRACT
We present the design and deployment of a visual-computing curriculum
developed for a crossdisciplinary introduction to biology and computer
science. Using the accessible Python programming language and its many
libraries, first-year undergraduates simultaneously investigated fundamental
biological and computational concepts, satisfying both CS and Biology
curricular requirements. Although not every homework exercise built upon
visual computing, pixels did play a predominant role throughout the
semester-long experience. With this paper we describe this curriculum, its
assignments, and its supporting materials; these resource have already proven
valuable in CS-only and Biology-only courses at our institution. Our
experience suggests that pixels can serve as "polymer," providing a motivating
example of the growing interrelationship between the biological and
computational sciences for students of either - or both - fields.

MOTIVATION
Life computes. Perhaps nowhere does that soundbite resonate more strongly than
in the creation, processing, and interpretation of visual data. In visual processing, modern
Biology and Computer Science are deeply interdependent, a relationship that both fields
see deepening in the future [3,4]. Despite this symbiosis, curricular approaches to
Biology and CS tend to emphasize their differences instead of their fertile - and growing

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

130
CCSC: Southwestern Conference

-- common ground. Undergraduate curricula merge late, if at all, thus discouraging


students from building an identity in both fields. Introductory courses, almost without
exception, remain tethered to respective parent departments.
Believing that tomorrow's Bio and CS courses will better serve students through
closer early integration, we experimented with a two-term unified BioCS curriculum in
2009-10. In BioCS1, biology's central dogma and CS's basic control structures formed
complimentary toolkits with which students became familiar through hands-on problem
sets and labs [1]. BioCS2, however, posed a greater conceptual challenge: what theme
would spur second-semester programming skills, motivate the nuances of molecular
evolution and population genetics, deepen algorithmic thinking, and serve as foil to
neuronal information-handling? We found that visual computation served all of these
ends in natural way. Pixel-processing tasks, both synthetic and analytic, offered a series
of assignments that conveyed both introductory biology and introductory computer
science in a manner that served students of either major well.

Related work and Contributions


This effort rests on the shoulders of at least a decade-long foundation of
collaborative Biology and CS education, in which bioinformatics now dominates the
collaboration. Bioinformatics-specific courses and programs abound. Because our
BioCS1 emphasized bioinformatic connections, BioCS2 had an opportunity to draw
inspiration from the success of media-based contexts for CS 1, as popularized by Guzdial
and others [5,6].
Yet in contrast to these curricula, BioCS2 sought to provide CS1 and Bio1
backgrounds sufficient to support students in both majors: each discipline already serves
as context for the other. To support both disciplines fully, BioCS2 pushed pixels beyond
these previous exemplars in several ways. First, students explored external libraries to
render 2d and 3d models of evolutionary concepts. Later, students extended traditional
media computation tasks, e.g., green-screen processing, in order to more actively analyze
images of biological structures: gel lines and microphotographs of cells. Thus, with this
paper we contribute
• Weekly assignments and a larger final project used to motivate introductory biology
and CS through visual computing -- without overwhelming the core concepts in
those constituent fields (Section 2).
• Examples of student submissions that helped us refine these materials (Section 2).
• Results and perspective of both students and faculty from the initial deployment of
this curriculum and how it has contributed to CS-only and biology-only courses
since then. (Section 3).
Although we await further data from students' future major/enrollment choices and
their performance in subsequent CS and biology courses, the evidence thus far shows that
visual computing can succeed as a unifying theme for interdisciplinary collaborations,
just as it can for CS1.

131
JCSC 26, 4 (April 2011)

THE CURRICULUM
In the spring of 2010 twenty students continued a two-term introductory BioCS
curriculum with BioCS2, two lectures and a two-hour closed lab per week. This structure
was identical to BioCS1 and to our single-discipline CS 1 and Bio1 courses, except that
Bio1 replaces lab with a recitation section. Because we encourage pair-based
programming and problem-solving except on exams, we felt that BioCS's labs could serve
in lieu of recitations. Our experience in BioCS1 confirmed this, as well.
We took pains to ensure that Biology and CS had equal footing throughout the
course. A biologist presented Monday's lecture each week; the second lecture, by a CS
professor, connected a fundamental computational idea with Monday's topic. For the
weekly assignments, students combined these ideas in order to solve, model, or explore
two to five biological challenges, i.e., homework problems. Python was the
computational currency of these student homework assignments. We used both a popular
biology text [7] and an in-house CS monograph.
Figure 1 summarizes BioCS2's syllabus, showing its integrated presentation as five
three-week modules and a subset of student homework. Those assignments typically
asked students to implement small programs that examined or exercised the week's
biological ideas; a few problems had no programming at all. Of the class's 12 weekly
homework assignments, nine of them involved pixel-processing: these are listed at right.
In the following sections we detail how their context created hands-on connections
between biology and CS.

Populations of organisms and populations of objects: 2d and 3d graphics


The first two modules of BioCS2 married seemingly disparate topics. On one hand,
they covered the mechanisms of natural selection and population genetics.
Computationally, we sought to introduce the structures of object-oriented programming:
BioCS1 had covered imperative and recursive programming. Despite their apparent
differences, both topics share a part/whole design tension that students investigated.
Whether they are organisms or objects, individuals have both a group identity, such as

132
CCSC: Southwestern Conference

the shared structure of their class or species, as well as local state, as determined by data
members or environmental conditions.
Emergent swarming
The initial assignment asked students to try their hand at simple object-oriented
design by building a Vector class. Students then applied their custom data structure to
model ant-like organisms interacting in a 2d world. Each ant's intrinsic behavior was
identical - after all, the same methods were used to implement it - specifying that each
ant object take small, synchronized steps toward their nearest ant neighbor.
An interesting model of swarming in its own right, the exercise came to life through
visualization. Students familiarized themselves with Python's built-in turtle library in
order to see the emergent behavior of ant groups. When started at the corners of a square,
the ants converge by spiraling toward the square's center. Open-ended investigations
prompted the realization that any random initial ant population (modulo tie-breaking)
would converge to their center of mass. Such group-behavior investigations are only
possible through the object abstraction, and its impact increases through visual
representations students have created. Figure 2 shows examples from student work on
these assignments, as well as the subsequent extensions they created.

Figure 2 (left) An example of seven ant trails converging where expected and one
where four spiral to the center of a square. The four panels show examples of art created
atop students' own Shape class hierarchy. (right) An example of snowman-shaped Critter
objects created with VPython. At top, two populations of Critters adapt to different
selection pressures; beneath is a plot showing the resulting speciation.
Inheritance through Shapes
The subsequent assignment took advantage of students' familiarity with 2d graphics
by asking them to create an object-oriented shape-drawing engine on top of the turtle
library. They used inheritance in their own Shape hierarchy, factoring out common
functionality and overriding methods where specialization was needed. Figure 2 also
shows some of the artwork students built with their own Shapes.

Modeling population genetics


Computation and biology merged again quickly: students next created a class
hierarchy to model populations more sophisticated than ants. From the base class,
Organism, students derived a personalized Critter class. Each Critter object, in turn,

133
JCSC 26, 4 (April 2011)

maintained individual genetic alleles as data members. Parent-child relationships modeled


genetic inheritance of these alleles.
Although Hardy-Weinberg analysis of allele populations is part of every Bio1
offering, here students augmented that analysis with custom-deisgned phenotypes, i.e. the
look, of their own Critter, based on alleles present. They used VPython's class library of
3d primitives, whose learning curve was made gentler by the previous weeks' 2d
experiences. The students' creations in Figure 2 (right) underscore the personalization that
computation can add to biological themes: students enjoyed comparing each other's
creations and they encouraged each other to go above and beyond the homework's
minimum requirements.
Because of the shallow learning curve for 3d rendering, the assignments could focus
on the biology. In the first of these two weeks, students implemented attributes needed
to investigate population genetics:
• their Critter populations had to exhibit at least two allele-based phenotype sizes
• Critters had to wander randomly atop a planar environment
• Each Critter was either male of female; pairs reproduced if close enough.
• Each Critter's age was tracked, including an age of sexual maturity and a finite
lifespan.
• Most important from a biological point of view, the Critters of different phenotypes
had a different chance of dying with each time step. The cause might be predation,
e.g., larger Critters have an increased chance of survival because they can better
fight off predators. Others modeled competition for resources, e.g., medium-height
Critters might feed from both trees and the ground, giving them an advantage over
short or tall organisms.
With these behaviors and environmental pressures in place, students then
investigated how the distribution of alleles changed over time: genetic evolution. In the
following week students investigated geographic influences on genetic evolution. They
implemented
• an extended environment for their Critter populations, including two areas with
natural barriers between them, such as a mountain range or a body of water
• a migration-rate parameter that represented the interaction between those two
environmental areas, and
• a parameter controlling the selectivity of the mating behaviors of the Critters of
different phenotypes.
This expanded model is rich enough to demonstrate, from first principles, the
creation of two species from a single ancestral population. Figure 2 (right) shows an
example of the speciation that evolved from student work, along with a plot of Critter
allele frequencies that demonstrate the species split quantitatively. The computation-early
approach of BioCS2 makes such investigations more natural and flexible than traditional
Biology 1 curricula. In addition, the model, its interactions, and its visualization were all
built by the students themselves. As a result, the combination benefits both the biological
and computational skills, rather than detracting from them.

134
CCSC: Southwestern Conference

Behavioral ecology and optimization algorithms: visualizing phylogenetic trees


We did not attempt to shoehorn visual computing into topics we felt could be better
served through alternative computational interfaces. For instance, the third module of
BioCS2 transitioned from species' evolution to their behavioral ecology. Its
computational focus was algorithms: intraspecies approaches to optimizing behavior and
interspecies differences as described by phylogenetic trees.
Thus, in this module students experimented with the action-choices made by blue
herons as they seek to minimize their energy expenditures and maximize their energy
intake (from hunting). They also wrote and tested the UPGMA (Unweighted Pair Group
Method with Arithmetic Mean) algorithm [8], which estimates phylogenetic trees from
genetic sequence data. Even here, we could not resist asking students to exercise their
new skills with 2d and 3d graphics. Figure 3 (left) shows one result. We contrast this
result with our strictly-biology courses in which students are provided instructions on
how to use a provided visualization program. Certainly there is nothing wrong with using
any and all tools available, but in this crossdisciplinary curriculum, the students can
demonstrate an understanding of how their visualizations are being built, rather than
taking them on faith.

Figure 3 (left) A 2d rendering of a phylogenetic tree whose visual representation


and genetic distances were computed by a student's program. (right) A raw gel
electrophoresis image along with a student-processed version in which lanes are bounded
by yellow lines on the left and cyan lines on the right.

Gel electrophoresis wet-labs and analysis


The following module included the only wet-lab among the semester's work.
Students prepared samples of their own DNA; they ran those samples through an agarose
gel to determine which students have a particular ALU insert in their genome and which
do not.
As the output of such gel electrophoresis testing is an image, this module offered a
natural opportunity to reconnect to our visual computing theme. The computational
lectures, without much insight to offer on ALU inserts, instead turned to image
processing. Our ultimate goal was that each student would write a program to analyze the
gel's image with their DNA. As Figure 3 shows, gels naturally succumb to techniques of
binary image-processing, as long as care is taken to handle the considerable noise and
varying strength of the lanes, vertical in the figure, and bands, the horizontal streaks
indicating the presence of DNA molecules of a specific length.

135
JCSC 26, 4 (April 2011)

To build up the requisite background in image processing, in the week before


gel-analysis we asked students to segment their own green-screen images and create
composites involving backgrounds and foregrounds of their own choosing. Borrowed
directly from Guzdial's media computation work [5,6], this homework motivated students
to develop facility with threshholding, triply nested loops (rows, columns, and color
bands), and the multiple image sources needed to create the composites shown at right
in Figure 4. As is apparent, students enjoyed the creative freedom of this activity. To
handle the many image file formats and simplify access to their pixel data, we introduced
the Python Imaging Library (PIL) and its API. By this point in the term, students felt
confident in using online resources to explore API calls beyond the few we had time to
present in class.
We extended these skills with optimal threshold-choice (Otsu thresholding) and
strategies for edge-finding and non-maximal suppression in the following week. With
these techniques available, students were able to find and identify their gels' lanes
automatically, as shown in Figure 3. Even though the results of the DNA tests were
apparent by inspection, students appreciated the efficiency and scalability of their
image-processing approach for applications that require high-throughput analysis of
genomic data.

Final projects: Vision and cell identification


In working with their gel images, students developed an appreciation for how
difficult it can be to build robust systems that process real images. Students found
automatic lane-extraction one of the most challenging assignments of the term,
contrasting starkly with the ease by which students can pick out the same features. We
used this insight to motivate the lecture topics of the final module: the computational and
biological basis of vision. The three weeks examined the biology of brains, as motivated
through the vision system that dominates many organisms' nervous systems, and a look

136
CCSC: Southwestern Conference

at the computational models and algorithms that have arisen to solve the same tasks,
albeit not always as successfully.

While these lectures provided a compelling and unified conclusion for the lecture
material of BioCS2, the assigned work culminated in a single final project. Students
chose from three options: (1) creating genetic algorithms, (2) computing the functional
fraction of the human genome, or (3) automatic visual identification of live vs. dead cells.
This image-processing option was a truly open challenge: the images provided came from
one of our bioengineering labs whose students were counting cell survival by hand. Half
of the twenty students chose this vision challenge, in which they had free reign to design
their own approach to the problem. As Figure 5's results show, the resulting software
provided a first-pass classification that speeds a human observer in the task;
unfortunately, the bioengineering project concluded at the same time BioCS2 did!

RESULTS AND PERSPECTIVE


Because BioCS2 set out to provide an integrated treatment of the second half of Bio
1 and CS 1, we have compared end-of-term survey results from students in BioCS2 with
those from Bio 1 and CS 1. As Table 1 (left) suggests, the visual computing theme seems
not to have detracted from students' interest, self-reported gains, or enthusiasm for the
topics. The usual confounding factors apply here, to be sure: the students in BioCS2
might have been those with higher intrinsic interest and energy even before taking the
course! By including the previous term's BioCS1 results, it seems that the addition of
visual computing, where appropriate, also did not diminish the course's effectiveness
among those students who opted for BioCS:

137
JCSC 26, 4 (April 2011)

Equally important has been topic-transfer from BioCS2: many of these homework
problems have become a part of other courses at our institution. Table 1 (right)
summarizes these contributions. In only the first semester since BioCS2's offering, both
the accelerated and standard CS1 courses and the BioCS1 course have changed their
curricula in order to include some of the successful assignments described above.
Although the fate of BioCS is uncertain, the fate of BioCS's curriculum is not: it has left
a lasting contribution to several other courses. Changes of a similar spirit are under
consideration for Spring 2011's offering of Biology 1.
This experiment suggests that the judicious use of visual computation offers students
motivation and context not only in CS 0/1 but also in more specialized computational
offerings. What's more, visual computation can help bridge CS with other disciplines,
biology and others. All of BioCS 2's materials - lecture slides, homework assignments,
support files, and lab problems - are available at [2]. We hope these resources will
contribute to ongoing efforts to make early CS and/or Biology courses as effective as
possible, whether presented in tandem or through more traditional, separate curricula.

ACKNOWLEDGMENTS
The authors thank the Howard Hughes Medical Institute (award #52006301) and the
NSF (CPATH #0939149) for their support, as well as the HMC Biology and CS
departments for both funds and leeway!

REFERENCES
[1.] Dodds, Z., Libeskind-Hadas, R., and Bush, E. 2010. When CS 1 is biology 1:
crossdisciplinary collaboration as CS context. In Proceedings, ITiCSE '10.
219-223.
[2.] https://www.cs.hmc.edu/twiki/bin/view/CS6/Fall2009HW, url accessed Dec. 6,
2010.
[3] Board on Life Sciences. 2003. Bio 2010 Nat. Acad. Press.
[4] 2020 Science Group. 2005. Towards 2020 Science Microsoft.
[5] Tew, A E, McCracken, W M, and Guzdial, M. 2005. Impact of alternative
introductory courses on programming concept understanding. Proc. ICER 1
ACM Press: 25-35.
[6] Guzdial, M. and Tew, A. E. 2006. Imagineering inauthentic legitimate peripheral
participation: an instructional design approach for motivating computing
education. In Proceedings, ICER 2 ACM Press: 51-58.
[7] Sadava, D, Heller, H, Orians, G, Purves, W, and Hillis, D. Life: The Science of
Biology, W. H. Freeman and Co.
[8] Michener, D. D. and Sokal, R. R. A quantitative approach to a problem in
classification. Evolution, 11:130-162, 1957.

138
HOW TO ORGANIZE A PROFESSIONAL DEVELOPMENT

WORKSHOP FOR HIGH SCHOOL CS TEACHERS*

CONFERENCE TUTORIAL

Lecia Barker
NCWIT
School of Information
University of Texas at Austin
(512)232-8364
Lecia@ishool.utexas.edu

Joanne McGrath Cohoon James P. Cohoon


NCWIT Department of Computer Science
Science, Technology & Society University of Virginia
University of Virginia (434)982-2210
(434)243-2143 Cohoon@virginia.edu
jmcohoon@virginia.edu

Students' introduction to the subject of computer science (CS) can have long-lasting
effects on their ability and motivation for further study. For that reason, it is particularly
important that high school CS teachers master both content and inclusive pedagogy. To
promote these competencies, this conference session offers guidance and resources for
organizers of professional development workshops for high school CS teachers. Session
attendees are given tools for organizing workshops that enable high school teachers to
attract more and diverse students to computer science. Through presentation, discussion,
and professional quality materials from NCWIT (the National Center for Women and IT),
the attendees will learn about methods for planning and implementing workshops that,
according to evaluations from several years of workshops, enable over 80 percent of
participating teachers to succeed in recruiting more students, more girls, and more
minority students to their high school computer science classes.

___________________________________________
*
Copyright is held by the author/owner.

139
FACE-TO-FACE EXPERIENCES FOR ONLINE STUDENTS:

EFFECTIVE, EFFICIENT, AND ENGAGING HYBRID

CLASSES*

Todd Whittaker and Esmail Bonakdarian1


Franklin University
201 S. Grant Avenue
Columbus, OH, U.S.A.
{ whittakt | esmail }@franklin.edu

ABSTRACT
For the last four terms, we have been experimenting with a "hybrid"
instructional format that aims to combine the best elements of a face-to-face
and online experience. This paper continues to report on our experiences with
our hybrid format. We evaluate the effectiveness of this approach within the
e3 framework[5] and report on the resulting classroom experience and student
perceptions. We also describe the technology and touch on design elements
necessary for a successful hybrid format. At a time when a number of
educational institutions are expanding to online, both to fulfill their mission
and expand their markets, it is useful to be aware of the options for online
instruction. Based on student surveys and faculty feedback, our hybrid
approach is no worse than face-to-face and offers a better online experience
than a traditional asynchronous online class.

1 INTRODUCTION AND MOTIVATION


Many educational institutions are starting to include online courses in order to reach
a larger potential population of students. This demographic includes working adults,

1
Both authors contributed equally to the project

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

140
CCSC: SouthwesternConference

disabled people, geographically dispersed students, and those with schedules that make
it impossible for them to attend traditionally scheduled university classes. However, many
potential students, having only experienced face-to-face classes previously, may be
hesitant to try online education. Universities are also faced with the problem of public
perception of the quality of online instruction (i.e., concerns about rigor and student and
faculty engagement) and the resistance of some faculty to radically change their teaching
style[7, 8].
We believe that our hybrid approach deals with these potential problem areas in an
effective way. Teaching and learning in a hybrid environment, while requiring some
adaptations, is not a radical departure from traditional classroom based instruction for
either students or instructors as both online and face-to-face students share the same
instructional experience. We base these assertions on our institution's nearly one decade
long experience of delivering both face-to-face and online courses successfully to a broad
spectrum of students.
In addition to the economic benefits of reaching more students, this format can also
be used to combine two or more low-enrollment classes (both face-to-face and online)
even across several campuses into a single viable class. The hybrid format offers a
reasonable compromise for low-enrollment classes that satisfies both student populations,
faculty, and administrators concerned about cancellations.
We believe that our hybrid format combines the most desirable elements from
face-to-face and online instruction without sacrificing either instructional quality or
intellectual rigor. For four terms we placed face-to-face and online students in a single
class and evaluated its efficacy using the e3 framework[5]. In this paper we report on
lessons learned from a practitioner's point of view: what worked, what didn't, and how
students and instructors perceived this hybrid experience. We also discuss technical
requirements for this format to be effective, and issues of scalability.
Our paper is organized as follows: Section 2 briefly describes the characteristics of
the major instructional formats. Sections 3 and 4 explain our hybrid approach followed
by our analysis and assessment within the e3 learning framework. We conclude our paper
with some suggestions for future work in section 5.

2 MAJOR MODES OF INSTRUCTIONS


For the purposes of our paper, we identify the following instructional formats:
2.1 Face-to-Face
The familiar classroom setting, where students and a teacher gather at a regular time
in a physical location is the most common and traditional instructional format. It offers
many benefits: there is communication between students and instructors without the need
for any intermediate layer of technology, feedback, especially non-verbal, and questions
can be handled immediately and instructors are able to use a wide variety of techniques
to actively engage students, such as in-class exercises, group discussions, black board
diagrams, and role playing, all leading to high levels of interactivity. This format requires
students to be present at a regular time in a specified place.

141
JCSC 26, 4 (April 2011)

2.2 Online
In a strictly online environment, all instruction and communication is computer
mediated using tools such as e-mail, instant messaging, bulletin board postings, and
announcements. We distinguish between synchronous and asynchronous online
environments. A synchronous online environment requires students to participate in some
synchronous activity such as a web-meeting or chat room. Those unable to attend must
submit some alternate assignment, such as review, summary or reflection on the recorded
session.
In an asynchronous online course, students are free to attend online office hours via
web meetings, but there is little or no instructor presentation of material and most
learning takes place through required reading assignments or pre-recorded videos.
Students have control over when to schedule their work within the bounds of assignment
due dates. This may be the only way some students can attend college.

2.3 Blended
Various mixed mode instructional formats have been explored by universities to
cope with low enrollments, shortage of instructors or classrooms and for economic
reasons. Much of the work has concentrated on what is called the blended format, where
the traditional face-to-face class is augmented with online components (bulletin boards,
video, links, tutorials), typically in an effort to reduce seat-time.
A three-year survey by the Sloan Consortium of 2033 adults interested in
postsecondary education at approximately 1000 public and private US institutions,
characterized the blended format as "having between 30 and 79 percent of the course
content delivered online"[1].

2.4 Hybrid
While the terms hybrid or blended instruction are often used interchangeably, our
use of the term "hybrid" is a deliberate choice. Our format endeavors to deliver the
quality of face-to-face instruction with the reduced synchronous requirement of online.
Hybrid, as used here, creates a persistent format, which combines elements from the
traditional face-to-face and online format such that both populations share the same
experience at the same time.
Although much less work has been done in the area of combining both face-to-face
and online students in the same classroom, a study by Park and Bonk[6] combined local
and distance graduate students and reported a positive experience in spite of the
synchronous elements for the distance students.

3 OUR HYBRID MODEL


In our hybrid model face-to-face and online students are integrated into the same
class at the same time[2, 3]. Using common web meeting software such as Elluminate
or DimDim, along with appropriate audio mixing hardware and webcams, we enable full

142
CCSC: SouthwesternConference

video and audio feeds among all participants. This allows face-to-face and online
attendees to participate fully and increases overall engagement.

3.1 Required Technology


Much of the requisite hardware for hybrid delivery is already available in a
reasonably equipped technology classroom. Specialized audio equipment (wireless
microphones, conferencing systems, and echo-canceling mixers) is expensive at about
$14,000.00 per configuration. However, these can easily be made portable and shared
across several classrooms. The complete list of technology we used consists of:
! A classroom equipped with PCs for each face-to-face student;
! A projection system, preferably one that permits control of the computer from the
screen, such as a SMART Board™ or SMART Podium™;
! A wireless lavaliere microphone and mixer tied into the instructor's computer;
! Wireless microphone/speaker combinations for each face-to-face student; and
! Web meeting software
PCs and wireless microphones per student are not strictly needed for an entry into
hybrid delivery. However, their lack places an additional burden on the instructor to
repeat questions for the benefit of those who either cannot hear the face-to-face students
or see the online students' text messages. In fact, the minimum setup would be a
computer and inexpensive bluetooth headset for the instructor, free web-meeting software
such as DimDim, and a projection system for the classroom.
We believe this setup will scale well for classes designed for interaction between
students and instructors. That is, whether one or several hybrid sections are offered
should not present a problem assuming that the necessary infrastructure can be provided.
Large lecture based face-to-face or online classes would benefit more from lecture
capture as there is already limited opportunity for interaction.

3.2 Pedagogical Approaches


As with typical blended learning approaches, the hybrid approach must shift student
time distributions without reducing overall time commitment. As such, the design of the
course becomes a critical factor to maximize the effectiveness of the synchronous contact.
Out-of-class activities become the cornerstone of preparedness for the class meeting.
Furthermore, post-meeting activities are also crucial for reinforcing what was discussed
in the meeting.
Synchronous sessions are conducted from a computerized classroom and require
substantial preparation time since whiteboard-based lectures are difficult without
stylus-based input devices. Meetings are limited to 1.5 hours and recorded to
accommodate online students who cannot attend on any given evening. However,
students don't have lesser time expectations compared to traditional classes, and the
difference is made up in other activities, both face-to-face and online. Table 1 compares
the time spent in each activity for online, face-to-face and hybrid students.

143
JCSC 26, 4 (April 2011)

Face-to-Face Online Hybrid


Synchronous contact 4 0 2
Out-of-class activities 4 0 2
Readings 2 2 2
Assessments 3 3 3
Total 10 10 10

Table 1: Time distribution (hours per week) of student learning activities[3]

3.3 Our Experience


We have taught four semesters of two different classes under two different
instructors using our hybrid approach. These were undergraduate data structures or
algorithms courses, with 10-12 students total in each hybrid class, with as few as three
and up to eight face-to-face students in a class. While there is a large range in our student
body in terms of demographics, most of our students are working adults in their late 20s
and above.
For face-to-face students, we used a classroom equipped with computers and
wireless desk microphones for each student but simultaneously projected the
web-meeting screens. Thus, all face-to-face students were able to see the participation
of the online students and the online students could listen in on the face-to-face students.
During the synchronous sessions, students were able to discuss solutions to previous
exercises (pre-class activities and homework and lab assignments), see and hear the
instructor present new material, observe live coding demonstrations through desktop
sharing, and preview new homework and lab assignments. They could also interact with
each other and the instructor throughout the session via instant messaging and
microphones. Most face-to-face students expressed a preference for using microphones
while their online peers were partial to instant messaging [3]. Students unable to attend
live reviewed recordings and reflected on both on the content and what they learned.
Based on feedback from our pilot, we added a live video feed of the classroom via
a web-cam for a subsequent offering, but this was dropped in later terms as it turned out
to be a low rated feature that also increased both the recording storage and streaming
requirements by an order of magnitude.

4 ANALYSIS AND RESULTS


Over the course of four terms, we surveyed the students who were still in the class
during the week of the final exam. Surveys were sent to 29 students, 21 of whom
responded. Of those, 10 were face-to-face students, and 11 were online students. Prior
to this hybrid class, respondents had taken, on average, more than twelve courses in the
face-to-face format and more than ten courses online. None had significant experience

144
CCSC: SouthwesternConference

in either hybrid or blended formats. We asked questions about various structures in the
course within the context of e3 learning. Furthermore we asked instructors about their
perceptions of both the effectiveness of the delivery format for students and the
differences between teaching in this mode versus a standard online or face-to-face class.

4.1 e3 Learning
We chose to apply the e3 learning framework as a way to evaluate our hybrid format
as it focuses on assessing the level of effective, efficient and engagement of the learning
environment[3]. The e3 framework considers these characteristics as desirable features
of the instructional environment. Doering and Veletsianos[4] define the three attributes
of the e3 approach as follows:
! "Effectiveness refers to the ability of a program to achieve its proposal goals ... "
! "Efficiency means doing so with the least resources possible ... "
! "Engagement refers to students investing themselves in the experience of learning,
immersing themselves in the learning experience, enjoying the process, and being
involved in learning."
To help our students provide usable responses in the survey we used the following
straight-forward paraphrase of the above:
! Effective: helped me to learn
! Engaging: held my interest
! Efficient: used my time well
To provide an e3 learning environment, instruction must be problem-centered,
integrated with students' daily lives, relevant to students' previous experiences,
applicable, and demonstrative[5].

4.2 Student Results


Using a Likert scale from 5 (high) to 1 (low) students rated how effective, engaging,
and efficient each of the major hybrid class components were. For simplicity of analysis
we grouped the five responses into three categories of positive, neutral and negative.
Components included each major pedagogical element, including pre-class learning
activities, instructor-led synchronous sessions, post-class learning activities,
student-to-student interactions, student-to-instructor interactions, recordings,
demonstrations, homework assignments, lab assignments etc. We concentrate our
analysis on those elements that are specifically relevant to the hybrid format.
The most effective components were the instructor-lead synchronous sessions and
the live interactions with the instructor with 90% of student rating them either effective
or highly effective. Second to the synchronous sessions were the recordings of the
synchronous sessions with 71% of students responding positively. Interestingly, this
included a large plurality of the face-to-face students whose written comments indicated
that the recordings were particularly helpful when studying for exams or working on their
homework and lab assignments. Live coding demonstrations and post-class learning
activities also rated well at 67% and 57% positive respectively. Students were neutral

145
JCSC 26, 4 (April 2011)

regarding the pre-class learning activities, even though those activities (and their
solutions) formed the basis of the instructor lead synchronous sessions. Finally, contrary
to our initial design criteria, students did not seem to appreciate the student-to-student
interactions afforded by the hybrid format with effectiveness ratings distributed across
a bell-curve. See figure 1.

Figure 1: Effectiveness Figure 2: Engagement Figure 3: Efficiency

The most engaging components were again the synchronous sessions and instructor
interactions at 76% and 90% positive responses. Live coding demonstrations were also
at 76%. We again saw that pre-class learning activities and interactions with peers were
among the least engaging elements with most students being at best neutral toward them.
See figure 2.
Finally, the most efficient use of time was dominated by what we have already seen
with synchronous sessions and student-teacher interactions at 86% positive responses
each. Live coding demonstrations and recordings of the sessions were again high runners
at 71% and 62% respectively. Although not in a majority, here the pre-class learning
activities scored relatively well at 43% rating them as highly efficient or efficient. So,
while students didn't appear interested, and said they didn't learn from them, a significant
number believed them to be a reasonable use of their time. Again, low-ranked were
student-to-student interactions with the distribution being a normal curve. See figure 3.
The summative questions asked students to compare the hybrid to typical
face-to-face and online classes. Here, the results were mixed. Compared to face-to-face,
the hybrid was marked as being more efficient, but equally as engaging and effective.
Compared to a typical online class, however, the hybrid format was a clear winner, being
rated more effective, more engaging and more efficient than online by 71%, 76% and
71% of students respectively. Concluding, 86% agreed or strongly agreed that the hybrid
format was preferable to a standard (asynchronous) online course. No clear preference
was exhibited for hybrid over face-to-face or vice-versa.

4.3 Instructor Perception


Subjectively, instructors were pleased with the format since face-to-face interactions
with students were substantially more engaging for them than interacting strictly through
bulletin board postings, e-mail messages, and required assignments. In asynchronous

146
CCSC: SouthwesternConference

online courses, "office hours" through web-meeting software were poorly attended.
However, by adding the required synchronous component to the hybrid format,
participation from online students increased substantially. Furthermore, the hybrid can
be location independent. In exigent situations (weather emergencies, holidays, etc.) the
class can go completely online and yet still deliver content.
There were some drawbacks to the instructor, however. Foremost was that one
cannot simply take a typical face-to-face class and force it into the hybrid format. It takes
a significant effort to develop the introductory and reinforcing activities needed to
redistribute the student time investments. Second, spontaneity through a web-meeting
tool is very difficult due to the limitations of the user interface. This might be mitigated
by stylus-based input devices, but nonetheless, one cannot merely go the chalkboard and
sketch a solution to a student question. Third, it is difficult to distill a week's worth of
material into a 1 to 1.5 hour presentation including homework and lab solutions,
demonstrations, and question and answer sessions; yet this is all that an online student can
typically endure at a single sitting.
Finally, there are a number of logistical elements for which preparation is needed.
In one class session, the wireless microphones and mixers weren't delivered and so the
class was conducted with a headset and a microphone extension cable. Preparation for
network outages is much more difficult as this kind of format is heavily dependent on
working technology. In that case, it is necessary to schedule a separate meeting for the
online students.
The potential exists for instructor bias as one of authors was also one of the
instructors.

5 CONCLUSIONS AND FUTURE WORK


The results of our surveys over four terms of hybrid instruction are very encouraging
and confirm our belief that this format can provide an effective, engaging, and efficient
learning experience for students.
Specifically, our results indicate that online students prefer the hybrid to traditional
asynchronous online classes. The same survey results also indicated that the face-to-face
students' experience was at least as good as it would have been in a traditional classroom
setting.
We believe that a minimum of about six face-to-face students in our hybrid format
is best suited for creating an environment where interaction between students and teacher
can best develop, the number of online students does not seem to be as critical. While our
hybrid is not limited to one type of course, classes designed for interactions between
students and instructors will most benefit from this approach.
Instructors did not find the hybrid setup to be unduly burdensome once the daily
classroom setup was completed. Although the initial course design for hybrid requires
substantive effort, the resulting class still retains the flavor of a traditional face-to-face
offering while serving two student populations. This format also demands some
multitasking ability from the instructor who has to be able to monitor and respond to both
the online students and those attending the class in person. This did not present a problem
after a brief adjustment period.

147
JCSC 26, 4 (April 2011)

We intend to continue to offer hybrid classes in future terms. Using both student and
instructor feedback we intend to iteratively improve our design on a continual basis. To
that end, and because we realize that our classes this far have been small, we hope that
sharing our experience with the larger community will encourage others to help us further
explore this promising approach for effective, engaging and efficient face-to-face and
distance learning.

6 REFERENCES
[1] Blending in: The extent and promise of blended education in the united states.
http://sloanconsortium.org/sites/default/files/Blending_In.pdf, Retrieved Sept 10,
2010, Blending In: The Extent and Promise of Blended Education in the United
States, March 2007.
[2] E. Bonakdarian, T. Whittaker, and D. Bell. Merging worlds: When virtual meets
physical - an experiment with hybrid learning. In The Journal of Computing
Sciences in Colleges, volume 25.1. Consortium for Computer Sciences in
Colleges, October 2009.
[3] E. Bonakdarian, T. Whittaker, and Y. Yang. Mixing it up - more experiments in
hybrid learning. In The Journal of Computing Sciences in Colleges, volume 25.4.
Consortium for Computer Sciences in Colleges, April 2010.
[4] A. Doering and G. Veletsianos. What lies beyond effectiveness and efficiency?
Adventure learning design. Internet and Higher Education, 11(3-4):137-144,
2008.
[5] D. Merrill. The e-Learning Handbook: A Comprehensive Guide to Online
Learning, chapter Converting e3-learning to e3-learning: An alternative
instructional design method, pages 359-400. Pfeiffer/Jossey-Bass, California,
2008.
[6] Y. J. Park and C. J. Bonk. Synchronous learning experiences: Distance and
residential learners' perspectives in a blended graduate course.
http://www.ncolr.org/jiol/issues/PDF/6.3.6.pdf, 2007, Journal of Interactive
Online Learning.
[7] G. Schell. Universities marginalize online courses. Communications of the
ACM, 47(7):53-56, 2004.
[8] G. Ury. A comparison of undergraduate student performance in online and
traditional courses. The Journal of Computing Sciences in Colleges,
19(4):99-107, 2004.

148
SEMANTIC INFORMATION SYSTEM: APPLICATIONS IN K-12

EDUCATION*

JohnPaul Adigwu, Neil Arellano, Sergio Beltran, Jorge Estrada, Adrienne Lam,
Sergio Mendoza, Aleksander Milshteyn, Gabriel Nunéz, Evan Tsai, Dr. Charles Liu,
Dr. Helen Boussalis
Structure, Propulsion, and Control Engineering University Research Center (SPACE
URC)
California State University, Los Angeles
5151 State University Drive, Los Angeles, CA 90032
310 482-0230
Jadigwu2@calstatela.edu

ABSTRACT
This paper focuses on the development of a Semantic Information System
(SIS), its multicasting applications aiming at facilitating K-12 education, and
their integration with a Semantic Network established in the CSULA SPACE
Center [1].
The SIS facilitates the generation of objectized contents in a collaborative
fashion among the classroom participants who may be identified as "birds of
a feather (BoF)." The ubiquity of video conferencing enhances the
distance-learning communication and eliminates students' need to be in
classroom settings. In order to effectively accommodate this model the SIS
interface provides a collection of effortless controls while Extensible Markup
Language (XML) is used to define the syntax based on the content structure
[2]. These efforts permit a seamless integration of the objectizing
programming components using a "Tuple Space" programming paradigm [3].
SIS allows its users to generate educational information, disseminate this
information to other users, and provide various functionalities that support
real-time teamwork environment with full control of these abilities
administered by the classroom instructor. For example, upper graders can have
the permission to generate and disseminate new information as well as retrieve

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

149
JCSC 26, 4 (April 2011)

information from their peers. Low graders on the other hand can be restricted
to retrieval of existing information.

INTRODUCTION
The trends of increasing computing power, affordability of hardware, and
emergence of embedded networked systems have enabled businesses, researchers, and
students the capability of accessing the information across subject matters through
technologies such as the Internet, technical software, and peer-to-peer communication.
Although web-browsers, social network applications, and voice/video
communication enable users to indentify "birds of a feather" communities, information
is often scattered among users and computing platforms often hindering the ability for
information updates to be synchronized in a seamless fashion.
Figure 1 shows an innovative SIS model of software architecture. It provides
facilitation and management of client requests across a distributed server network. It is
particularity suitable for information dissemination between educators, researchers and,
students; specifically the use of the network by groups where geographic location, time,
and computing resources limit information exchange and collaborative efforts amongst
each other.

Figure 1: Semantic Information System model.

KEY TECHNOLOGIES
There are several underlying technologies that are utilized in the development of the
Semantic Information System. Figure 2 provides a breakdown of SIS architecture, and
its component interdependency. A Tuple Space programming paradigm was chosen as
the backbone of SIS after its successful implementation on the Aerospace Information
Server (AIS) [4]. Tuple Space supports automatic load balancing in parallel processing

150
CCSC: SouthwesternConference

in a multi-thread/multi-core server. It also supports inter-server communication in this


distributed server network.

Figure 2: Overview of SIS scheme and applications

The Active Directory is essentially the "phonebook" of the distributed server


network which is a collection of decentralized servers each having its own centralized
informational database and network of clients [5]. Its purpose is to provide
synchronization of information across the network. Any change reflected on a single
server in the network triggers an event in which all other servers are updated on that
change. It also allows for additional servers to be incorporated into the network to
accommodate an increase in traffic and information.
A PostgreSQL Relational Database Management System was chosen to perform
data warehouse storage allocation and unique key assignments to the content within the
network. This open-source database is an integral part of the application as it affects all
components of the application in one way or another. Although the Active Directory
handles updates between servers most updates involve the database for information
accessed by the Semantic Network. In addition, the database keeps track of registered
users and their access privileges playing an important role in security.
Qt is an open-source development environment that is geared toward GUI design
with extensive libraries available to the programmer. In this application Qt is used to both
create the GUI and to communicate with the database.

Semantic Network
The design of the Semantic Network is focused on information exchange amongst
diverse user computing platforms and hardware. As such, it is necessary for the Semantic
Network to be capable of broadcasting appropriate media content (e.g. audio, video, text,
jpeg) to target devices (e.g. Smartphones, PDAs, desktops, laptops). In presented model,
XML is used for the clients and servers to advertize metrics of QoS and performance

151
JCSC 26, 4 (April 2011)

constraints such as bandwidth limitation, real-time processing capability, and storage


capacity among others.
Another challenge is building from previous projects towards the application of
future projects. Student projects can be adapted to the knowledge built from previous
teams with the goal of current teams adding progress to that work. Thus, a greater
facilitation of project documentation and knowledge could be readily grasped by
members through user IDs, dates, description, and content. Furthermore, access to
materials from remote locations could be met through secure connection to the network
via TCP/IP. Thus, the information can be shared and accessed between schools.
Compared to the current Internet users on the Semantic Network have the ability to
mesh information creating an organization of content which provides a reconfigurable set
of knowledge based on users' understanding of the material. In the case of the team
project students can extract knowledge from diverse sources to continually progress in
various educational settings.

Ubiquitous Video Conferencing


Along with the Semantic Network a Ubiquitous Video Conferencing application is
utilized. It will serve as the communication interface between users. In this application,
User Datagram Protocol (UDP) is used for video and audio transmission while TCP/IP
is applied for data transmission [6]. UDP is based on real-time communication where
acknowledgment of every packet is not necessary while TCP/IP does acknowledge the
reception of every packet maintaining data integrity. Current UVC application
development includes video transmission using Motion JPEG algorithms. RGB video
feeds are captured and stored in the Intel Processing Library (IPL) image format under
Open Computer Vision (OpenCV) C++ libraries. The socket mechanism transmits these
video signals via UDP ports with a user adjustable frame rate. On the receiver's side the
video feed is reconstructed and restored to the IPL format. Finally, the video is displayed
inside the Graphical User Interface (GUI) designed in Qt framework (Figure 3). Qt
provides specific widgets that are capable of displaying images and video motion.
UVC Application is directly applicable to the K-12 education environment, as it
creates a real-time forum with textual, visual, and vocal interaction. This forum can be
used as an effective tool for distance-learning platforms. Inside the UVC application the
teacher performs functions of the Forum Coordinator with a purpose of managing student
activity using application controls. The teacher is able to select a student to be available
for audio and video broadcast to the rest of the class. All pupils are allowed to "raise their
hands" through the UVC application interface. A teacher can also select a group of
students and enable their audio channels at the same time. This option can be used for
group presentations, debates, and other activities. One proposed UVC add-on is to
exchange files, homework solutions, quizzes, and tests.
Another benefit of UVC software arises from a scenario which results in students'
absence from class. By being part of SIS students can connect to their classroom from
home and still have participation in the lecture. Alternatively, students have access to
stored lectures and classroom material minimizing effects of their absence. The recording
will be saved using MPEG-2 Encoding in the AVI format. The UVC could then reduce
problems with turning in delayed homework or extending deadlines for projects.

152
CCSC: SouthwesternConference

Figure 3: Three tabs of Integrated UVC Application. First tab displays the Main
Screen with participants. Second tab displays Classroom Directory Information and
Classroom Log-In GUI. Third tab contains Scraping Tool with the Tree Structure for
organizing metadata.

Case Study
A simulated case study is considered in which a SIS model could be effectively
used. It is based on SOFIA (Stratospheric Observatory for Infrared Astronomy) Science
Center maintained by the Universities Space Research Association (USRA) and the
Deutsches SOFIA Institut (DSI) research (Figure 4).
The first stage of this case study process is the retrieval of raw information where
astronomical images are captured from a high altitude airplane and sent to the ground
station for analytical testing and validation purposes. A small team of ground researchers
is responsible for receiving the necessary data from the airplane and distribute it to other
data processing teams of ground researchers. Using SIS Active Directory, the data
becomes distributed among SOFIA servers, so it can be processed by different teams in
parallel.
In the second stage, each team has individuals working in parallel to accomplish a
single task or multiple tasks involving the recently obtained data. Often scientific
resources are isolated or scattered causing delays in the progress of the overall project.
Those delays can be critical because work in one area may depend on another group's
progress. SIS allows instant secure communication between users which leads to
minimization of those delays.

153
JCSC 26, 4 (April 2011)

Third and final stage constitutes to transmission of completed work to the head
researcher in order to initiate SIS voting system. Head researcher is able to receive
simultaneously results from different teams, as well as to communicate his/her feedback
to the teams. SIS Voting system is used in order to get the hundred percent of approval
from each project member involved. Approval in SIS voting system signifies that
completed work meets required standards, while disapproval vote raises a flag for
possible unresolved issues. Once everybody on the project approves the authorization to
publish material, head researcher authorizes automatic upload of results to the public
server.

Figure 4: Case Study - SOFIA scientific collaboration

3D Technology
In the Semantic Network objects will be rendered and displayed in a proposed 3D
Scraping Tool tree structure. This will augment how users perceive the relationship
between concepts. 2D space does not adequately reflect the complexity of concepts and
often limits the user's ability to understand or convey the relationships among them. With

Figure 5: Side-by-side image of a space test-bed telescope, used to generate a 3D


image. Each image shows the object from a different perspective [7].

the incorporation of 3D the level of relevancy between objects can be represented in a


more tangible manner. For instance, concepts or ideas can be considered as "bubbles."
The relationship between concepts can be visualized as physical separation in distance.

154
CCSC: SouthwesternConference

CONCLUSION
Technology provides critical solutions to many education hurdles in the pursuit of
providing adequate and practical resources to assist in understanding classroom
curriculum. The Semantic Information System addresses many needs in today's
challenging economic conditions. Rising tuition costs, non-traditional educational
platforms, and access to economically affordable educational materials (lectures, books,
peer-to-peer interaction) have often been cited as barriers in the educational learning
process.
The Semantic Network, Ubiquitous Video Conferencing, and 3D rendering
technologies provide a practical multiple-featured platform which reduces educational
expenses, enhances student interaction, and conceptual learning approaches. This
Semantic Information System can have a significant modernizing impact on K-12
education; it can stimulate students' interest and productivity by providing them with
resourceful environment and with 3D visualization examples which will simplify their
understanding of certain complicated models. The implementation of SIS in educational
and research settings could mark a novel approach towards learning: shifting the goal
from an individual non-interactive model to a group-learning methodology.

REFERENCES
[1] J. Alvarenga, H. Boussalis, "A Semantic Aerospace Network using Objectized
Tags Exchanged through Decentralized Information Servers." HBCU/OMSI
Aerospace Collaboration Conference 2009 Cleveland, Ohio, USA, July 2009.
[2] R. Tolksdorf, F. Liebsch, and D. Minh Nguyen, "XMLSpaces.NET: An
Extensible Tuplespace as XML Middleware."
[3] A. Alegre, S. Beltran, J. Estrada, A. Milshteyn, C. Liu, H. Boussalis,
"Implementation and Quantitative Analysis on of a Shared-Memory Based
Parallel Server Architecture for Aerospace Information Exchange Applications."
Proceedings on the World Congress of the Computer Science and Information
Engineering (CSIE) 2009.
[4] A. Alegre. "Aerospace Information Server." California State University
Competition, 2008. Structures, Propulsions, And Control Engineering (SPACE)
Center - Research Topic: Ubiquitous Computing and Embedded Architectures:
http://www.calstatela.edu/orgs/space/sc_UbiquitousComputing.htm
[5] A. Alegre, S. Beltran, J. Estrada, A. Milshteyn, A. Lam, JP Adigwu, C. Liu, H.
Boussalis, 4th International Conference on New Trends in Information Science
and Service Science (NISS2010) , "Ubiquitous Video Conferencing for
Obectizing Contents in a Semantic Network" Gyeongju, Korea, May 2010.
[6] T. Ridge, M. Norrish, P. Sewell "TCP, UDP, and Sockets: Volume 3: The
Service-level Specification." University of Cambridge Computer Laboratory
NICTA, Canberra, February 22nd, 2009.
http://www.cl.cam.ac.uk/techreports/UCAM-CL- TR-742.pdf.

155
JCSC 26, 4 (April 2011)

[7] Merritt, E. (2010, November 16). Sample figures generated using Raster3D.
Retrieved from
http://skuld.bmsc.washington.edu/raster3d/examples/transparent.jpeg

156
TOUCHCASTING DIGITAL LECTURE NOTES*

James Dean Palmer


Northern Arizona University
Flagstaff, AZ
James.Palmer@nau.edu

ABSTRACT
Educators face a shifting landscape as students are beginning to expect that
even traditional classes have an online component that allows learning to
happen both in the classroom and on-line. But for many classes, simple text
or slide presentations don't capture the thought processes and analytical steps
instructors would like to convey to students. For quick and dynamic exercises
it's difficult to best chalk or markers for developing adhoc diagrams, formulas,
or definitions. In this paper we give an overview of several systems that can
be used to capture synchronized writing and audio. We consider digital
whiteboard solutions, pencasting solutions, and then describe our own iPad
based stroke capture tool, Touchcaster. We have used Touchcaster in a
computer science algorithms class and based on this experience we present an
early study on the perceived usefulness of the system as supplemental online
instruction material from both a student and instructor viewpoint.

1. INTRODUCTION & BACKGROUND


Several popular mechanisms exist for podcasting hand-written or impromptu lecture
notes. While modern podcasting aesthetics and conventions are a more recent invention,
recording interactive whiteboard sessions easily predates the term podcasting (coined in
2004 [4]). Several podcasting subgenres exist including vodcasting (video podcasting),
screencasting (video podcasting of material from computer applications), and pencasting
(animated podcasts of smart pen strokes with audio). The differentiating feature in these
genres is context more so than technology.
In this spirit we suggest a new term, touchcasting, to describe touch generated
audio-video expressions. As part of our own pedagogical research on lecture note
capture, we have developed an iPad application for touchcasting impromptu notes,

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

157
JCSC 26, 4 (April 2011)

diagrams, and audio commentary that we


call Touchcaster (See Figure 1). In the
remainder of this section we will survey
existing podcasting research that focuses
on handwritten or impromptu lecture notes
recorded as podcasts. In section two we
describe the design and implementation of
our own solution, Touchcaster. In section
three we describe our experiences using
Touchcaster in a computer science
algorithms class. As part of this work we
surveyed students who used the podcasts
and we describe the results of this
experience.

Figure 1. Both finger touches and touch


1.1 Digital and Interactive Whiteboards capacitive styluses can be used for
Practical digital whiteboards and writing.
workspaces started to become available in
the early 90s. The Liveboard system that was developed as part of the Ubiquitous
Computing program at Xerox PARC is a notable example and was used in several early
interactive whiteboard experiments [1, 9]. Several studies have considered the flexibility,
versatility and efficiency of interactive whiteboards with most finding at least modest
benefits for instructors and students [10, 11, 12, 15].
Many whiteboard systems include the ability to record sessions, which in turn can
be used to analyze how people use whiteboards, or can be used to capture new learning
artifacts [8]. Attempting to realize this reuse potential, the Re-Board project has sought
to capture whiteboard interaction in many dimensions (time, space, participants, roles,
etc.) and make recorded whiteboard artifacts available in information repositories [2].
Positive benefits of captured lectures were assessed as part of a three-year study by
Brotherton and Abowd. They noted that with the supplemental content, students take
fewer, more targeted notes, the online resources were authentically used, and students
found the media augmentation that whiteboard provide was useful [3].
Many online classes use virtual whiteboard spaces that emulate many of the features
of physical whiteboards. Eluminate Live! (http://eluminate.com/), Adobe Connect
(http://adobe.com/videoconference) and many other video conference and broadcasting
systems support simple whiteboards with recording capability.

1.2 Screencasting
A screencast is a recording of the interaction a user has with a computer along with
accompanying narration or audio, which is designed to be distributed as a video podcast.
Screencasts may consist of an author talking over power point slides or they may provide
hands on tutorials where the author works with an application. Several studies have
considered screencasting in particular as a way to augment classroom activity [5, 6].

158
CCSC: SouthwesternConference

Malan's study in particular found podcasting had only a small effect on attendance and
a very positive effect as a tool for student review and learning [6].
One very successful application of screencasting has been in Salman Khan's
non-profit educational organization, Khan Academy. Khan Academy provides over
2,000 videos on math, science, history, and business [7]. Khan uses Camtasia screen
capture software to capture his tablet based interaction with SmoothDraw, a freehand
drawing application [16]. Khan prefers screencasting in this way to whiteboards as they
mimic a posture where you would sit down with someone to solve a problem. In this
way, Khan's use of screencasting mimics pencasting.

1.3 Pencasting
Pencasting is a penstroke and audio capture medium enabled by smart pen
technology like the LiveScribe Pulse and Echo smart pens. Pencasting has also been
studied in various capacities and the results echo findings found in using recorded
whiteboard sessions and screencasts in terms of value and utility [13]. One interesting
study of LiveScribe pen usage is that of CoScribe - a system where students annotate
existing printed slides and then sharing these recorded sessions as part of a community
annotated product [14].
LiveScribe's pencasting service differs from other kinds of podcasts in that they are
distributed not as traditional movies but as Adobe Flash based animations that sync stroke
animations with audio. An advantage of this approach is that the pencasts are essentially
resolution independent. The vector strokes can be scaled to full screen and look smooth.
The disadvantage is that many platforms (including Apple's iOS based devices) don't
currently have support for embedded Flash content. LiveScribe also does not directly
support downloading pencast animations that are generated through their online
pencasting portal. This makes it inappropriate for many educational applications that
require more restricted redistribution.

2. TOUCHCASTING
While whiteboards work well
for in-class lecture capture, they are
less convenient for capturing notes
and commentary outside of class.
Current pencasting solutions also
have limitations including current
content distribution restrictions and
the fact that smart pens are also not
as popular as other smart devices.
Touch based smart devices have
potential to serve a similar role.
This is the inspiration for
Touchcaster, a tool intended to Figure 2. Touchcaster records both touch strokes
support pen or touch capture and and audio as you work with the canvas.
synchronous audio recording.

159
JCSC 26, 4 (April 2011)

Touchcaster is an Objective-C application designed for the Apple iPad that records touch
data points and connects them together with vector curves. Tools for changing color,
erasing and other simple whiteboard-style functionality are implemented. See Figure 2.
All graphical data is stored as vector information attached to timestamps relative to
the audio track, which is recorded in parallel. This information can then be played back
on the device stroke-by-stroke or can be recorded as either a video file or a javascript
program. If it is saved as a javascript program, then it uses the HTML5 canvas to render
the strokes and synchronize the audio track played via the HTML5 audio tag. This has
the advantage of being very compact and providing resolution independent playback
without using Flash or other plugins.

3. AN EXPERIENCE REPORT
We used the touchcasting system to develop six touchcasts over the course of the
semester. The content was not designed ahead of time. Instead the topics were chosen
as students asked questions in the last few minutes of class that would take too much time
to answer. Touchcasts averaged around 5 minutes each. Thus, the amount of additional
content used in touchcasting was modest and our intent was that this should be a casual
addition to the class.
The class had 27 students but only 17 participated in the voluntary anonymous
survey. The survey contained 14 questions on self-efficacy. These questions were of the
form, "I can use substitution to solve the recurrence T(n) = 4T(n/2) + 100n" or "I can
describe Dijkstra's algorithm." Students were asked to score their agreement with these
statements using a scale that ranged from 0 to 100. Three additional questions were
added that asked to students to score the utility of the touchcasts.
The self-efficacy survey was asked at the beginning of the semester and the end of
the semester. Our main intent was to measure changes in self-efficacy related to various
core topics and learning outcomes for the
class.

Figure 4. The "increase future usage"


score (x-axis) v. percent representation
(y-axis).
Figure 3. The "usefulness" score
(x-axis) v. percent representation Figure 5. Scatterplot of "usefulness"
(y-axis). score (x-axis) against "self-efficacy"
(y-axis).

160
CCSC: SouthwesternConference

Students, on average, scored the overall usefulness of the touchcasting system at


58%, and 68% of students said they would have liked to have seen more touchcasts
throughout the semester. What's more interesting about these scores is the population
grouping. In Figure 3, you can see a bimodal expression of opinion. One group of
students did not care for the touchcasts at all while a different student population thought
the touchcasts were very useful. We expected that the students would score the question
asking if they would like to see more touchcasts in the same way, but Figure 4 illustrates
a slight positive shift in opinion.
We wondered if this bimodal distribution might in any way be tied to self-efficacy,
which we also measured in the study. We noted, anecdotally, that many of the poorer
performing students seemed most interested in the touchcasts as expressed through
in-class comments. To test this hypothesis, we developed a composite self-efficacy score
and used this as part of a scatter plot of student self-efficacy (y-axis) and touchcast utility
(x-axis) to form Figure 5. The results graphically illustrate the low correlation (0.094)
that we found. Self-efficacy scores ranged from 67% to 98% (roughly 10 points higher,
on average, than the actual course grades).

4. CONCLUSIONS & FUTURE WORK


Student evaluations of touchcasts were generally positive in the context of the
studied class but a very visible bimodal distribution suggests a rejection of the format by
a small group of students. In comments gathered on the survey these students expressed
opinions that suggest they didn't want to have to go online to listen to additional content,
and that all material (even if review) should be presented in class. This population was
not distinguished by self-efficacy, and we suspect they would be undistinguished by
grade. These results suggest that we could expand touchcast usage in the class but that
we should be sensitive to students who don't want the class to become an on-line hybrid.
From an instruction standpoint, we found using the system was not too difficult.
Technology limitations prevent the current iPad from having input resolution as fine as
current smart pen technology. But as iPads become increasingly popular, there is a strong
point to be made for convenience.
This has encouraged us to continue developing and using the system and to expand
our evaluation in future offerings in the class. With such a small sample population, the
statistical confidence level associated with our findings isn't tight and we hope that by
expanding our utilization we can improve on this. We also hope to make the tool
available for other instructors to use in the near future.

161
JCSC 26, 4 (April 2011)

REFERENCES
[1] Abowd, G. D., Atkeson, C. G., Feinstein, A., Hmelo, C., Kooper, R., Long, S.,
Sawhney, N., and Tani, M. 1997. Teaching and learning as multimedia
authoring: the classroom 2000 project. In Proceedings of the fourth ACM
international conference on Multimedia (MULTIMEDIA '96). ACM, New York,
NY, USA, 187-198.
[2] Branham, S., Golovchinsky, G., Carter, S., and Biehl, J. T. 2010. Let's go from
the whiteboard: supporting transitions in work through whiteboard capture and
reuse. In Proceedings of the 28th international conference on Human factors in
computing systems (CHI '10). ACM, New York, NY, USA, 75-84.
[3] Brotherton, J.A., and Abowd, G.D. 2004. Lessons learned from eClass:
Assessing automated capture and access in the classroom. ACM Transactions on
Computer-Humand Interaction. 11, 2 (June 2004), 121-155.
[4] Hammersley, B.: "Audible revolution", The Guardian, 12 February 2004.
[5] Hürst, W., Welte, M., and Jung, S. 2007. An evaluation of the mobile usage of
e-lecture podcasts. In Proceedings of the 4th international conference on mobile
technology, applications, and systems and the 1st international symposium on
Computer human interaction in mobile technology (Mobility '07). ACM, New
York, NY, USA, 16-23.
[6] Malan, D.J. 2007. Podcasting computer science E-1. In Proceedings of the 38th
SIGCSE technical symposium on Computer science education (SIGCSE '07).
ACM, New York, NY, USA, 389-393.
[7] Michels, S. (February 22, 2010). "Khan Academy: How to Calculate the
Unemployment Rate".
http://www.pbs.org/newshour/rundown/2010/02/khan-academy-how-to-calculate
-the-unemployment-rate.html
[8] Mynatt, E.D. "The Writing on the Wall" 1999. In Proceedings of INTERACT '99,
IOS Press, Edinburgh, UK 196--204.
[9] Pedersen, E., McCall, K., Moran, T.P., and Halasz, F.G. 1993. Tivoli: an
electronic whiteboard for informal workgroup meetings. In Proceedings of the
INTERCHI '93 conference on Human factors in computing systems (INTERCHI
'93). IOS Press, Amsterdam, The Netherlands, 391-398.
[10] Schmid, E.C. 2008. Potential pedagogical benefits and drawbacks of multimedia
use in the English language classroom equipped with interactive whiteboard
technology. Comput. Educ. 51, 4 (December 2008), 1553-1568.
[11] Slay, H., Siebörger, I., and Hodgkinson-Williams, C. 2008. Interactive
whiteboards: Real beauty or just "lipstick"?. Comput. Educ. 51, 3 (November
2008), 1321-1341.
[12] Smith, H. J., Higgins, S., Wall, K., and Miller, J. (2005). Interactive whiteboards:
Boon or bandwagon? A critical review of the literature. Journal of Computer
Assisted Learning, 21, 91-101.

162
CCSC: SouthwesternConference

[13] Stasko, D. & Caron, P.G. (2010). Digital notes and lecture capture: pencasts as
electronic copies of live STEM lectures and student access to digital lectures. In
Proceedings of World Conference on Educational Multimedia, Hypermedia and
Telecommunications 2010 (pp. 1868-1876). Chesapeake, VA: AACE.
[14] Steimle, J., Brdiczka, O. , and Muehlhaeuser, M. CoScribe: using paper for
collaborative annotations in lectures. In Proceedings of the Eighth IEEE
International Conference on Advanced Learning Technologies (ICALT '08).
IEEE; 2008; 306-310.
[15] Torff, B. and Tirotta, R. 2010. Interactive whiteboards produce small gains in
elementary students' self-reported motivation in mathematics. Comput. Educ. 54,
2 (February 2010), 379-383.
[16] USA Today. "Need a tutor? YouTube videos await".
http://www.usatoday.com/news/education/2008-12-11-youtube-tutoring_N.htm

163
RECRUITING WOMEN INTO YOUR COMPUTING MAJOR *

CONFERENCE TUTORIAL

Lecia Barker Joanne McGrath Cohoon


NCWIT NCWIT
School of Information Science, Technology & Society
University of Texas at Austin University of Virginia
(512)232-8364 (434)243-2143
Lecia@ishool.utexas.edu jmcohoon@virginia.edu

Active recruiting of diverse students works. By personally reaching out to women


and minority students, and their influencers, with messages tailored to appeal to them,
faculty can attract more and better students to the computing major. This session provides
a quick overview of what research tells us about recruiting, and encourages participants
to adopt a coordinated approach that focuses on high yield in the short term, leverages
available resources, and makes use of evaluation for concentrating effort on the most
productive activities. Professional quality NCWIT (National Center for Women & IT)
materials, including a recruiting workbook, will be provided to participants in this
session.

___________________________________________
*
Copyright is held by the author/owner.

164
KEYNOTE ADDRESS

B Saturday, April 2, 2011


U
I
L
D
I
N
G
A
N
A
C
A
D
E
M
I
C
V
I
D
E
O
G
A
M
E
P
I
P
E
L
I
N
E
*

Scott Easley
University of Southern California

Starting up a video game program at a major University has to take into account
several crucial factors: Corralling hundreds of students with no previous experience,
integrating disparate classes, the constant need to create thousands of 3D assets, and
ultimately how to track the production of all student games. Within two semesters, Scott
Easley helped to create the Gamepipe Program at the University of Southern California's
Viterbi school of Engineering -- which in 2010 was ranked as the #1 video game design
program by The Princeton Review.

BIOGRAPHY: Scott Easley is the Assistant Director for the Gamepipe Program at
USC. He has won two Emmies, a Telly and an Annie for his commercial video work and
writing. He is a fellow of ATAS (Academy of Television Arts and Sciences). He has also
spoken internationally several times at the Imagina CG Conference in Monaco, the CG
Conference in London, the 3D Festival in Copenhagen, and he gave the 2010 keynote
speech at the 'Game On' conference in Paris, France.
Scott's career spans 20 years in the video game business: He comes from Heavy Iron
Studios, where he was Animation Production Manager. He supervised animation teams
for Incredibles 2, Ratatouille, Destroy All Humans and the Wall-e video games. Previous
to THQ, Scott was Senior Animator for Electronic Arts' Medal of Honor, one of the first
eight people to form the company Oddworld Inhabitants, and Lead Animator for Sony
Imagesoft.
Scott also holds a gold medal from sparring at the Plum Blossom Festival Kung-Fu
Tournament, and he has climbed Mount Fuji.

___________________________________________
*
Copyright is held by the author/owner.

165
SOFTWARE ENGINEERING COURSE DESIGN FOR

UNDERGRADUATES*

Jianchao Han
Computer Science Department
California State University Dominguez Hills
1000 E. Victoria Street, Carson, CA 90747
Contact: 1-310-243-3398
jhan@csudh.edu

ABSTRACT
Software Engineering course design for undergraduates has been a challenging
task in many campuses, especially for those that do not have large enrollment.
This is not only because the course has too many topics to be covered in one
semester, even two semesters, but also because it crosses many different
disciplines such as computer science, engineering, management, and staffing.
In this paper, a course framework is designed for the undergraduate software
engineering in a context with small enrollment in terms of the Software
Engineering core and elective requirements in CC2001 [1] as well as ABET
2010 [2] and SE2004 [3]. Based on the author's experience, the course design
decisions are made against the dimensions presented in [4]. The topics covered
in the course design as well as the course curriculum are presented. Activities
and requirements of term-long team projects are illustrated to reflect the topics
covered in the lecture and synchronized with the lecture progressing.

INTRODUCTION
Designing a suitable software engineering course for undergraduates has been a
challenging task in many campuses, especially for those that do not have large
enrollment. Some factors that cause this challenge can be summarized as follows: 1) there
are too many topics to be covered in one semester, even two semesters [5]; 2) it crosses
many different disciplines such as computer science, engineering, management, and

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

166
CCSC: SouthwesternConference

human resource [6]; 3) the software engineering field is changing so fast and new
technologies and tools are emerging time to time [7]; and 4) it is hard to set up a
right-sized team project for students to achieve hands-on experience of developing their
software engineering skills [8]. CC2001 [1] and SE 2004 [3] provide advice and
guidelines for defining the topics of undergraduate engineering curriculum, but
instructors have too many flexibilities to decide the contents and time distributions.
Many researchers and educators of software engineering have been working on
designing a high quality software engineering course for undergraduates with various
backgrounds [4, 7, 8, 9, 10, 11, 12, 13]. The nine dimensions of course design for
undergraduates software engineering are proposed and discussed in depth [4], including
the discipline focus, development focus, process models, deliverables, organization,
technology focus, tools, assignment focus, and exercise domain. Various challenges of
software engineering education are illustrated and requirements on software engineering
curricula are presented in [7]. Software development team projects for large population
and small population of students are designed in [8] and [9] respectively to enhance
students the knowledge about the software lifecycle and the skills of analyzing, designing
and implementing a software system. A teaching framework for software development
methods is developed in [10], which includes fourteen teaching principles. The software
engineering process is taught using the Unified Process for Education (UPEDU) [11],
which is a process derived from the Rational Unified Process. A laboratory-based
software engineering course for undergraduates is designed in [12], which attempts in
bridging the gap between university and industry. Experiences in designing and
delivering software system design course and software implementation design course are
reported in [13].
In this paper, the decisions in designing the software engineering course for
undergraduates will be made against the dimensions presented in [4] in a context with
small enrollment. The course curriculum and topics coverage are illustrated, and the
requirements and activities of term-long team projects are presented and synchronized
with the course syllabus.

THE COURSE DESIGN DECISIONS


When designing a software engineering course for undergraduates, there are many
factors that may affect the design consideration. Bernhart et al [4] summarize these
factors into following nine dimensions, which will be based on to make our decisions to
design our course.
Discipline focus: full vs. partial coverage of topics. There are many disciplines
covered in the software engineering course, such as business models and processes,
requirements engineering, system engineering, system design and implementation, project
management, quality management, software security, team work, etc. Each discipline can
be designed as a single independent course. It is not possible to cover all these topics in
one semester. Our decision is to include into the course design some parts of the software
lifecycle and related activities that help students to get experiences in software
engineering process and are necessary for successful software engineering.
Development focus: initial development vs. maintenance and evolution focus.
Most legacy software systems are maintained and evolved, while other software systems

167
JCSC 26, 4 (April 2011)

are newly developed. Although the boundary between software evolution and new
developments is very flexible, they address different knowledge and skills. In our course
design, both aspects of software engineering should be included and balanced.
Process Model: single in depth vs. overview of many. Software engineering process
can be modeled in different ways and these models have been used in practice, such as
the waterfall mode, incremental development model, and reuse-oriented software
engineering model [5]. Covering all models in a single course may provide students wide
scope of knowledge but will limit the depth of each model. Our choice is to introduce
various typical models in the lecture but focus on one model in the term-long team
project. This way, students will gain experience of that model in depth and also overview
the important characteristics of other models.
Deliverables: process vs. product focus. Course design may focus on the product
-- what students deliver or the process -- how students achieve the product. Our design
is to partition the term-long team project into 5 parts: requirements, plan and schedule,
design and implementation, testing and validation, and maintenance and evolution, and
students must deliver the artifacts for each part. However, students will be allowed to
update their deliveries in the previous parts when they are working on the later parts. The
update and revision of delivered artifacts will be recorded as the grading basis. Student
teams may choose different process models for their project, but they must have above
5 parts.
Organization: team vs. individual. Since software development addresses team
work to enhance students' abilities and skills of collaboration and communication, while
individual assignments provide students with opportunities of understanding various
important concepts, methods and approaches of software engineering, the balance
between team work and individual assignments should be achieved. Therefore our course
design will include both individual assignments and team project.
Technology focus: universal vs. specific. There are too many technologies available
with different strengths and weaknesses to teach in one course, some being universal
(platform independent), while others being specific. Our course design will focus on the
universal technologies, like client-server architecture, web-based software development,
object-oriented analysis and design, unit testing, etc., but students can make their decision
to select their favorite specific technology in the individual assignments and team project.
Tools: hands on vs. tool-support. Various software development support tools exist
to increase productivity and help focus on the important issues. However, using these
tools may not only cause considerable administrative overhead but also some tools may
hide the important features and characteristics of software engineering process so as to
avoid opportunities of exposing the behind technology to students. Thus in our course
design, we leave this decision to students with high-level requirements. For example, the
students are required to draw a class diagram for both individual assignments and team
project, but it is not specified what tool must be used. It is up to students to either draw
the diagram manually by means of some editor such as Word or use a tool such as MS
Visio. But the course does not allow students to use any CASE tool (such as the Rational
Rose) to automatically generate diagrams from requirements or code from diagrams.
Assignment focus: independent exercises vs. projects. Separate independent
exercises allow students concentrating on selected issues without interfering with other

168
CCSC: SouthwesternConference

exercises, while term-long projects help students learn the connections between the
artifacts in a software lifecycle. Therefore, student assignments in our course design are
partitioned into two parts, separate independent individual exercises and term-long team
project, where the independent exercises will focus on the various aspects of software
engineering process, models, tools and technologies, whilst the team project will focus
on the software development lifecycle and related artifacts.
Exercise domain: administrative software vs. technical software. Different
application software may require different engineering approaches, processes,
architectures, and technologies to achieve different quality attributes. Although there are
different choices that instructor can make, we favor in administrative software covered
in depth, especially based on the real-life applications that are easily understood.

THE COURSE TOPICS AND SEQUENCE DESIGN


According to CC2001 [1], undergraduate software engineering course should cover
the following core topics: software design, using APIs, software tools and environments,
software processes, software requirements and specifications, software validation,
software evolution, software project management. With the decisions that are made in the
previous section and the consideration that our department only offers one software
engineering course for undergraduates in a 15-week semester, the topics that are covered
in our course design are organized into 13 weeks, plus one week for the midterm test and
one week for student team project presentation and demonstration.
Week 1: Introduction to software engineering
Week 2: Software processes
Week 3: Requirements engineering
Week 4: Requirements analysis practice
Week 5: Project management
Week 6: Project planning and scheduling
Week 7: System modeling
Week 8: Midterm review and test
Week 9: System analysis
Week 10: Architectural design
Week 11: Detailed design and implementation
Week 12: Software testing and validation
Week 13: Software maintenance and evolution
Week 14: Advanced topics introduction
Week 15: Project presentation and demo

169
JCSC 26, 4 (April 2011)

THE TERM-LONG PROJECT DESIGN


Many campuses require a significant team project in their undergraduate software
engineering course [8, 9, 11, 12]. This is also required as one of program/student
outcomes by the ABET [2] as well as SE2004 [3]. The objective of the team project is to
provide practical experience to students and enable students to achieve the ability to
function effectively on team work to accomplish a common goal and the ability to
communicate effectively with a range of audiences. However, designing an appropriate
term project with the "right-size" is a challenging task [8].
After referring to various research and experiment publications and textbooks and
considering our situation, we provide a set of team projects which are tailored to have the
similar development duration and estimated the nearly same man-month effort [14]. Each
team must select one distinct project from the set of projects. A bank ATM simulation
system [8] is used as the sample of the team projects. Each team will have 4 or 5 team
members, and team roles are switched time to time.
The process model that is recommended in the team project is based on Rational
Unified Process model and object-oriented methodology [15], but each team can choose
their own model such as Agile or Extreme Programming model [16]. The team project
consists of following five parts: requirements engineering, project plan and schedule,
system design and implementation, system testing, system maintenance and evolution.
Activities and artifacts of each part are specified, and artifacts of previous part will be
used for next part. The project progressing should be synchronized with the lecture. The
team project must be completed before the last week when each team must present and
demonstrate their software product.
Part I: Business Modeling and System Requirements (Week 3-5)
Activities: choose and assign team roles; start a glossary; understand the business
and system requirements from an informal problem statement; investigate and interview
to understand the business in detail; identify and describe business and system actors;
identify and describe business use cases and add detail to the use cases; identify system
use cases and relationships between use cases; compose a use case diagram; prioritize use
cases and describe system use case details.
Artifacts: team roles assignment; a preliminary glossary; a business and system
actor list; a prioritized use case list with details; a use case diagram.
Part II: Project Plan and Schedule (Week 6-8)
Activities: identify the system constraints and boundaries; propose the project
milestones; analyze the project risks; propose the risk avoidance and reduction strategies;
analyze the hardware and software resource requirements; breakdown the project
development work; identify the activities/tasks, task durations, and task dependencies;
compose a task table; schedule the project using activity network or activity bar chart.
Artifacts: risk analysis and avoidance and reduction plan; hardware and software
resource requirements; work breakdown; project schedule.
Part III: System Analysis and Design (Week 9-10)
Activities: identify business entities and extract classes; identify class relationships
to build a class diagram; analyze the attributes and operations of classes; analyze the

170
CCSC: SouthwesternConference

system non-functional requirements; design the system architecture with deployment


diagram and system layers; design the database schema or repository data structure;
implement use cases with sequence diagrams; design other optional diagrams such as
communication and state diagrams; design the user interface; update the project glossary.
Artifacts: class diagram and class details; system architecture diagram; system
database schema or repository diagram; sequence diagrams; optional communication
diagrams and state diagrams; the user interface sketches; updated project glossary.
Part IV: System Implementation and Testing (Week 11-12)
Activities: specify classes; plan the unit test and integration test; design the test
cases; program the classes and unit tests; debug the program; unit test classes; review the
source code; test the integration and acceptance; verify the implementation with the
system requirements; update the project glossary.
Artifacts: class specification; test plan; test cases; source code and test results;
validation and verification specification; updated project glossary
Part V: System Maintenance and Evolution (Week 13-14)
Activities: switch the delivered products between teams to run the system; identify
the problems such as malfunctions and/or missing functions; propose a list of tasks to
correct the problems; plan the maintenance and evolution; change the system; verify the
system change.
Artifacts: the problem list; the plan and justification of the system change; the
changed system; the updated documents.

CONCLUDING REMARKS AND FUTURE WORK


In this paper, an undergraduate course design of software engineering is presented,
mainly focusing on the design decisions against the nine design dimensions, the topics
coverage and the course syllabus, as well as the term-long team projects design that is
synchronized with the lecture progressing.
The course design has been applied in our department recently. The evaluation of
this design has not been done. We have started and will continue to work on the
following: 1) design measurement of student output; 2) design individual evaluation and
grading policy for team project; 3) design criteria of course evaluation based on the
student output; 4) evaluate the course design according to the evaluation criteria. Our
findings will be reported in the near future.

REFERENCES
[1] ACM CC2001, Computing Curriculum 2001 Computer Science,
http://www.acm.org/education/curric_vols/cc2001.pdf, retrieved Dec. 1, 2010.
[2] Accreditation Board for Engineering and Technology (ABET), Criteria for
Accrediting Computing Programs,
http://www.abet.org/Linked%20Documents-UPDATE/Program%20Docs/abet-ca
c-criteria-2011-2012.pdf, retrieved Dec. 1, 2010.

171
JCSC 26, 4 (April 2011)

[3] SE 2004, Curriculum Guidelines for Undergraduate Degree Programs in


Software Engineering, http://sites.computer.org/ccse/SE2004Volume.pdf,
retrieved Dec. 1, 2010.
[4] Bernhart, M., Grechenig, T., Hetzl, J., and Zuser, W., Dimensions of Software
Engineering Course Design, Int'l Conference on Software Engineering, 667-672,
2006.
[5] Sommerville, I., Software Engineering, 9th ed., Addison-Wesley, 2010.
[6] Abran, A., and Moore, J. W., Guide to the Software Engineering Body of
Knowledge: 2004 Edition - SWEBOK, IEEE, 2005.
[7] Ghezzi, C., and Mandrioli, D., The Challenges of Software Engineering
Education, Proc. of International Conference on Software Engineering,
637-638, 2005.
[8] Mitra, A, Rao, T. M., and Bullinger, T. A., Teaching Software Engineering
Using a Traceability-based Development Methodology, J. of Computing
Sciences in Colleges 20(5): 249-259, 2005.
[9] Khmelevsky, Y., SW Development Projects in Academia, Proceedings of the
14th Western Canadian Conference on Computing Education, 60-64, 2009.
[10] Hazzan, O., and Dubinsky, Y., Teaching Framework for Software Development
Methods, Proc. of International Conference on Software Engineering, 703-706,
2006.
[11] Robillard, P. N., Kruchten, P., and d'Astous, P., Software Engineering Process
with the UPEDU, Addison-Wesley, 2003.
[12] Stankovic, N., Software Engineering for Undergraduates, Proc. of International
Conference on Software Engineering, 661-666, 2006.
[13] Baker, A., and Hoek, A. v., An Experience Report on the Design and Delivery
of Two New Software Design Courses, SIGCSE, 519-523, 2009.
[14] Chemuturi, M., Software Estimation Best Practice, Tools & Techniques: A
Complete Guide for Software Project Estimators, J. Ross Publishing, 2009.
[15] Kruchten, P., The Rational Unified Process: An Introduction, 3rd ed.,
Addison-Wesley, 2003.
[16] Amber, S. W., Agile Modelling: Effective Practices for Extreme Programming
and the Unified Process, John Wiley & Sons, 2002.

172
DEVELOPING STUDENTS' SELF-ASSESSMENT SKILLS

USING LAB-CENTRIC INSTRUCTION *

Colleen M. Lewis, Nathaniel Titterton, and Michael Clancy


Computer Science Division, EECS
University of California, Berkeley
Berkeley, CA 94720
01-510-642-7017
colleenl@berkeley.edu

ABSTRACT
This study is a continuation of previous work that looked at the benefits of
lab-centric instruction, a collection of pedagogical techniques enabled by
converting class time in lecture to time in a supervised closed lab. While
previous work highlighted learning outcomes, here we investigate the
intermediate goal of supporting students' in developing skills of
self-assessment. We found that students in a lab-centric section were more
accurate in their self-assessment of competence with topics appearing on the
final exam.

1. INTRODUCTION
For the last eight years, at a large research institution, we have developed an
instructional approach with a radical restructuring of class time [13]. The restructuring,
based upon constructionist principles [8], emphasizes hands-on time in lab over lecture.
Individual activities within the lab integrate a number of research based pedagogical
techniques.
Lower-division courses that were traditionally taught with a weekly schedule of 3
lecture hours, 2 lab hours, and 1 hour of recitation were transitioned to only 1 hour of
lecture a week with a full 6 hours of supervised lab. In lab-centric courses, students
master the course content while completing lab activities with the support of a member
of course staff. The lectures can support students in making connections between the

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

173
JCSC 26, 4 (April 2011)

content instead of explaining things that might best be learned through experimentation
or experience.
While our previous research emphasized the learning gains and performance gains
in lab-centric courses, our current work examines the development of students'
meta-skills to support learning. This paper presents our results investigating the extent
to which the lab-centric format supports students in developing accurate self-evaluation
of their competence with the course content.

2. OVERVIEW OF LAB-CENTRIC INSTRUCTION


In this section, we present an overview of some elements that are prototypical of
lab-centric instruction, including: targeted tutoring, embedded assessment, frequent
feedback, collaborative learning, and scaffolded instruction. These techniques are
integrated to support students' learning of content knowledge as well as to support
students' reflection and the development of students' metacognitive skills. See [13] for
complete description of the research-based motivation for lab-centric instruction.
At our institution, the labs are run by graduate and undergraduate teaching assistants
(TAs). The online lab content directs students through the curriculum, which allows the
TA to support student learning through answering questions and engaging in individual
or small group tutoring [5]. The TA monitors student progress through the lab and
intervenes with targeted tutoring when students' pace or responses to lab activities
indicate that they are experiencing difficulty. Tutoring has long been considered the most
effective form of instruction [6] and has shown to be effective even when the tutor is
inexperienced or is ineffective at identifying alternative conceptions [3].
A key feature of lab-centric instruction is frequent feedback for the students. Within
every lab, students have the opportunity to monitor their learning through ungraded
embedded assessments. These provide an opportunity for students to identify their
confusion in an environment where they have the support of their peers and the TA.
Lab-centric courses also include frequent graded quizzes. These present a more formal
opportunity for feedback from the TA and provide an incentive for keeping up with the
course content.
Lab-centric courses utilize collaborative activities such as pair programming [14]
and on- and off-line collaboration [13]. Activities in the lab, whether they are individual
or collaborative, attempt to heighten awareness to patterns of problem solving and
debugging. In addition to on- and off-line discussions, we have created a "gated
collaboration" activity, in which students contribute an answer to a question before seeing
the responses of their peers. In the gated collaborations, we emphasize questions that can
have a variety of correct answers.
The emphasis on lab time allows a more gradual progression of activities and
provides support when students are tackling the most difficult activities. This allows lab
activities to range from introductory to the most complex, in contrast to our traditional
courses, where students do the projects, the most difficult content in the course, with
relatively little support from course staff. The lab-centric approach contains an additional
hour of class time a week, which is used to provide some time during lab to work on the
projects. This ideally limits the amount of time required by students outside of class.

174
CCSC: SouthwesternConference

3. PREVIOUS RESEARCH
3. 1 Results from Lab-Centric Instruction
While previous research of lab-centric instruction has looked at tools to support the
development of curriculum [2], opportunities and barriers in adoption [12] and the
changing role of the teacher [5], there have been a number of institutional limitations in
the formal evaluation of the lab-centric format [13].
The first lab-centric course, a CS1 in Scheme, was perceived to be such a success
that it was taught consistently from the spring of 2003 through the summer of 2010. The
CS2 course has alternated between the lab-centric and traditional format; however, only
a single instructor has taught the lab-centric version. Therefore, it is not possible to isolate
the effects due to the instructional method (i.e., lab-centric or not) from effects due to the
instructor.
During the pilot version of a third lab-centric course in fall of 2007, Machine
Structures, we were able to use a quasi-experimental design to evaluate the effectiveness
of lab-centric instruction. Students enrolling in the course had the option of either a
traditional format section or a lab-centric section that included no lecture. There were
four sections (n = 126) of the traditional format and a single section (n = 21) of the
lab-centric format. Students in each format took the same assessments, including all
exams and weekly quizzes, and completed the same programming assignments.
We hypothesized that students in the lab-centric section would have higher scores
on exams because of the enriched learning opportunities. We found that the students in
the lab-centric section did outperform students in the traditional format on exams
(F=4.65, p<.05). The effect size was d=0.63 (using Cohen's d), which represents a
12-point increase in the total score for all exams (min=35.5; max=114.4; sd.=19).
Our second hypothesis was that students in the lab-centric section would have higher
scores on multi-week programming assignments (projects) because of additional support
for overcoming challenges and because of check points in the lab to ensure student
progress. This hypothesis was rejected and students in the traditional sections scored
higher on projects (F=4.78, p<.05). The effect size was d=0.6 (using Cohen's d), which
represents a 5.4 point decrease for the lab-centric students on the total score for all
projects (min=3; max=39.9; sd.=9).

3.2 Research on Self-Assessment


Research has shown that students have difficulty monitoring their learning [7]. From
computer science education research, we know that many novice programmers have
misconceptions about the programming environment or the effects of individual
commands (see [4] for a review). While there is debate about the nature and implications
of these misconceptions [11], identification of misconceptions by the instructor and/or
student is an important element across multiple pedagogical approaches (e.g. [9]). For
example, recent work shows an example where students collaboratively work to resolve
discrepancies caused by a misconception [9].
The lab-centric approach attempts to address the importance and difficulty of
self-assessment by providing frequent feedback. This frequent feedback can inform the

175
JCSC 26, 4 (April 2011)

students' learning actions as well as serve as feedback for their ongoing self-assessment
skill development.

4. METHODS
A typical educational goal is to help all students score higher on the course
assessments. In lab-centric courses, we recognize the intermediate goal of helping
students become more metacognitive. A potential example of a metacognitive ability
would be the ability of students to assess their knowledge as weaker or stronger regarding
particular topics.
This study investigates whether students in the fall of 2007 machine structures
course were more accurate in their self-evaluation of various content based upon their
final exam performance. Recall that students in the fall of 2007 machine structures course
selected either the lab-centric format (n = 21) or the traditional format (n = 126). On a
final survey, completed before the final exam, students in both sections answered
questions regarding their comfort on various topics (shown in Table 1 in the order they
were covered in the class). The questions were of the format "How comfortable are you
with..." and students responded on a 5-level Likert scale labeled "1: I don't understand the
topic at all", "3: I'm moderately comfortable with some confusion", and "5: I'm
completely comfortable."
We predicted that students in the lab-centric section would be more accurate at
self-assessment due to more frequent feedback. We measured this accuracy for each
topic in Table 1 by correlating a student's self-report of comfort with their scores on
relevant items on the course final. Each question on the final exam was categorized as
pertaining to one or more of the topics. We calculated students' score on a particular topic
by summing the points they scored on all final exam questions covering that topic. If a
question was worth 6 points and covered 2 topics equally, we calculated that the question
had 3 possible points per topic. We were unable to re-grade the responses, however, and
assigned partial scores equally across the multiple topics even though this may not have
been accurate. With many independent ratings, however, these inaccuracies are likely to
be small.

5. RESULTS
5.1 Individual Topics
In Figures 1 and 2 below, we show a graph of students' comfort from "1: I don't
understand the topic at all", to "5: I'm completely comfortable" plotted on the x-axis. The
y-axis shows the student score on that topic from relevant questions on the final exam.
Lines of best fit are plotted for the lab-centric section (solid orange line) and the
traditional section (dashed red line). Accurate self-assessment by students would be
indicated by a line of best fit with positive slope, where low confidence is correlated with
low performance and high confidence is correlated with high performance.
Figure 1 shows the pattern present for the majority of the topics, where the slope of
the best fit line for the lab-centric section is higher than for the traditional section,
indicating better self-monitoring in the lab-centric section. Figure 2 is included to contrast

176
CCSC: SouthwesternConference

with this typical pattern. In Figure 2, regarding the "Effects of Cache", we see that the
line of best fit for the traditional section is positive, while the line of best fit for the
lab-centric section is slightly negative.

For 8 out of 10 topics, the self-report of confidence of the lab-centric section are
more correlated with a high score on the exam, as in Figure 1. This shows evidence that
students in the lab-centric section were more effective at predicting their performance on
various topics; however the differences were not statistically significant. Table 1 shows
the slopes of the lines for lab-centric and traditional formats, separated by topic. Each
topic has a different number of possible points and the slope shown in bold is the higher
slope for that topic. The only example of a negative slope is for the line of best fit for
"Effects of Cache" for the students in the lab-centric section. All other slopes for both the
lab-centric and traditional format are positive indicating generally effective
self-assessment.
Table 1. Number of points per topic and slopes for the line of best fit per topic

Topic Question Text: Number Slope: Slope:


"How comfortable are of Points Lab- Traditional
you with…" (of 48) Centric
Managing C … managing C pointers 1 0.15 0.040
Pointers and using malloc and
free? (includes heap vs.
stack)
Floating … working with IEEE 3 0.697 0.320
Point floating point?
Assembly … assembly language 2 0.293 0.125
Language programming?
Programming

177
JCSC 26, 4 (April 2011)

Logic Design … logic design 1.5 0.821 1.344


Techniques techniques?
MIPS CPU … organization of the 7.5 1.1875 0.810
Organization MIPS CPU?
Pipelined … the pipelined MIPS 4 0.526 0.237
MIPS CPU CPU and its implications
for programming?
Cache … the details of cache 8 1.180 0.720
Operations operation?
Effects of … understanding the 6 -0.048 0.250
Cache effect of the cache on C
programs?
Address … the details of 5 0.511 0.144
Translation virtual-to-physical
address translation?
Interrupts … the details of 10 0.115 0.067
interrupt-driven input and
output?

5.2 All Topics


A summative graph (shown in Figure 3) shows the patterns of correlations across
all topics. In this graph each topic is equally weighted and the average comfort is plotted
versus the average normalized topic score. The slope of the line of best fit for all topics

178
CCSC: SouthwesternConference

for the lab-centric section was 6.13 (95% confidence interval [2.59, 9.58]) compared to
the traditional section that had a slope of 2.70 (95% confidence interval [0.74, 4.67]). The
difference was not statistically significant at the 5% level.

6. CONCLUSION
The results of our study were not statistically significant and additional research
would be required (1) to identify if the more accurate self-assessment of students in the
lab-centric format was random or was a benefit of the format and (2) to isolate what
aspects of the lab-centric format were required. However the following three factors
likely contributed to this increased performance of self-assessment: (1) embedded
assessments, (2) feedback from the TA during targeted tutoring and (3) comparison to the
answers of peers in gated collaboration.
Based upon an analysis of selection bias in our study, presented in previous work
[13], we believe that selection bias was not an important threat to validity for the current
investigation. However, one potential threat is that the traditional section in the study
used the same weekly quizzes as were used in the lab-centric section. This differs from
the other traditional courses at our university, which do not use weekly graded quizzes.
It is possible that students in a typical traditional course, without weekly quizzes, would
be even less effective at self assessment. However, this feedback represents only a
fraction of the feedback provided to students in the lab-centric section, which may
account for the differences observed.
While our pedagogical goal is to support students in developing metacognitive
skills, such as self-assessment, it may be advantageous for students to be overconfident,
as a way to boost motivation and task persistence [1]. This is an open question of how to
encourage learning strategies that are responsive to feedback, while maintaining student
motivation and task persistence. This question may be particularly relevant to retaining
female students in computer science courses; because female students are more likely to
underestimate their abilities or attribute success to external factors [1, 10].

7. REFERENCES
[1] Beyer, S. (1990). Gender Differences in the Accuracy of Self-Evaluations of
Performance. Journal of Personality and Social Psychology, 59, 960-970.
[2] Carle, A., Canny, J., & Clancy, M., (2006). PACT: A pattern-annotated course
tool. World Conference on Educational Multimedia, Hypermedia and
Telecommunications, 2006 (1), 2054-2060
[3] Chi, M., Siler, S., Jeong, H., Yamauchi, T., & Hausmann, R. (2001). Learning
from human tutoring. Cognitive Science. 25, 471-533.
[4] Clancy, M. (2004). Misconceptions and Attitudes that Interfere with Learning to
Program. In Fincher, S. & Petre, M. (Eds.), Computer Science Education
Research (pp. 85-100). New York: Taylor & Francis.

179
JCSC 26, 4 (April 2011)

[5] Clancy, M.J., Titterton, N., Ryan, C., Slotta, J.D., & Linn, M.C. (2003). New
Roles for Students, Instructors, and Computers in a Lab-based Introductory
Programming Course, ACM SIGCSE Bulletin, 35(1), 132-136.
[6] Cohen, P. A., Kulik, J. A., & Kulik, C. L. C. (1982). Educational outcomes of
tutoring: A meta-analysis of findings. American Educational Research Journal,
19, 237-248.
[7] Davis, E.A., Linn, M.C., & Clancy, M. (1995). "Learning to use parentheses and
quotes in LISP." K. Barker (Ed.), Computer Science Education, 6 (1), 15-31.
Norwood, NJ: Ablex.
[8] Kafai, Y. B, & Resnick, M. (1996). Constructionism in practice: designing,
thinking and learning in a digital world, Lawrence Erlbaum Associates, Inc,
Mahwah, NJ.
[9] Levrini, O., diSessa, A. A. (2008) How students learn from multiple contexts and
definitions: Proper time as a coordination class. Physical Review Special Topics -
Physics Education Research, 4(1), 1-18.
[10] Niederle, M. & Vesterlund, L. (2007). Do women shy away from competition?
Do men compete too much? The Quarterly Journal of economics. 122(3).
1067-1107.
[11] Smith, J. P., diSessa, A. A., & Roschelle, J. (1993). Misconceptions reconceived:
A Constructivist analysis of knowledge in transition. Journal of the Learning
Sciences, 3(2), 115-163.
[12] Titterton, N. & Clancy, M. (2007). Adding some lab time is good, adding more
must be better: the benefits and barriers to lab-centric courses, presented at the
2007 International Conference on Frontiers in Education: Computer Science
(FECS'07: June 25-28, 2007).
[13] Titterton, N., Lewis, C. M., & Clancy, M. (2010). Experiences with lab-centric
instruction. Computer Science Education (Ed. Y. Ben-David Kolikant) 20(2).
79-102. DOI: 10.1080/08993408.2010.486256
[14] Williams, L. & Upchurch, R. L. (2001). In Support of Student
Pair-Programming. SIGCSE 2001. 327-331.

180
LEARNING OBJECTIVE BASED DESIGN OF A COMPUTER

SIMULATION COURSE*

Michael Doherty
Department of Computer Science, University of the Pacific
mdoherty@pacific.edu

ABSTRACT
Our experience in developing a computer simulation course for computer
scientists and engineers is described. Design of the course was complicated
due to perceived differences in the needs of the different groups of students.
Over several offerings of the course it became apparent that the real issues in
the course development were not in the selection of topics, rather they came
from decisions regarding things such as teaching and learning modes, depth
of coverage, ordering of supporting topics and review of prerequisite
knowledge. A careful study of learning objectives, both explicit and implicit,
has uncovered the course design difficulties, to shed light on how the course
can be improved, and how the course satisfies its role within our programs.
While the use of learning objectives for course design is not novel, our
experience should have value to others faced with similar issues when
developing nonstandard or nontraditional courses.

INTRODUCTION
Computer simulation, as an undergraduate course topic, has a broad and varied
interpretation. The topic is taught in many contexts, including industrial engineering,
business, the natural sciences and computer science. The objectives of a computer
simulation course vary depending on the discipline in which it is applied, but there is a
core set of knowledge and skills that are shared across the disciplines. At our institution,
we have developed a cross-disciplinary course for which content decisions were initially
difficult. Analysis based on learning objectives has caused the course to evolve in
interesting ways, leading to something that is somewhat different than the course as it was
originally envisioned, yet more appropriate for all parties.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

181
JCSC 26, 4 (April 2011)

In parallel with the evolution of the course due to practical necessity, our computer
science program has moved towards a process of continuous improvement through
assessment. Like many programs, we initially viewed assessment as a required
bookkeeping activity with little intrinsic value. Over time, we have found that the
assessment process, when properly applied, brings a new perspective to curriculum
design that improves our ability to make decisions about course content and teaching
methodologies.
This paper gives a brief summary of how the perspective of assessment, particularly
a disciplined examination of learning objectives, has helped to address many of the
difficulties and ambiguities that we encountered in attempting to define our computer
simulation course. As such, the paper will be of interest to programs trying to find value
in the assessment process, as well as programs interested in content and methodologies
for computer simulation courses.

PRIOR RESEARCH
An early published definition of a computer simulation course for computer
scientists was given by Shub [6] in 1980. The course presented there was focused on
discrete-event programming, with an emphasis on development using a simulation
language (SIMSCRIPT). He discusses several concerns regarding course design, most
of which are still relevant. These topics include (i) the need to prepare the students to deal
with the different perspectives and terminologies that follow from different paradigms
and methodologies, (ii) determining how to balance time spend on fundamental concepts
and the details of the implementation language, (iii) balancing mathematical depth and
rigor with the basic need to simply apply and interpret the mathematics, and (iv) the
importance of verification and validation of models.
Savory [5] discussed the issues in developing an undergraduate simulation course
for industrial management students in 1995. Like Shub, his course is limited to discrete
event simulation. Much of the paper is devoted to practical issues of software and
platform selection. He identifies specific objectives for the course: understanding models,
understanding how simulation is used, being able to determine problems that can be
studied with discrete event simulation, understanding how to determine what a model
should include, being able to implement a model, and understanding how to analyze
simulation results.
Silverman [7] reported on the development of a computer simulation course that was
intended to serve as a capstone course in computer science. She indicates that the course
should address several objectives, including: integrating abstraction, theory and practice,
providing experience working in teams, and learning by doing.
The 3-D knowledge pyramid developed by Poyner, et. al. [4] illustrates the
complexity of skills and knowledge required to engage in simulation activities. In their
paper, they describe in great detail the interaction of learning modes and knowledge
acquisition required to master a specific type of modeling activity. A valuable conclusion
of their work is the acceptance that it is often necessary to violate the hierarchical
structure defined by Bloom's taxonomy, and that this can be done without disrupting the
learning process.

182
CCSC: SouthwesternConference

COURSE CONTEXT AND HISTORY


Our simulation course evolved from a special topics course on interactive simulation
which was taught in the spring of 2003. That course was based on the instructor's
background in flight simulation, was offered only to computer science students, was
focused on programming (C++), and was well received by students. The simulation
aspects of that course attracted the notice of our engineering management program, which
was in need of a simulation course. Despite differences in the perceived needs of the two
programs, it was determined that a joint course had potential, and would be an efficient
use of resources.
The first offering of the course as a cross-listed computer science and engineering
management course was in the spring of 2003. That offering was heavily based on
programming and mathematical theory, biased by its roots in computer science. There
was little emphasis on all the other activities that make up a traditional simulation study
(as opposed to an interactive simulation for training or games). This lead to the obvious
dilemma: how could we add the aspects of simulation that are important to the engineers,
while not reducing the value of the course for the computer scientists? The solution did
not present itself immediately. The course evolved over the next four offerings, initially
through trial and error. The core content of the course, a broad survey of several
modeling paradigms, has not substantially changed. What has changed substantially is
the manner in which the material is presented, the activities that the students engage in,
and the learning modes that are used. While the course has consistently been well
received (as measured by standard course evaluations), many frustrations continued for
both students and instructor.
A change in perspective came when the computer science program began an earnest
attempt to shift towards continuous improvement through assessment, as defined by the
accreditation criteria of ABET's Computing Accreditation Commission [2]. By
examining learning objectives, both explicit and implicit, we were able to understand that
there was a core set of objectives common to both groups of students, and that most of
the objectives that were assumed to be important to just one of the groups, were already
covered elsewhere in the programs. Additionally, we realized that the course was already
satisfying program learning objectives that we had been struggling to allocate.
Another benefit of focusing on learning objectives was in distributing learning
activities across content areas. The course had been overloaded with work, due to a
misplaced assumption that all aspects of the simulation process should be stressed when
covering each of the modeling paradigms. Clarifying the intent of each learning
objective, by breaking broad objectives into smaller, more specific objectives, has
resulted in more flexibility in the allocation of learning activities among the content
modules.

COURSE LEARNING OBJECTIVES


The currently stated learning objectives for our computer simulation course, from
the most recent course syllabus, are:
Students will learn
• how to define hypotheses and experiments to achieve simulation objectives,

183
JCSC 26, 4 (April 2011)

• a variety of modeling paradigms,


• mathematics and tools for constructing a simulation from a model, and
• techniques for determining the accuracy of a simulated system.
This is a typical level of detail used for stating objectives for many of our computer
science courses. It is sufficient for a course description, perhaps even for a syllabus.
However, it is not sufficient detail for allocating course content and activities, or for
proper assessment of learning. In addition, this list fails to account for a number of
program level and university level objectives that map onto this course.
The third objective listed above is an example of an objective that had caused some
problems in the course definition. In one sense, it simply and appropriately states that
students should be able to apply mathematical techniques in the context of simulation,
which is fine as a checkpoint for the equivalent program objective. It is not at all helpful
in allocating mathematical content in the context of the course. Enumeration of specific
skills from statistics and calculus that are critical for simulation practitioners, and
mapping of each of these skills to particular modeling paradigms, clearly indicates the
appropriate allocation of these skills to points in the course content. In some cases, the
same skills map to multiple points in the course content, in these cases the allocation can
be made based on the relative loading of content modules with other learning objectives.
(This brings up additional issues related to sequencing of content that are beyond the
scope of this paper. See [4] for discussion of how this can be managed.)
Some examples of unstated learning objectives are:
• Ability to engage in interdisciplinary collaborations (university priority).
• Ability to learn tools independently (program objective).
• Ability to communicate in the vernacular of unfamiliar domains (program
objective).
These particular learning objectives are interesting because they naturally and easily
map to simulation. In fact, the primary reason that they were not articulated was because
they were obvious, and it was assumed that they would be satisfied without specific
effort. Regardless of whether the appropriate learning was taking place, failure to
articulate these objectives has at least two detrimental effects. First, the instructor often
failed to account for the implicit effort and time that these objectives were taking up in
the course. Second, students were not necessarily aware of their own accomplishments
and growth in these areas, and undervalued their own time and effort.

COURSE DESIGN
The computer simulation course is divided into four modules, and a term project
constitutes a concurrent fifth module. The four primary modules are based on categories
of modeling paradigms. The categories are loosely derived from the categories defined
by Fishwick's textbook [3]. These categories provide a natural partitioning, and are each
accompanied by the use of a particular simulation tool. The categories and tools are:
• Spatial models and state/event-based models, tool: Python programming
• Discrete event simulation, tool: Arena
• Stock and flow models, tool: Stella
• Constraint-based models, tool: 20-sim

184
CCSC: SouthwesternConference

As we have stated above, attempting to balance these four modules, in terms of time
and workload, was initially difficult. This was primarily due to the fact that we tried to
give equal weight to all learning objectives, across all four modules. By specifying more
specific learning objectives, we have more flexibility in allocation of learning objectives
to course modules and a better understanding of how specific content should be allocated.
As an example, Table 1 shows how learning objectives based on typical simulation
project activity are currently allocated across the course modules. The activities are taken
from "Steps in a Simulation Study" as presented in Banks et. al. [1]. As can be seen from
this table, the allocation of these objectives is uneven and not yet well balanced across
the modules. Nevertheless, this is a much better situation than we had before the
analysis, in which every cell was implicitly filled with "probably should cover to some
extent".
Table 1: Allocation of simulation project activity learning objectives to course modules.
Levels of Emphasis: 1 = low, 2 = medium, 3 = high
Module 1 Module 2 Module 3 Module 4 Term
Project
Problem formulation - - - - 3

Objectives and - 2 - - 3
planning
Model 1 3 2 2 3
conceptualization
Data collection - 1 - - -

Model translation 2 3 2 2 3

Model validation - 1 1 - 1
and verification
Experiment design 3 1 2 - 2

Experiment 3 2 2 - 2
analysis
Documentation and 1 1 2 1 2
reporting
Table 2 gives an example of how program and university objectives, which are not
specific to this particular course, are allocated across the content modules. Here we have
made better progress in determining an even balance across modules.
Table 2: Allocation of program and university objectives to course modules.
Levels of Emphasis: 1 = low, 2 = medium, 3 = high
Module 1 Module 2 Module 3 Module 4 Term
Project

185
JCSC 26, 4 (April 2011)

Interdisciplinary - 3 - - 1
collaboration
Independent - 2 - - 3
learning
Comm. in domain - 1 3 2 2
vernaculars
Application of - 1 2 - -
calculus
Application of 1 2 - - -
statistics

EVALUATION
Towards the end of the current offering of the course, we administered a survey in
an attempt to assess some of the course learning objectives. The survey included
self-assessment questions and some simple exercises to check students' ability to apply
knowledge. Students completed the survey in class as an ungraded exercise. While the
survey had some flaws, it did offer some insight as to whether the course was succeeding
in meeting its learning objectives. We summarize some of the relevant results here.

Self-Assessment of Skill Levels: Students were asked to rate their own ability to
contribute to the common phases of a simulation project, based on the process steps
defined in Banks et. al. [1]. The ranking was on a four point scale as follows: 1 = "no
confidence / unprepared", 2 = "could contribute with supervision", 3 = "could contribute
without supervision", 4 = "could lead a team". The results are summarized in Table 3.
Table 3. Student's self-evaluation of skill levels.
Levels of Emphasis: 1 = low, 2 = medium, 3 = high
1 2 3 4 AVG STDDEV
Problem formulation 0 4 10 4 3.0 0.69

Objectives and planning 0 5 9 4 2.9 0.73

Model conceptualization 1 5 10 2 2.7 0.75

Data collection 0 5 8 5 3.0 0.77

Model translation 2 7 8 1 2.4 0.78

Model validation and 3 7 8 0 2.3 0.75


verification
Experiment design 2 5 10 1 2.6 0.78

186
CCSC: SouthwesternConference

simulation runs and analysis 2 5 8 3 2.7 0.91

Documentation and reporting 0 5 4 9 3.2 0.88

While self-assessment is an indirect and inexact measurement, it does give us some


indication of the extent of learning. A more direct measurement will be made through
the evaluation of the student's term projects, as part of the program's continuous
improvement through assessment process.

Ability to Apply Mathematical Knowledge: Students were given a simple differential


equation and asked to supply a sketch of an appropriate model. The expected answer was
a system dynamics model (a stock with one in-flow and one out-flow), including a
feedback connection. This is a common exercise in system dynamics, of which the
students had seen and worked with multiple examples. Table 4 gives a categorization of
the responses.
Table 4. Categorized responses to question assessing application of mathematical
knowledge.

Response categorization Number of responses


No answer 6
Recognized it as a stock and flow model 5
Supplied a proper stock and flow model with feedback 5
Supplied a correct answer 2
This question indicates that students are not meeting the learning objective of being
able to apply mathematical knowledge from calculus. The fact that one-third of the
students gave no answer is troublesome. The fact that this was one of the more carefully
covered translations from mathematics to graphical notation may, in fact, indicate that
students' ability to apply mathematics is even weaker than indicated here.

CONCLUSION
Assessment is often viewed as a necessary chore, required to satisfy accreditation
bodies and university administrators. We've learned, through the exercise described here,
that the intelligent application of assessment, specifically a detailed analysis and
evaluation of learning objectives, can be a useful tool for designing courses and for
understanding the relationship of course components to program objectives.
In this particular case, we have been able to achieve a better computer simulation
course that is more clearly defined and can be more easily adapted to fit within multiple
disciplines. The process described here is particularly useful for non-traditional courses,
which either do not have standardized textbooks to rely on, or have to fill unique roles
for a particular institution.

187
JCSC 26, 4 (April 2011)

REFERENCES
[1] Banks, J., Carson, J., Nelson, B. L., Nicol, D., Discrete-Event Simulation (4th
Edition), Prentice Hall, 2004.
[2] Computing Accreditation Commission of ABET, Criteria for Accrediting
Computing Programs, www.abet.org/forms.shtml.
[3] Fishwick, P., Simulation Model Design and Execution: Building Digital Worlds,
Prentice Hall, 1995.
[4] Poyner, C., Court, M., Pham, H., Pittman, J., A 3-D pyramid/prism approach to
view knowledge requirements for the batch means method when taught in a
language-focused, undergraduate simulation course, In Proceedings of the 40th
Conference on Winter Simulation (WSC '08), Winter Simulation Conference,
Miami, FL, USA, 2563-2571, 2008.
[5] Savory, P., Issues in Developing an Undergraduate Simulation Course, In
International Conference on Simulation in Engineering Education (ICSEE '95),
27, (2), 51-56, Las Vegas, NV, USA, 1995.
[6] Shub, C. M., A simulation course for computer science students, In Proceedings
of the Eleventh SIGCSE Technical Symposium on Computer Science Education
(SIGCSE '80). ACM Press, New York, NY, USA, 131-138, 1980.
[7] Silverman, R., Simulation for computer science majors: a preliminary report, In
Proceedings of the 28th Conference on Winter Simulation (WSC '96), IEEE
Computer Society, Washington, DC, USA, 1395-1400, 1996.

188
SHORT MOBILE GAME DEVELOPMENT PROJECTS FOR

CS1/2*

CONFERENCE TUTORIAL

Stan Kurkovsky Delvin Defoe


Department of Computer Science Department of Computer Science &
Central Connecticut State University Software Engineering
1615 Stanley Street, New Britain, CT Rose-Hulman Institute of Technology
06050, USA 5500 Wabash Avenue, Terre Haute, IN
Tel: 1-860-832-2720 47803, USA
kurkovskysta@ccsu.edu Tel: 1-812-877-8815
defoe@rose-hulman.edu

Game development and mobile computing have been successfully used to increase
student motivation. However, instructors with no background in mobile computing,
computer graphics, and/or game development may find it difficult to develop or adopt
course materials on these topics. This workshop is designed to address these concerns.
Using Java Micro Edition, we have developed several project-based course modules
focused on mobile game development and designed to study fundamental programming
principles (e.g. loops) while also exposing students to more advanced concepts (e.g.
databases). Using a mobile phone emulator, participants will test-drive one of our
modules and develop a simple game, which can then be transferred to and played on a
mobile device. A Windows or Mac laptop is recommended.

___________________________________________
*
Copyright is held by the author/owner.

189
LEVERAGING EXISTING OUTREACH PROGRAMS TO

REACH UNDERREPRESENTED MINORITIES*

Maribel Gonzalez, Lucy Vasserman, Sara Owsley Sood, and Tzu-Yi Chen
Computer Science Department
Pomona College
Claremont, CA 91711
909-607-8651
{maribel.s.gonzalez, lucy.vasserman}@gmail.com
{sara, tzuyi}@cs.pomona.edu

ABSTRACT
Because majoring in computer science often requires taking a CS1 course by
the end of one's first year in college, high school students need to be made
aware of computer science as a potential major so that they can plan their
college coursework accordingly. We describe two robot-based activities that
were offered as part of a broader summer program aimed at preparing local
high school students from groups traditionally underrepresented in higher
education for college. The goal was to give these students a more accurate
understanding of what computer science is and what computer scientists do,
to share our excitement about computer science, and to get them to think about
taking a CS1 course their first year in college. While both activities were good
for exposing students to computer science, students' experiences in the two
were quite different.

INTRODUCTION
The importance of increasing the participation of underrepresented minorities in
computer science specifically, and science and technology more generally, has been
documented in reports such as [4, 8, 9]. Unfortunately, the data shows that STEM fields
are losing underrepresented minorities at every stage of the pipeline. Solutions remain
elusive, but one approach is to target transition points: encouraging high school students
to go to college, encouraging undergraduates to go to graduate school, and so on.

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

190
CCSC: SouthwesternConference

Computer science faces a particular challenge in that, despite the efforts of groups
such as the CSTA (http://csta.acm.org), computer science is poorly represented in most
high school curricula. Because students go to college without exposure to computer
science, they may not consider it as a potential major, and therefore may not take a first
computer science course early enough in their college career to complete a computer
science major. Ideally all high schools will eventually require a course in computer
science. In the meantime, efforts have been directed towards extra-curricular activities
and weekend or summer programs that would introduce students to various aspects of the
computing field [6, 7]. However, these programs typically solicit applications and focus
primarily on computer science. As a result, they may appeal only to students who are
already interested in computer science, perhaps through some even earlier experience.
A broader approach is to incorporate computer science content into outreach programs
that are designed for students interested in math and science [5]. This has the advantage
of introducing computer science to students already considering math, science, or
engineering degrees. However, it may do little to increase overall interest in STEM
fields. Yet another approach, and the one we explore here, is to reach even more broadly
by working with outreach and bridge programs that are meant to help prepare students
for college.
In this paper we describe our experiences working with an established summer
program at Pomona College that prepares students from groups traditionally
underrepresented in higher education to be admitted to, and to succeed in, college. We
believe the strategy of partnering with an existing outreach program is promising as a
way of encouraging a population that is already prepared to succeed in college to explore
computer science once they get there. In the rest of this paper we describe the design of
two robot-based activities, discuss results gleaned from pre- and post- surveys given to
the participants, and finally comment on lessons learned.

BACKGROUND
The Pomona Academy for Youth Success (PAYS) is a 4-week rigorous summer
program which serves up to 90 students each year. These students are rising sophomores,
juniors, and seniors at local high schools and are from "groups traditionally
underrepresented in higher education-students who are first in their family to attend
college, those from low income families and those who are African American or
Latina/o." [1] The students take critical thinking and math classes taught by local faculty,
enroll in short elective courses taught by college students (many of whom are alumni of
the program), and receive guidance on navigating the college admissions process.
Students are encouraged to take part in the program for more than one summer; indeed,
all the rising seniors are participating for either their second or third summer.
In addition to the above activities, rising seniors take part in an intense short-term
research mini-project. These projects are supervised by faculty across the college and
have included projects in disciplines such as theater, sociology, chemistry, and
mathematics. Rising juniors and sophomores can sign up for optional activities in a
variety of areas that have, in the past, included preparing a newsletter or working in an
organic garden. The PAYS staff assigns students to the activities and projects available
each summer after taking into consideration the students' rankings of the different

191
JCSC 26, 4 (April 2011)

offerings and the instructors' requests about features such as class size. Because the
activities are optional, students can choose to not participate in an activity or request to
switch activities. The assignment to research mini-projects, on the other hand, is final.

STRUCTURE OF THE COURSES


In the summer of 2008 one of the authors led a group of 5 rising seniors on a
research mini-project related to finding good fill-reducing orderings for sparse matrix
computations. Students were taught basic commands in Matlab, and then asked to
experiment with scripts that compared the behavior of different orderings. In hindsight,
that task was too far removed from anything the students had experience with, and so
they had difficulty seeing the big picture or understanding why the work was important.
Indeed, the students showed significant enthusiasm and interest when the professor gave
a mini-lecture on applications of sparse matrices [10].
As a result, for the summer of 2009 we made the topic more hands on by having the
students learn Python in order to work with Scribbler robots
(http://www.parallax.com/tabid/455/Default.aspx). In addition, we offered not just a
mini-project for rising seniors, but also a robot-based activity for rising sophomores and
juniors.

Activity Group
This group of 15 rising sophomores and juniors met with us twice a week for an
hour each time. Each session began with a brief presentation on robotics or more
generally AI. The students then worked in groups of three on learning basic Python
programming with the goal of being able to issue simple commands to Scribbler robots.
Projects included getting the Scribbler robots to draw simple geometric shapes.

Research Group
This group of 6 rising seniors met with us four times a week for 2 hours each time.
Because we wanted them to help each other and to start to view computer science as a
collaborative field, we had them work in pairs. The students chose their partners and kept
the same partners over the four weeks.
The curriculum closely followed the material in [2]. The first week and a half was
highly structured: in each session an undergraduate instructor gave a mini-lecture and the
students then worked in pairs on worksheets with exercises such as those in [2]. The
students also periodically worked as one group of six to do activities such as getting the
Scribblers to write out the word "PAYS" and having the Scribblers race around the room
with each robot controlled by one person who could see the robot and another who could
only enter commands.
Halfway through the second week we asked each pair to choose a final project. We
gave them a list of possibilities, together with our thoughts on the likely difficulty of, and
challenges presented by, each. Ultimately the three pairs chose the following projects:

192
CCSC: SouthwesternConference

P burglar alarm: programming the Scribbler to emit a beeping sound when it detected
a door opening
P light seeker: programming the Scribbler to detect and follow a light source
P line follower: programming the Scribbler to follow a line on the ground
The line following project was the most difficult, and that pair never got their program
to fully work. The burglar alarm was the most straightforward, so that pair ended up
spending time adding extra features such as the ability to play songs in place of simply
beeping. The light seeker program was somewhere between the other two in difficulty,
and that pair had no trouble finishing. In fact, they spent time trying to adapt their
program to detect and head towards objects of a specific color.
In the last week we switched to preparing presentations. The students first gave a
12-minute Powerpoint presentation to the rest of the PAYS community (a group of over
100 high school students, professors, and staff). The final presentation had six content
slides, with each pair of students responsible for presenting a slide on their final project
and a slide on some aspect of the overall experience. We used the slides from the talk to
prepare a poster that was displayed at the closing ceremonies.

EVALUATION
We administered pre- and post-surveys to all the participants. The surveys
contained a dozen Likert items meant to evaluate students' attitudes, competencies, and
confidence. Examples of items include:
! Computer Science is useful
! Computer Science is fun
! I am confident in my problem solving ability
! Computer Science is something I could be good at
In addition, there were several free-response items including:
! What do you think Computer Science is?
! What do you think Computer Scientists do?
The six research students completed both the pre- and the post-surveys. All 15 activity
students completed the pre-survey, but only 9 of them completed the post-survey.
We emailed the research students during their first year of college to find out
whether they had taken, or were planning on taking, a CS1 class.

RESULTS
The following table shows the average score on 7 of the 12 Likert items for both the
pre- and post-surveys, for the students in the research mini-project and for the students
in the activity. A 1.0 corresponds to "strongly disagree" and a 5.0 to "strongly agree".

193
JCSC 26, 4 (April 2011)

research activity
pre post pre post
Computer science is fun 3.0 4.8 3.9 4.2
Computer science is challenging 3.8 4.2 4.1 5.0
I would consider majoring in Computer Science 2.2 3.0 2.8 3.2
Computer Science is hard 4.0 3.3 3.5 4.1
Computer Science is useful 5.0 4.5 4.6 5.0
I am confident in my problem solving ability 4.0 3.8 3.9 3.8
Computer Science is something I could be good at 3.5 3.7 3.5 3.7
I am a capable programmer 2.0 3.2 3.2 3.6
Overall we saw little change between the pre- and post-surveys on items meant to
evaluate students' self-confidence. We saw some differences in other items between the
students who participated in the research project and the activity. For example, the
average score on "computer science is fun" was higher for the students in the activity
group than for the students in the research group in the pre-survey, but lower in the
post-survey. These differences could have been caused by the fact that the research
students were older, but we believe the main cause was the relatively little time that we
were able to spend with the activity students. Perhaps more light is shed on the
experiences of the activity students when we observe that on the post-survey every
participant in the robot activity marked that they strongly agreed with the statements
"computer science is challenging" and "computer science is useful", even though they did
not feel this way at the beginning of the session.
By way of contrast, the students in the research group felt less strongly that
"computer science is useful" after the four weeks. On the other hand, they felt much
more strongly that computer science is fun. They also felt that they had become more
capable programmers, indicating that they believed they acquired useful skills during the
session.

Understanding of computer science


In looking at the responses to the question "What is computer science?", we saw two
themes in the pre-survey: computer science as studying how computers work, and
computer science as the study of using computers to help with science. In the post-survey
several of the research students defined the field in terms of programming.
For the question "What do computer scientists do?", the pre-survey responses
included "program", "no idea", "create computer parts", "experiment with science through
computers", "hard work", and "learn and explore the different things computers can do
and how they may be useful." In the post-survey the students all seemed to have more
of an idea in their own mind of what computer scientists do, though not surprisingly their

194
CCSC: SouthwesternConference

responses were heavily biased by their experiences in the program. Post-survey


responses included: "research scientific materials, such as chemistry or robotics, by using
software to virtually see results", "Find new things to teach computers and robots", "find
new languages or work with how computers work", "they make new programs", "They
look for more efficient ways to do things through programs given to robots", and our
favorite "They have fun!"

Effect on college coursework


One of our goals in offering these activities was to introduce high school students
to computing with the hope that they would both attend college, and take a CS class early
in their college career. While the activity students are still in high school, the research
students have now completed a few months of college. (100% of students in the PAYS
program attend college; the vast majority enroll in 4-year baccalaureate-granting
institutions.) We have heard from four of the six robot research students. Of those four,
two are taking a CS1 class their first year in college, a third is planning to do so either
later this year or sometime next year, and the fourth is looking into getting a CS class
added to the course offerings at their institution. In addition, one of the five research
students from the preceding year also took a CS1 class her first year in college.

DISCUSSION
While overall we feel we were successful in showing students why computer science
is worth exploring, there are several things that we would do differently. For example,
without being able to assign homework, it was difficult to bring the research students up
to speed in terms of programming concepts and constructs, but almost impossible to do
so with the activity students who saw us for only two hours a week. As a result, the
activity students all strongly agreed with the statement "computer science is challenging"
by the end of the four weeks. However, they also all strongly agreed with the statement
that "computer science is useful" by the end of the session, which suggests to us that the
activity was still a valuable experience for them. In the future it would be interesting to
experiment with environments such as Alice (http://www.alice.org) or Scratch
(http://scratch.mit.edu) in the activity, as this would eliminate some of the chaos caused
by trying to work with the physical robots under tight time constraints.
The research students, on the other hand, expressed interest in doing more hands-on
exploration with the robots. As one student wrote in the post-survey: "We should do
more projects once all commands are taught. Trying different combinations is exciting."
Ultimately we see promise in both types of activities, as well as in the strategy of
working within a larger outreach program, for exposing students to computing concepts
and motivating them to consider taking CS1 in college. We also note that the activities
can be led by college students who have only taken introductory computer science
courses and, as a result, may be a way to keep college students involved in computer
science at a point where a summer research project might not be feasible. Leading these
activities can also strengthen the understanding of computing concepts for undergraduate
students and perhaps help with retention at the college level.

195
JCSC 26, 4 (April 2011)

ACKNOWLEDGMENTS
First and foremost, we would like to thank the PAYS research and activity students
for making this such a fun and memorable experience for us. We would like to thank
Matthew Bradley for helping us set up the hardware and software and the Norris
foundation for giving us the resources to buy the Scribbler robots. We are also grateful
to Maria Tucker and Sergio Marin for allowing us to work with the PAYS program.
Finally, the last author was funded in part by the National Science Foundation under grant
#CCF-0446604. Any opinions, findings, and conclusions or recommendations expressed
in this material are those of the authors and do not necessarily reflect the views of the
National Science Foundation.

REFERENCES
[1] Pomona College Draper Center for Community Partnerships: Educational
Outreach Programs.
http://www.pomona.edu/administration/draper-center/educational-outreach.aspx,
retrieved January 19, 2011.
[2] Kumar, D., ed. Learning Computing with Robots. Fall 2008.
[3] Prashad, S., Muhammad, M. N., Gupta, M., Curriculum - IPRE Wiki.
http://wiki.roboteducation.org, retrieved June 5, 2009.
[4] Expanding Underrepresented Minority Participation: America's Science and
Technology Talent at the Crossroads. National Academies Press.
http://www.nap.edu/catalog.php?record_id=12984, retrieved November 30,
2010.
[5] Peluso, E. M., Mauch, E., Incorporating Alice into a summer math and science
outreach program. Proceedings of the 2009 Alice Symposium. 2009.
[6] Scarlatos, L., Lowes, S., Sklar, E., Chopra, S., Parson, S., Rudowsky, I., Holder,
H, Building bridges: the 2006 summer institute, J. Comput. Small Coll. v23(3):
23-30, January, 2008.
[7] Das, M., Novel summer camp for underrepresented minority high school
students, Proceedings of the ASEE Conference, Washington D.C., 1997.
[8] Freeman, P.A. and Cuny, J., Common Ground: A Diverse CS community
benefits all of us, Computing Research News, v17(1), 2005.
[9] Broadening Participation in Computing Research and Education: Report of
Computing Research Association Workshop on Broadening Participation,
October 2004,
http://www.cra.org/Activities/workshops/broadening.participation/report.html.
[10] Chen, T.-Y., Research mini-projects for high school students. Poster presented
at SIGCSE 2009. Chattanooga TN, March 2009.

196
WORKING TOGETHER: WORDS AND MATH*1

Allison Neyer**, Stephanie E. August*, and Michele Hammers***


**Department of Electrical Engineering and Computer Science
*** Department of Communication Studies
Loyola Marymount University
1 LMU Drive
Los Angeles, CA 90045-2659
310-338-5973
waterrose9@aol.com, mhammers@lmu.edu, saugust@lmu.edu

ABSTRACT
Hybrid jumble and crossword puzzles can be used to bridge the gap between
mathematics and language. These new puzzles use the traditional formats in
new ways. Instead of using traditional word-based clues, these clues are
hexadecimal equations whose answers are inserted into the puzzle through
tiles. These answers can be words, numbers, or even a combination of letters
and numbers. Combining math equations with words can help dissolve the
barrier between language and math. This will help language-adept students
realize that math is just another language. With this realization, a greater
variety of people can understand and work with STEM topics, especially
women who tend to perceive that they are stronger in languages than math.
This paper explores this issue as well as the results of an initial assessment
workshop held on the Loyola Marymount University campus in the summer
of 2010.

1
This material is based upon work supported by the National Science
Foundation under Grant No. 093510. Any opinions, findings and conclusions or
recommendations expressed in this material are those of the author(s) and do not
necessarily reflect the views of the National Science Foundation (NSF).

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

197
JCSC 26, 4 (April 2011)

INTRODUCTION
In order to attract the best and brightest into STEM careers, a diverse pool of
applicants must be secured [7, pp.2-3]. However, fear of math and other components of
STEM careers may be stopping talented individuals from pursuing the education
necessary to enter into and thrive in STEM careers. In order to help address this problem,
games and virtual worlds can be used to make STEM education more accessible. VESLL
[1] (Virtual Engineering Sciences Learning Lab) is an online virtual learning environment
("VLE") and interactive museum that uses games and activities to explain basic science
and math concepts and provide opportunities to practice applying these concepts.
The VLE currently features a lesson consisting of jumble and crossword puzzle
activities. Through these activities, users can practice hexadecimal calculations in a new,
fun way. There are few learning activities that combine numbers and words together. In
fact, many educational games are either word games or number games but not both.
Although there are online word jumble puzzles to help spell numbers, these puzzles do
not use clues as equations and their solutions are not words [6]. There is also a crossword
puzzle with hexadecimal clues but binary solutions that turn into pictures [3, 4].
However, unlike the puzzles in the VESSL project, the clues are not equations and the
solutions are not words. This lack of words as solutions misses the opportunity to subtly
highlight the concept that math is a language. A search of the Internet and the literature
did not reveal any learning activities using puzzles in which the letters in hexadecimal
notation are used to form words as solutions. Although number systems like hexadecimal
contain alphabetic letters, crossword puzzles and jumble puzzles have not been used to
teach mathematical concepts. When word puzzles are combined with math, they usually
focus on math terms (vocabulary) rather than mathematical operations. Given this
traditional separation between word games and math games, the innovative combination
of letters, words and numbers in VESLL's jumble and crossword puzzle activities can
help dissolve the barrier between language and math. Arguably, this will allow
language-adept students to realize that math is just another language. With this
realization, people who feel they are better with languages can develop a more positive
orientation toward STEM topics.
This is especially important because women tend to perceive that they are strong in
languages and not math. In fact, females tend to score higher on writing tests. However,
males tend to score higher on standardized math and science tests that are not directly tied
to their school courses [5]. Further research shows that these performance trends are not
necessarily tied to actual gender-based differences in natural ability, but may be related-at
least in part-to the impact of social stereotyping on individual self-perceptions. In a way,
these social stereotypes may create self-fulfilling prophecies that impact individual
performance on related measures. For example, research has shown that when people are
reminded of a negative stereotype about themselves, it may hurt their performance on
related measures [2]. Begley conducted a study in which a group of 46 Asian-American
female undergrads at Harvard were given a 12 question math test emphasizing advanced
algebra. All of the students were anticipating a "tough" math exam, but were exposed to
different preparatory conditions before taking the test. One group answered questions
emphasizing ethnicity ("How many generations of your family have lived in America?").
Another group's questionnaire consisted of subtle reminders of their gender ("Do you live
on a co-ed or single-sex dorm floor?") [2]. The two different sets of questions conditioned

198
CCSC: SouthwesternConference

one group to think of themselves in terms of their Asian heritage, while the other group
was conditioned to think of themselves in terms of their sex. Begley's results showed that
the female test-takers, who prior to the math test were reminded of their Asian heritage
and, apparently, the stereotype that Asians excel at math, scored highest, getting 54%
right. However, women whose questionnaire subtly reminded them of the stereotype that,
for girls, as Barbie infamously said, "Math is hard," scored lowest, answering 43%
correctly [2].
Begley's research suggests that stereotypes may have a powerful influence not only
on whether students perceive themselves as "good" at STEM related topics, but may also
impact how well they perform when exposed to these topics. However, these stereotypes
can be countered. By showing students, who may identify more with language-related
topics than with math, that math is just another language, we can help increase their
confidence in their mathematical abilities. Ultimately, dissolving the perceptual distance
between "language" and "math" may encourage a more diverse pool of
students-particularly more women-to pursue science and math-based educations, which
may potentially increase diversity in the workforce.

HOW IT WORKS
The jumble and crossword puzzles are a new breed of puzzles. Unlike traditional
jumble and crossword puzzles, these puzzles' clues are not limited only to the world of
letters. By replacing traditional word-based clues with clues that rely on math problems,
the user relies on both their language skills and their math skills to solve the puzzle.
Figures 1-3 show a hexadecimal crossword puzzle, an example of this new hybrid clue
in the crossword puzzle, and a solution to this clue. Figures 4-6 show a hexadecimal
jumble puzzle, an example of this new hybrid clue in the jumble puzzle, and a solution
to this clue. Hexadecimal calculations are perfect for this new hybrid clue, since this
number system is comprised of both numbers and letters (0-9 and A-F). Since the

199
JCSC 26, 4 (April 2011)

hexadecimal system has vowels, a variety of words and solutions can be made. Unlike
traditional clues, the choice of words is not limited to just letters. Words that combine
numbers and letters can be used, such as face2face or 86ed. Figure 3 and 6 demonstrate
these possible hexadecimal answers to the jumble and crossword puzzles.

After the user has clicked on the blue cylinder instruction dispenser below the

Instructions sign, a notecard with hexadecimal equations as clues will be given to the
user. Once the user has solved an equation, s/he will enter the solution into the puzzle
grid using interactive tiles that are adjusted by clicking the up or down arrow at the edge
of the tile. By clicking the green or red arrows, the user can scroll through the
hexadecimal system until the displayed value is the one that they want for that tile; each
tile is adjusted to enter the solution in the puzzle-just as one would write an answer in the
tiles of a traditional crossword puzzle. The user then goes on to the next equation/clue
and continues to work through the puzzle.
As with traditional word puzzles, the puzzle structure provides indirect feedback.
If a simple math mistake is made, the user can see that the word they created doesn't
make sense. This feedback will prompt the user to look over their work to see where they
went wrong. The game format makes the hexadecimal math questions more interesting

200
CCSC: SouthwesternConference

and provides a way to double check their answers. In fact, if the user clicks on the center
of the tile, it will turn red (wrong) or green (right) depending on whether or not the
displayed value is the same as the tile's answer. By providing the user multiple types of
feedback, the puzzle helps sustain interest and meta-level problem-solving. It also has the
potential to encourage collaboration since students can work together in groups and
discuss how to solve the problem.
In a slightly different approach, the jumble puzzle uses anagrams to allow the user
to further double check their work. To solve an anagram in this puzzle you need to
rearrange the circled jumble letters to form a real word. After rearranging the words into
a real English phrase, the user uses the arrows of the tiles to put the letters into the secret
message. If the secret message is gibberish, however, the user knows they have made a
mistake and can go back to their calculations to see where they went wrong. To
encourage efficiency, a user can use a timer and race against the clock. By trying to solve
the puzzle before time runs out, users can compete against one another for the fastest
time.

RESULTS
The VESLL project is still under development. An initial assessment workshop was
held on the Loyola Marymount University campus in the summer of 2010. Participants
were recruited from various schools including UCLA, Los Angeles Harbor Community
College, and Santa Monica Community College. These students came from different
racial and ethnic groups. Workshop participants included 5 Caucasians, 2 African/African
Americans, and 1 White/Filipino. In this workshop, 8 students (6 males and 2 females)
attended a lecture that explained different activities, including the jumble and crossword
puzzles, and the basic concepts each activity taught. These concepts range from
understanding hexadecimal calculations to working with logic gates. After each
presentation, the students participated in the activity and answered assessment questions;
students also answered assessment questions for the workshop as a whole. One female
student had to leave the workshop before the crossword and jumble puzzle presentations.
As a result, only 6 males and 1 female participated in the crossword and jumble puzzle
activities for the workshop and answered the assessment questions for these activities.
For the general workshop, the responses were positive. When asked, "What did you
like most about the VESSL learning experience?" one student responded: "more fun than
lectures, easier to interact with partners" and another student said: "it was interactive and
everyone was very relaxed". A portion of the survey was set up on a 5-point scale, where
1 represented strongly disagree and 5 represented strongly agree. In this portion of the
survey, students' mean response was 4.71 (n=7, standard deviation of 0.49) to the
statement: "The workshop activities were interesting ways to learn the material."
Students' mean response to the statement "Using Second Life made the learning
experience more interesting than a regular classroom lecture" was 4.71 (n=7, standard
deviation of 0.49). This positive response indicates that students in the workshop enjoyed
using these activities and preferred these activities over a regular classroom lecture. By
piquing students' interests, students are more likely to enjoy learning.
In regard to the crossword puzzle, there were only two written comments. One
student wrote, "Interesting/entertaining way to get practice on number systems. This can

201
JCSC 26, 4 (April 2011)

be useful if used similarly for other applications" while another commented that
"Interesting and entertaining method of gaining practice in number systems. This
technique can probably be very useful in other applications." Similar to the general
workshop survey, a 5-point scale was used. In response to the statement, "Prior to this
activity I was familiar with lesson content," the students' mean response was 3.00 (n=7,
standard deviation of 1.73). In response to the statement, "The activity helped me
understand the content," the students' mean response was 4.57 (n=7, standard deviation
of 0.53). In response to the statement, "The activity was an interesting way to learn the
content," the students' mean response was 4.57 (n=7, standard deviation of 0.53). These
responses indicate that students felt the crossword puzzle helped them understand the
content in an interesting way. These findings seem to support the proposition that
teaching hexadecimal calculations through crossword puzzles appeals to students and
helps them learn in a new way.
In regard to the jumble puzzle, there was only one written comment. One student
wrote, "Interesting and entertaining method of practicing number systems. Can be useful
if applied to other concentrations as well". Similar to the general workshop survey, a
5-point scale was used. In response to the statement, "Prior to this activity I was familiar
with lesson content," the students' mean response was 3.43 (n=7, standard deviation of
1.62). In response to the statement, "The activity helped me understand the content," the
students' mean response was 4.57 (n=7, standard deviation of 0.53). In response to the
statement, "The activity was an interesting way to learn the content," the students' mean
response was 4.57 (n=7, standard deviation of 0.53). These responses indicate that
students felt the jumble puzzle helped them understand the content in an interesting way.
These findings seem to support the hypothesis that teaching hexadecimal calculations
through jumble puzzles appeals to students and helps them learn in a new way.
Overall, these responses also indicate that having students work through hybrid
puzzles that combine math and language together did not impede their learning.
Generally, students found these puzzles fun and felt that these activities helped them
improve their learning of the concepts. In fact, the responses indicate this type of thinking
could be applied to other areas of study.

FUTURE WORK
In the future, these activities will be incorporated as one part of an overall structure
in order to encourage collaboration. This collaboration will be implemented by creating
an obstacle course that includes various activities, such as crossword puzzles and jumble
puzzles, in different stages. Partners will have to work together because when each stage
is completed hidden traps will alternately immobilize one of the partners, which will
prevent one partner from solving the whole puzzle and encourage cooperation between
the partners. At the same time, an element of competition will be introduced as other
teams of partners participate in the obstacle course and vie to complete it first. Through
competition and collaboration, teams will try to solve the different activities as quickly
as possible in order to beat the other team. This overall structure encourages learning
STEM concepts, play, competition, and collaboration.

202
CCSC: SouthwesternConference

REFERENCES
[1] August, S., Hammers, M., 2009. IEECI: Encouraging Diversity in Engineering
through a Virtual Engineering Sciences Learning Lab. NSF Proposal
no.0935100.
[2] Begley, S., The Stereotype Trap - Newsweek.
http://www.newsweek.com/2000/11/05/the-stereotype-trap.html, November 6,
2000.
[3] Bell, T., Witten I., Fellows, M., Computer Science Unplugged, Canterbury: New
Zealand, 1999-2002.
[4] Computer Science Unplugged, Binary Numbers,
http://www.spelling-help-online.com/numbers-word-jumble.htm, December 1,
2010.
[5] Halpern, D., A Cognitive-Process Taxonomy for Sex Differences in Cognitive
Abilities.
http://www.claremontmckenna.edu/berger/pdf/Halpern2004.CognitiveTaxonomy
.pdf, retrieved November 29, 2010.
[6] Harshbarger, E., Word Jumble Quiz Numbers 1 to 10,
http://www.bradleys-english-school.com/online/wordjumble/jumblenum1.html,
December 1, 2010.
[7] Moving forward to improve engineering education. 2007. National Science
Board. NSB-07-122. www.nsf.gov/pubs/2007/nsb07122/nsb07122.pdf. (last
accessed 2 March 2009)

203
ORIGINAL HISTORICAL SOURCES IN DATA STRUCTURES

AND ALGORITHMS COURSES*

Inna Pivkina
New Mexico State University
Las Cruces, NM 88003
575 646-6237
inna@nmsu.edu

ABSTRACT
Data Structure and Algorithms courses are often hard for students. Can the use
of projects based on original historical sources make it a better experience for
students? The paper describes three such projects which were used to cover
some of the material in Data Structures and Algorithms courses. Classroom
experience with the projects and student reactions to them are presented.

INTRODUCTION AND MOTIVATION


History is a huge resource that can be used in teaching and education. A lot of
people have successfully incorporated history in their courses. Reports of many different
authors on using history to enhance student learning are presented in [1]. The Computing
Educators Oral History Project employs histories to attract students to computing fields
[2].
One way of using history is to develop curricular modules (projects) for students
that use original historical sources [6, 8]. The projects are intended to cover topics from
the regular course material. A number of such projects have been designed for courses
in mathematics and computer science [6, 8].
Incorporating original historical sources in teaching enriches students' learning
experience as follows [7, 8].
• Primary historical sources provide context, motivation and direction to the subject
matter. The subsequent lines of inquiry are better motivated

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

204
CCSC: SouthwesternConference

• Students witness the process of discovery and become familiar with the research
process.
• Discoveries were often made by trial and error, and students realize that they can
make discoveries, too.
• The language of the original sources often requires students to interpret and explain
the reading in their own words which results in deeper understanding of the content.
• Original sources by their nature invite questions while textbooks usually do not.
• Teaching with primary sources provides instructors with a wealth of student
activities. For instance, tasks in the "Counting Triangulations of a Polygon" project
[7] include explaining concepts in students' own words, drawing and counting
triangulations of polygons, proving mathematical statements, coding,
experimentally comparing algorithms, etc. The variety of tasks supports different
learning styles.
• All students are equally unfamiliar with original sources which levels the playing
field. Weaker students may be more inclined to engage in something where they
know other students have no advantage.
It has been reported that the use of projects based on original historical sources
resulted in better students' performance in subsequent courses [7, 8]. Students who
completed a course with projects scored better than the mean GPA in 64% of the cases
for mathematics and in 62% of the cases for computer science.
This paper discusses projects for an undergraduate Data Structures and Algorithms
course. One of the projects, Counting Triangulations of a Polygon, was developed earlier
and was presented in [7]. Two other projects were developed and classroom tested
recently. They are described in detail here.
The rest of the paper is organized as follows. The next section contains descriptions of
the projects and lists topics which they cover. The following section describes classroom
experience with the projects and students' reactions. The last section outlines conclusions.

PROJECTS
All the projects presented in this section are based on original historical sources and
cover several topics from an undergraduate Data Structures and Algorithms course.

Counting Triangulations of a Polygon


The project was described in [7]. It can be used when dynamic programming is
being discussed in the course. It allows students to practice dynamic programming,
memoization, recursive thinking, comparison of running times of algorithms, etc.

Discovery of Huffman Codes


Story of the invention of Huffman codes published in [10] is a great story that
demonstrates that students can do better than professors. David Huffman was a student
in an electrical engineering course in 1951. His professor, Robert Fano, offered students
a choice of taking a final exam or writing a term paper. Huffman did not want to take the
final so he started working on the term paper. The topic of the paper was to find the most

205
JCSC 26, 4 (April 2011)

efficient (optimal) code. What professor Fano did not tell his students was the fact that
it was an open problem and that he was working on the problem himself. Huffman spent
a lot of time on the problem and was ready to give up when the solution suddenly came
to him. The code he discovered was optimal, that is, it had the lowest possible average
message length. The method that Fano had developed for this problem did not always
produce optimal code. Therefore, Huffman did better than his professor. Later Huffman
said that likely he would not have even attempted the problem if he had known that his
professor was struggling with it.
The project uses quotes from Fano's and Huffman's papers [4,5] to look into greedy
algorithms, prefix-free codes, Huffman encoding, binary tree representations of codes,
unit and amount of information. Both Fano and Huffman encodings are produced by
greedy algorithms. However, in Fano's approach the greedy algorithm does not find an
optimal solution while in Huffman's version it does.
The project is divided into several parts. Each part contains a reading assignment
(read selected quotes from the original sources and some additional explanations) and a
list of tasks on the material from the reading. The following are some of the tasks from
the project:
• Assume that we select one letter from the English alphabet at random. How much
information does this selection convey?
• Assume that there are n messages. For each message i, we know the probability of
the message, P(i). Write a pseudocode of the procedure described by Fano
(Shannon-Fano coding). What is the running time of the procedure?
• Implement Fano's method. Given a set of messages with their probabilities, your
program should output codes for each message.
• Argue that if you use frequencies instead of probabilities in Shannon-Fano coding,
you get the same codes for messages as you would get when using probabilities.
• Give your own examples when the Shannon-Fano procedure produces an optimal
code and when it does not produce an optimal code. You need to specify what the
messages are, what their probabilities (or frequencies) are, compute Shannon-Fano
coding, and compare it with optimal code obtained by using the Huffman procedure.
• Given a message ensemble and the ensemble code, how can you show that the code
is optimal? Is verification of a code being optimal easier or not than finding an
optimal code?
• You are given a code tree for a message ensemble. If you swap two leaves in the
tree and update labels of internal nodes so that they are equal to the sum of
probabilities of their descendant leaves, you get a different code for the ensemble.
Consider the following conjecture: if every code obtained by swapping two leaves
in the code tree is worse than the code of the original tree, then the code of the
original tree is an optimum code. Prove the conjecture or give a counterexample.
• In the procedure described by Fano, the divisions in groups and subgroups are made
without changing the order of the messages. Changing the order of messages may
allow us to divide the group into subgroups with less difference between
probabilities of subgroups. Assume that at every step of the Fano procedure we get
the best possible split. Will this modified procedure yield an optimum code?
• Write a few paragraphs that would explain contributions of Fano and Huffman to
science and technology to a non-computer science person.

206
CCSC: SouthwesternConference

Striving for Efficiency in Algorithms Case Study: Sorting


The project is based on the paper by R. Sedgewick "Implementing Quicksort
Programs" ([9]). In the paper Sedgewick presents "a practical study of how to implement
the Quicksort sorting algorithm and its best variants on real computers". The paper
contains the original version of Quicksort and its modification, which as Sedgewick says
combines the most effective improvements to Quicksort. The main idea of the project is
to experimentally verify results of Sedgewick by implementing the algorithms and
comparing their running times.
The project allows students to learn and practice Quicksort, insertion sort, recursive
thinking, using implicit stack data structure to remove recursion, computing running
times of algorithms, etc.
The project is divided into several parts. Each part contains a reading assignment
and a list of tasks. Some of the tasks are presented below:
• Program 1 in the paper describes the original version of Quicksort. The operators
and the constructs which are used in Program 1 are different from those which are
used in the textbook (Cormen et al. [3]). For instance, operator :=: and the control
structures loop … repeat. Rewrite Program 1 using pseudocode conventions from
the textbook.
• On page 848 Sedgewick writes: "For example, rather than using the "sentinel"
A[N+1] = ¥ we could use
loop: i:= i+1; while i£N and A[i]<n repeat;
for the i pointer increment, but this would be far less efficient." Explain why this
would be far less efficient.
• On page 849 Sedgewick says: "For example, if the file A[1],…,A[N] is already in
order, then the program will invoke itself to recursive depth N". Verify the
statement by drawing a tree of recursive calls for execution of Program 1 on already
sorted array A[1], …, A[N] (assume that all the elements being sorted are distinct).
• Describe in your own words the idea of median-of-three modification. What is the
purpose of this modification?
• Explain why condition A[N+1] = ¥ is needed in Program 2? What will happen if the
condition is not there?
• Generate 10 different input files using your Generator program. Each file should
have ten thousand integers in the range from 1 to 10000. Sort each of these input
files using your implementation of Program 1. Record sorting times. What are the
average, minimum and maximum sorting times?

CLASSROOM EXPERIENCE AND STUDENT REACTIONS


Classroom Settings
The projects were classroom tested in a junior level Data Structures and Algorithms
course. This is a 4 credit hour course with lab. The course is offered every semester and
the enrollment is usually 15-20 students. Only one of the projects was used in the course
in a semester. In one semester the "Counting Triangulations of a Polygon" project was
assigned to students when dynamic programming was covered. Another semester the
"Discovery of Huffman Codes" project was assigned when greedy algorithms were

207
JCSC 26, 4 (April 2011)

studied. Yet another semester "Striving for Efficiency in Algorithms Case Study: Sorting"
was assigned when the topic of sorting algorithms was discussed. Every time the project
was worth 15% of the final grade in the course - a significant portion of the final grade.
This was to make sure that students take the project seriously and to reflect the amount
of work students need to invest in the project. Students had two weeks to do the project.
They were working on the project in pairs. Some of the lectures were devoted to project
discussions.

Student Reactions
To evaluate teaching effectiveness of the projects anonymous pre-course and
post-course questionnaires ([6]) were administered at the beginning and at the end of the
semester. Questions in the questionnaires measured students' attitudes towards computer
science, learning computer science, applying computer science to real life problems, the
role of mathematics in understanding computer science, exploring the connection
between mathematics and computer science, etc. In the questions students were asked to
make a check mark on the appropriate blank to indicate their responses. The following
are some of the questions addressing students' attitude, perceived difficulty, and
usefulness of mathematics for understanding computer science ([6]).
• "I like ______:_______:_______:_______:_______:_______:_______ dislike
Extremely Quite Slightly Neutral Slightly Quite Extremely
learning computer science on my own as well as in classes."
• "It is easy ______:______:______:_______:_______:_______:_______ difficult
Extremely Quite Slightly Neutral Slightly Quite Extremely
for me to apply computer science to real life problems."
• "For understanding computer science, mathematics is:
useful _______:________:________:________:________:________:________ useless."
Extremely Quite Slightly Neutral Slightly Quite Extremely
Post-course questionnaires contained the same questions as pre-course
questionnaires, and in addition to that, included questions asking about the benefits and
the drawbacks of learning from historical sources.
Most of the students commented on the benefits of learning computer science from
historical sources. Some of the students' responses to the question "In your opinion, what
are the benefits of learning computer science from historical sources" are the following:
• "I think it helps to understand where everything we learn about comes from. You
get answers to questions like "where did all this come from". It can help you
understand ideas."
• "It gives a better understanding about how things came to be as they are. Learning
about computer science when it was starting is a bit easier, too, since things were
simpler then than they are now."
• "Figuring out to think about and approach problems is quite useful."
• "You get to see how people thought about things in order to come up with new
'technologies'. Learning how people thought is valuable because you can get a path
to help you out when coming across similar problems."
• "Very applicable and interesting".

208
CCSC: SouthwesternConference

Drawbacks of learning computer science from historical sources mentioned by the


students in response to the question "In your opinion, what are the drawbacks of learning
computer science from historical sources" are the following:
• "The terminology is different and programming some of those ideas are really
difficult."
• "One of the drawbacks is it can seem as if you are 'reinventing the wheel'."
• "Lots of background info to learn."
• "They're often out of date, since CS tends to move at a quick pace."
The questionnaires showed improved students' attitudes towards learning computer
science, integrating computer science with thinking in other areas, applying computer
science to real life problems, and usefulness of mathematics for understanding computer
science.

CONCLUSIONS
Projects based on original historical sources for use in Data Structures and
Algorithms courses are presented in the paper. Projects allow students to see how
research is done, provide a variety of tasks, and are an interesting way of teaching.
Classroom testing of the projects shows improved student attitude and improved
performance after completing a course with historical projects. The projects are freely
available for anybody to use. More information about teaching and learning with original
historical sources is available at [6].

ACKNOWLEDGMENTS
The material is based upon work supported by the National Science Foundation
under award number 0717752. Any opinions, findings, and conclusions or
recommendations expressed in this publication are those of the authors and do not
necessarily reflect the views of the National Science Foundation.

REFERENCES
[1] Aspray W., Akera A. (eds.), Using History to Teach Computer Science and
Related Disciplines, Washington, D.C.: Computing Research Association, 2004.
[2] Barker L., Adams E., Kahlon A., Lawrence A., Young A., Trends and
discoveries of the computing educators oral history project, Proceedings of the
40th ACM Technical Symposium on Computer Science Education, SIGCSE
(Chattanooga, TN, March 2009), 399-400, 2009.
[3] Cormen T.H., Leiserson C.E., Rivest R.L., Stein C., Introduction to Algorithms
(2nd ed.): MIT Press and McGraw-Hill, 2001.
[4] Fano R.M., The transmission of information, Technical Report No. 65, Research
Laboratory of Electronics, M.I.T., Cambridge, Mass., 1949.

209
JCSC 26, 4 (April 2011)

[5] Huffman D.A., A method for the construction of minimum-redundancy codes,


Proceedings of the Institute of Radio Engineers, 40, (9), 1098-1101, September
1952.
[6] Learning Discrete Mathematics and Computer Science via Primary Historical
Sources, http://www.cs.nmsu.edu/historical-projects , retrieved November 10,
2010.
[7] Pengelley D., Pivkina I., Ranjan D., Villaverde K., A Project in algorithms based
on a primary historical source about Catalan numbers, Proceedings of the 37th
SIGCSE Technical Symposium on Computer Science Education (Houston, TX,
March 2006), 318-322, 2006.
[8] Pivkina I., Ranjan D., Lodder J., Special session: historical sources as a teaching
tool, Proceedings of the 40th ACM Technical Symposium on Computer Science
Education, SIGCSE (Chattanooga, TN, March 2009), 401-402, 2009.
[9] Sedgewick R., Implementing Quicksort programs, Communications of the ACM,
21, (10), 847-857, 1978.
[10] Stix G., Profile: David Huffman, Scientific American, pp. 54, 58, September
1991.

210
SETS EARLY and PROBABILITY*

John Motil
Computer Science Department
College of Engineering and Computer Science
California State University Northridge 91330
jmotil@csun.edu

ABSTRACT
Sets are fundamental concepts that underlie much of computing. This paper
shows how sets can be introduced early and then lead quickly and smoothly
to logic and especially probability. This is done with a series of example
systems growing in size and complexity. It uses the Python language along
with some graphical set diagrams to provide a balanced approach for various
learning styles of students. The paper also provides a new simple measure of
the probabilistic dependence between sets.

INTRODUCTION
Sets are fundamental to computing, as well as philosophy, mathematics,
engineering, education and life. In fact it has been argued [2] that all mathematics can be
based on sets. Here we deal mainly with finite sets, which can serve to complement a
combinatorial approach to probability. Various diagrammatic set maps are used as tools
to model, analyze, compare, systematize and optimize systems of sets and to provide
insights.
Python 3 is used for practical programming since it has a simple elegant notation for
sets, with an interpretive mode for a constructivist pedagogical approach, Early refers not
only to the time in the curriculum, before logic and probability, but also possibly at
pre-university levels.

1. SETS AND ELEMENTS: Equal Status


Sets consist of elements, but often the emphasis is only on the sets. Elements of sets
can be specified as records or structures having binary attributes (in a set or not in it).

___________________________________________
*
Copyright © 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy
without fee all or part of this material is granted provided that the copies are not made or
distributed for direct commercial advantage, the CCSC copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the
Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a
fee and/or specific permission.

211
JCSC 26, 4 (April 2011)

This balance is shown in the given set of ten decimal digits and the sample element digit
"7" having (or not) four binary attributes (Even, Lucky, Rounded, Sticky). All of the other
9 similar digits have a binary value for each attribute.

Programming of sets is finally possible and easy thanks to the language Python, and
especially the latest version, Python3. A sample program follows. It involves two sets r,
s of the ten decimal digits;
r is a set of digits having rounded parts, {0, 2, 3, 5, 6, 8, 9}
s is a set of digits having straight, stick-like parts. {1, 2, 4, 5, 7}
This complete program includes comments which follow the pound (or sharp, #)
sign to the end of a line. The output of this program at the right can be done interactively
also (with outputs shown after each print command).

Diagrammatic representation of sets can be given to balance left and right brain
preferences of students. Venn diagrams are drawn as circular areas below for the above
round/sticky sets. Karnaugh maps [3, 5] are rectangular versions of Venn diagrams as
shown below.

212
CCSC: SouthwesternConference

Karnaugh maps are preferable set diagrams, because the Venn diagrams are
incomplete after 3 sets. For four sets the circular Venn Diagrams show only 14 of the 16
possible main subsets (minSets); the blackened areas show which are not possible on the
circular Venn diagram. Karnaugh set maps are not only complete but are easier to draw,
compare and analyze, and they also can provide more insight.
The previous digital sets are shown extended by two attributes (Lucky, Even).

Length or size of a set s, len(s), is especially of interest in computing probabilities.


Gonditional probabilities are insightful and easy to compute. For example the probability
of set s given set t is defined by the simple Python function:
def conditionalProb (s, t) :
return len(s,t) / len(t)

2. SYSTEMS OF 2 SETS: Communication Channel


Communication channels or relays involve binary signals sent s, and received r. The
four probabilities within the given set table and set diagram indicate the joint probability
of each s,r pair. For example, a zero is sent and a one received with probability 0.1, also
a one is sent and received as a zero with probability 0.2, thus resulting in a probability of
error of 0.3. Summing joint probabilities horizontally and vertically (at the margins of the
table) indicate a marginal probability of sending (.6) and receiving (.5) of the digit 1.
Ratios of these joint and marginal values yield many conditional probabilities (both
forward and reverse).

213
JCSC 26, 4 (April 2011)

Forward probability is the probability of receiving a value r given a sent value s: i.e.
probability that (r = 1) given (s = 0) is (.1 / .4) = .25
Reverse probability is the probability of a sent value s given a received value r. All
these forward and reverse probabilities are summarized on the following sagittal
diagrams.

Measure of Dependence
It is often useful to have one number to measure the relationship (dependence,
uncertainty) between sets; for example between sent and received signals, stimulus and
response, smoking and sickness, etc. Two common measures are chi-square (from
statistics), and entropy (from information theory).
Another measure, a new one, shown here is related to both of these methods. It
begins with a set table of joint probabilities and creates a second set of independent ones
by multiplying marginal values. The differences between each pair of actual and
independent values results in a third table. Notice that all the values there are identical in
magnitude (0.10 in this case), but differ in sign only. This surprising result happens for
sets (two values) with probabilities.

The absolute values are then weighted with their joint probabilities, and the resulting
average reduces to a simple measure D of dependence:
D = p(r & s) - P(r) * P(s)

214
CCSC: SouthwesternConference

that in this communication example is:


D = .4 - .6 * .5 = 0.10
If the sets were independent, the dependence measure would be D = 0; if the joint
probability was .2 (with the same sending/receiving probabilities and the other joint
values adjusted) then the dependence measure would be -0.10. Such a negative value
indicates an inverse relationship between input and output (a poor channel).
This D measure only applies to sets (which are binary), and can be extended to many
sets, whereas the other two measures can apply also to non-binary systems, but are
usually limited to fewer variables. There is a trade-off between number of values and
number of variables.

3. SYSTEMS OF 3 SETS: Influenza Study


Systems involving 3 sets are illustrated by a study of the spread of flu in a dormitory
[1]. Some students wore surgical masks and some washed hands often as shown by
percentages in the given set diagram. The original design study did not include those who
washed only and so the data here are fictional with convenient numerical values for
simple computation.

This example leads to many probabilities, some of which are listed here. They may
be determined in two ways (preferably both) either by writing a program or by selecting
areas of the set diagrams. Many more probabilities are possible.

Counting Probabilities
The number of subsets and especially probabilities is surprising. For 3 sets there are
8 minSets and thus 256 possible subsets, which can be generated by a program. All
possible conditional probabilities between any two subsets (256*256; over 65,000) can
also be generated, and during the generation some special ones can be selected and
studied to reveal interesting relationships between the sets. This process can provide a

215
JCSC 26, 4 (April 2011)

different way of viewing complex data. . For 4 finite sets there are over 4 billion
conditional probabilities; some may be surprising.!

4. SYSTEMS OF 4 SETS: Personality Types


Personalities have been classified [4, 6] into four types or preferences.:

These four sets (E,S,T,J) and corresponding complements (I,N,F,P) create 16


minsets of personality types as shown in the given figure. Each of the 16 types is
designated by four letters such as INFP, ENTP. Probabilities of these personality types
can be shown in set diagrams where different groups of people would have different
distributions.

Immutable sets, called frozen sets, are also available in Python; they may include
subsets as elements. Operations that change contents (pop, update, etc) do not apply to
these special sets.

SUMMARY
Sets can be introduced early into a curriculum either in a first programming class,
or in a discrete structures class. Recent languages such as Python 3 make this possible
and convenient. The set concepts are closely related to those of logic but seem simpler
and so can be introduced before logic and especially before probability. Karnaugh maps
provide intuitive and standard forms for comparing, structuring and studying sets. Sets
can also be viewed as examples of an object-oriented system.

216
CCSC: SouthwesternConference

Sets, when applied to probabilistic systems involve unusual counting, comparing


and measuring methods with fewer values but more variables than other measures
(chi-square and entropy) that can involve more values but usually fewer variables.
Sets provide elegant as well as practical insights, and a natural introduction to logic,
probability and systems.

REFERENCES
[1] Aiello, Allison E., et al, Mask use, hand hygiene, and seasonal influenza-like
illness among young adults: a randomized intervention trial. Journal of
Infectious Disease, Feb 15, 2010.
[2] Bourbaki, Nicolas, Theory of Sets, Reading MA: Addison-Wesley, 1968.
[3] Karnaugh, Maurice, The Map Method for Synthesis of Combinational Logic
Circuits. Transactions of the American Institute of Electrical Engineers part 1
(72(9), 593-599, November, 1953.
[4] Keirsey, David, Bates, Marilyn, Please Understand Me: Character and
Temperament Types, Del Mar CA: Prometheus Nemesis Book Company, 1984.
[5] Motil, John, Digital Systems Fundamentals, New York, NY: McGraw Hill, 1972.
[6] Myers-Briggs, Isabel, Meyers, Peter B., Gifts Differing: Understanding
Personality Type, Mountain View, CA: Davies-Black Publishing, (1980, 1995).

217
PEER INSTRUCTION IN THE CS CLASSROOM: A HANDS-ON

INTRODUCTION*

CONFERENCE TUTORIAL

Daniel Zingaro
Department of Computer Science
University of Toronto
Toronto, ON, Canada
daniel.zingaro@utoronto.ca

Leo Porter, Beth Simon John Glick


Computer Science and Engineering Department of Mathematics and
Department Computer Science
University of California, San Diego University of San Diego
La Jolla, CA, USA San Diego, CA, USA
leporter@cs.ucsd.edu glick@sandiego.edu

This workshop introduces participants to Peer Instruction (PI)[1] -- an active


learning technique widely used elsewhere, but rarely in CS. PI transforms a passive
lecture into a meeting dominated by group discussion of instructor-initiated questions,
elaboration of ideas, and exchange of perspectives. We will briefly introduce and
motivate PI, demonstrate its use in combination with a clicker voting system, and show
that PI is much more than -- and in fact, somewhat independent from -- the use of
clickers.
Participants will work in groups to develop new PI questions addressing challenges
to their students' learning. The goal is for participants to gain an appreciation for and
discuss the types of classroom benefits conferred through PI.
Instructors interested in increasing engagement in any CS course may attend!
Laptops are optional. To contextualize the discussion, participants are encouraged to
bring current lecture material.

[1] CROUCH, C. H., AND MAZUR, E. Peer instruction: Ten years of experience and
results. American Journal of Physics 69 (2001), 970-977.

___________________________________________
*
Copyright is held by the author/owner.

218
KEYNOTE ADDRESS

Saturday, April 2, 2011


U
N
D
E
R
S
T
A
N
D
I
N
G
N
S
F
F
U
N
D
I
N
G
O
P
P
O
R
T
U
N
I
T
I
E
S
*

Scott Grissom
National Science Foundation
4201 Wilson Blvd, Suite 835
Arlington, VA 22230
(703) 292-4643
sgrissom@nsf.gov

ABSTRACT

This session highlights programs in the National Science Foundation (NSF) of


particular interest to computer science educators. Topics include a description
of program goals, guidelines, review process as well as strategies for writing
competitive proposals. The presenter is a NSF Program Officer in the Division
of Undergraduate Education and has a wealth of experience working with
NSF-funded principle investigators.

INTRODUCTION
NSF supports projects to improve education in science, technology, engineering, and
mathematics through several programs in its Education and Human Resources (EHR)
directorate, as well as in its research directorates, including Computer and Information
Science and Engineering (CISE). This tutorial presents a description of some
education-related programs in the EHR and CISE directorates, and enables participants
to interact with the presenters concerning specific project ideas that could be appropriate
for the various programs.

SPECIFIC PROGRAMS DISCUSSED


Complete details about each of the following programs can be found on the NSF
websites for the Division of Undergraduate Education (DUE) [1] and the Directorate for
Computer & Information Science & Engineering (CISE) [2].

___________________________________________
*
Copyright is held by the author/owner.

219
JCSC 26, 4 (April 2011)

! Transforming Undergraduate Education in STEM (TUES)


! Federal Cyber Service: Scholarships for Service (SFS)
! Research Experiences for Undergraduates Sites (REU Sites)
! Scholarships in Science, Technology, Engineering and Mathematics (S-STEM)
! STEM Talent Expansion Program (STEP)
! Advanced Technological Education (ATE)

WRITING COMPETITIVE PROPOSALS


NSF programs are quite competitive but there are simple strategies that investigators
should be aware of to improve their chances of success. First and foremost, read the
Program Solicitation carefully. The goal is to help reviewers quickly understand what
you intend to do and that you have given sufficient thought of how you intend to do it.
Organize the proposal to address the essential components described in the solicitation.
Use headings, boldface and bulleted lists to help the reader quickly understand the
organization of the proposals. Address each point thoroughly but succinctly. And
finally, start well before the submission deadline. Include sufficient lead time to allow
colleagues to provide feedback and for your research office to approve the proposal.
Specific directions for completing a proposal can be found online [3].

REFERENCES
[1] NSF Division of Undergraduate Education (DUE),
http://nsf.gov/div/index.jsp?div=DUE, 2009.
[2] NSF Directorate for Computer & Information Science & Engineering (CISE),
http://nsf.gov/dir/index.jsp?org=CISE, 2009.
[3] NSF Funding, How to Prepare Your Proposal, http://nsf.gov/funding/preparing,
2009.

220
INDEX OF AUTHORS

Abeysekera, K . . . . . . . . . . . . . . . . 85 Lam, A . . . . . . . . . . . . . . . . . . . . . 149


Adigwu, J . . . . . . . . . . . . . . . . . . . 149 Lewis, C . . . . . . . . . . . . . . . . . . . . 173
Alkadi, G . . . . . . . . . . . . . . . . . 21, 71 Libeskind-Hadas, R . . . . . . . . . . . 130
Arellano, N . . . . . . . . . . . . . . . . . . 149 Lindoo, E . . . . . . . . . . . . . . . . . . . . 41
August, S . . . . . . . . . . . . . . . 110, 197 Liu, C . . . . . . . . . . . . . . . . . . . . . . 149
Baker, L . . . . . . . . . . . . . . . . . . . . . . 2 Meinke, J . . . . . . . . . . . . . . . . . . . . . ix
Barker, L . . . . . . . . . . . . . . . 139, 164 Mendoza, S . . . . . . . . . . . . . . . . . 149
Beaubouef, T . . . . . . . . 14, 21, 71, 78 Milshteyn, A . . . . . . . . . . . . . . . . 149
Beltran, S . . . . . . . . . . . . . . . . . . . 149 Motil, J . . . . . . . . . . . . . . . . . . . . . 211
Bonakdarian, E . . . . . . . . . . . . . . . 140 Nahapetian, A . . . . . . . . . . . . . . . 122
Boussalis, H . . . . . . . . . . . . . . . . . 149 Neeman, H . . . . . . . . . . . . . . . . . . . . 5
Brown, S . . . . . . . . . . . . . . . . . . . . 71 Neyer, A . . . . . . . . . . . . . . . . . . . . 197
Bush, E . . . . . . . . . . . . . . . . . . . . . 130 Nilekani, R . . . . . . . . . . . . . . . . . . . 85
Camp, L . . . . . . . . . . . . . . . . . . . . 113 North, S . . . . . . . . . . . . . . . . . . . . 102
Carlisle, J . . . . . . . . . . . . . . . . . . . . 64 Nunéz, G . . . . . . . . . . . . . . . . . . . 149
Chen, I . . . . . . . . . . . . . . . . . . . . . . 49 Palmer, J . . . . . . . . . . . . . . . . . . . . 157
Chen, P . . . . . . . . . . . . . . . . . . . . . . 49 Patton, E . . . . . . . . . . . . . . . . . . . . . 71
Chen, T . . . . . . . . . . . . . . . . . . . . . 190 Pivkina, I . . . . . . . . . . . . . . . . . . . 204
Clancy, M . . . . . . . . . . . . . . . . . . . 173 Porter, L . . . . . . . . . . . . . . . . . . . . 218
Cohoon, J . . . . . . . . . . . . . . . 139, 164 Reilly, A . . . . . . . . . . . . . . . . . . . . . . 6
Damania, Z . . . . . . . . . . . . . . . . . . . 85 Scherger, M . . . . . . . . . . . . . . . . . . 57
Davari, S . . . . . . . . . . . . . . . . . . . . . 6 Simon, B . . . . . . . . . . . . . . . . . . . 218
Defoe, D . . . . . . . . . . . . . . . . . 93, 189 Simpson, R . . . . . . . . . . . . . . . . . . . 28
Dodds, Z . . . . . . . . . . . . . . . . . . . . 130 Sood, S . . . . . . . . . . . . . . . . . . . . . 190
Doherty, M . . . . . . . . . . . . . . . . . . 181 Strader, R . . . . . . . . . . . . . . . . . . . . 35
Dunn, D . . . . . . . . . . . . . . . . . . . . . 35 Thomas, M . . . . . . . . . . . . . . . . . . 115
Easley, S . . . . . . . . . . . . . . . . . . . . 165 Titterton, N . . . . . . . . . . . . . . . . . . 173
Estrada, J . . . . . . . . . . . . . . . . . . . 149 Tiu, S . . . . . . . . . . . . . . . . . . . . . . . . 6
Eubanks, A . . . . . . . . . . . . . . . . . . . 35 Tsai, E . . . . . . . . . . . . . . . . . . . . . 149
Glick, J . . . . . . . . . . . . . . . . . . . . . 218 Vasserman, L . . . . . . . . . . . . . . . . 190
Gonzalez, M . . . . . . . . . . . . . . . . . 190 Verma, R . . . . . . . . . . . . . . . . . . . . 49
Graetz, E . . . . . . . . . . . . . . . . . . . . 93 Wang, J . . . . . . . . . . . . . . . . . . . . 102
Grissom, S . . . . . . . . . . . . . . . . . . 219 Whittaker, T . . . . . . . . . . . . . . . . . 140
Hall, S . . . . . . . . . . . . . . . . . . . . . . . 6 Wilson, J . . . . . . . . . . . . . . . . . . . . 41
Hammers, M . . . . . . . . . . . . . . . . 197 Yang, K . . . . . . . . . . . . . . . . . . 21, 78
Han, J . . . . . . . . . . . . . . . . . . . . . . 166 Yao, J . . . . . . . . . . . . . . . . . . . . . . . 64
Hartness, K . . . . . . . . . . . . . . . . . . . . 2 Yue, K . . . . . . . . . . . . . . . . . . . . 6, 85
Johnson, T . . . . . . . . . . . . . . . . . . . 28 Zhang, H . . . . . . . . . . . . . . . . . . . . 95
Kammerdiener, T . . . . . . . . . . . . . . 95 Zhang, W . . . . . . . . . . . . . . . . . 14, 21
Kart, M . . . . . . . . . . . . . . . . . . . . . . 48 Zingaro, D . . . . . . . . . . . . . . . . . . 218
Kurkovsky, S . . . . . . . . . . . . . 93, 189

221
222
JCSC Volume 26 Number 4 April 2011
View publication stats

Muhlenberg College NON-PROFIT ORG.


U.S. POSTAGE
2400 Chew Street
Allentown, PA 18104-5586 PAID
ALLENTOWN, PA
PERMIT #759

You might also like