Professional Documents
Culture Documents
Beyond The Computer Science Curriculum Empowering
Beyond The Computer Science Curriculum Empowering
net/publication/234782265
CITATIONS READS
6 993
4 authors, including:
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:
All content following this page was uploaded by Ghassan Alkadi on 06 February 2014.
ii
TABLE OF CONTENTS
FOREWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
John Meinke, UMUC Europe
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
iv
CLASSIFICATION OF RIDE-SHARING PARTNERS BASED ON MULTIPLE
CONSTRAINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Troy Kammerdiener and Hong Zhang, Southeastern Louisiana 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
vi
ORIGINAL HISTORICAL SOURCES IN DATA STRUCTURES AND
ALGORITHMS COURSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Inna Pivkina, New Mexico State University
vii
THE CONSORTIUM FOR COMPUTING SCIENCES IN COLLEGES
BOARD OF DIRECTORS
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
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
3
JCSC 26, 4 (April 2011)
4
KEYNOTE ADDRESS
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.
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.
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
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)
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?*
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)
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."
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:
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.
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].
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.
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.
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*
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)
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;}
}
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
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
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)
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.
Text Editor Basic Stamp Editor Myro any C text editor EasyC
Interface
38
CCSC: South Central Conference
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
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].
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.
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.
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
47
RIGOROUS SOFTWARE ENGINEERING USING DESIGN BY
CONTRACT*
TUTORIAL PRESENTATION
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
LEARNING STYLES*
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)
50
CCSC: South Central Conference
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.
52
CCSC: South Central Conference
53
JCSC 26, 4 (April 2011)
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
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)
56
A COURSE IN ADVANCED OPERATING SYSTEMS USING
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.
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.
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.
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)
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*
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.
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
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.
72
CCSC: South Central Conference
73
JCSC 26, 4 (April 2011)
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
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)
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
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.
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.
79
JCSC 26, 4 (April 2011)
when facial recognition by video surveillance is not possible. The list of hardware
required for this project includes:
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
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.
! Breadboard
! Microcontroller
! RFID reader
! RFID Tags
! LCD Screen
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
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)
84
THE USE OF FREE AND OPEN SOURCE SOFTWARE IN
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.
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.
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
88
CCSC: South Central Conference
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.
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.
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)
92
MOBILE GAME DEVELOPMENT PROJECTS FOR
INTRODUCTORY CS COURSES*
TUTORIAL PRESENTATION
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)
94
CLASSIFICATION OF RIDE-SHARING PARTNERS BASED ON
MULTIPLE CONSTRAINTS*
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
COMPUTING CONCEPTS*
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.
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.
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.
105
JCSC 26, 4 (April 2011)
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.
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
110
2011 SOUTHWESTERN CONFERENCE COMMITTEE
111
JCSC 26, 4 (April 2011)
112
KEYNOTE ADDRESS
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.
___________________________________________
*
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)
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.
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.
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.
119
JCSC 26, 4 (April 2011)
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
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)
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)
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.
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
COMPUTATION*
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
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.
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.
133
JCSC 26, 4 (April 2011)
134
CCSC: Southwestern Conference
135
JCSC 26, 4 (April 2011)
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!
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
CONFERENCE TUTORIAL
Lecia Barker
NCWIT
School of Information
University of Texas at Austin
(512)232-8364
Lecia@ishool.utexas.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:
CLASSES*
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
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.
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.
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.
143
JCSC 26, 4 (April 2011)
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].
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.
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.
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.
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.
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
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)
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.
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
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*
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.
___________________________________________
*
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)
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.
160
CCSC: SouthwesternConference
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
___________________________________________
*
Copyright is held by the author/owner.
164
KEYNOTE ADDRESS
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.
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.
169
JCSC 26, 4 (April 2011)
170
CCSC: SouthwesternConference
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)
172
DEVELOPING STUDENTS' SELF-ASSESSMENT SKILLS
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.
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).
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
177
JCSC 26, 4 (April 2011)
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
183
JCSC 26, 4 (April 2011)
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
186
CCSC: SouthwesternConference
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
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
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.
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.
194
CCSC: SouthwesternConference
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
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
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.
___________________________________________
*
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.
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
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
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)
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.
___________________________________________
*
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).
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
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.!
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
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
[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
Scott Grissom
National Science Foundation
4201 Wilson Blvd, Suite 835
Arlington, VA 22230
(703) 292-4643
sgrissom@nsf.gov
ABSTRACT
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.
___________________________________________
*
Copyright is held by the author/owner.
219
JCSC 26, 4 (April 2011)
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
221
222
JCSC Volume 26 Number 4 April 2011
View publication stats