scispace - formally typeset
Search or ask a question

Showing papers in "Journal of Computing Sciences in Colleges in 2008"


Journal Article
TL;DR: Intel® Threading Building Blocks is a C++ runtime library that abstracts the low-level threading details necessary for effectively utilizing multi-core processors and uses C++ templates to eliminate the need to create and manage threads.
Abstract: Intel® Threading Building Blocks [1] is a C++ runtime library that abstracts the low-level threading details necessary for effectively utilizing multi-core processors. It uses C++ templates to eliminate the need to create and manage threads. Applications tend to be more portable since parallelism is achieved through library calls and utilization of a task manager for scheduling. The task manager analyzes the system the software is running on, chooses the optimal number of threads, and performs load balancing that spreads out the work evenly across all processor cores. The library consists of data structures and algorithms that simplify parallel programming in C++ by avoiding requiring a programmer to use native threading packages such as POSIX threads or Windows threads, or even the portable Boost Threads.

158 citations


Journal Article
TL;DR: This paper presents a practical, high-level guide to understand the concepts of threat modeling to students in an introductory level Security course or even a Managerial course and uses the concept of Attack Trees to this end.
Abstract: A common practice for studying the risk to a business is based on risk management principles. I.e., security resources are applied to vulnerabilities that pose the greatest risk to the business. Several processes for identifying and prioritizing risk are proposed in the literature. One of the most effective is threat modeling. Traditional trust modeling thought in academia involved mostly mathematical and theoretical concepts and using computer-security company marketing literature/jargon making it very hard to understand or analyze. This paper presents a practical, high-level guide to understand the concepts of threat modeling to students in an introductory level Security course or even a Managerial course. We use the concept of Attack Trees to this end. Attack Trees are conceptual diagrams of threats on systems and possible attacks to reach those threats. Here, we first provide a brief introduction to Attack Trees and then we consider Globus systems to illustrate how Attack Trees could be used to analyze their security. We specifically evaluate the security of MyProxy system, an important security subsystem part of Globus toolkit for Grid Computing.

122 citations


Journal Article
TL;DR: This tutorial includes material from the Computer Science Unplugged project, sample activities, book, and videos, activities from a show for children will be demonstrated, and evaluation and lessons learned over the years will be presented.
Abstract: This tutorial focuses on enrichment and extension material for classes of all ages, and explores Computer Science in a fun way without using computers! It includes material from the Computer Science Unplugged project (including, sample activities, book, and videos), activities from a show for children will be demonstrated, and evaluation and lessons learned over the years will be presented. A CD containing copies of the two CS Unplugged textbooks, sample activities, videos and articles on CS Unplugged will be distributed. Participants will be introduced to the new Unplugged++ project, the next steps in materials development and presentation for educating young people about the field of Computer Science.

95 citations


Journal Article
TL;DR: The overwhelmingly positive responses provided via the anonymous surveying of the participants can be determined that the Second Life platform is indeed a viable solution for distance education in the area of computer science.
Abstract: This paper explores the feasibility of utilizing the vaunted Second Life environment for distance education in the area of computer science. Two sets of user groups were enlisted to determine whether the virtual environment was suitable for conveying concepts ranging from the simplistic to the complex. Due to the overwhelmingly positive responses provided via the anonymous surveying of the participants, it can be determined that the Second Life platform is indeed a viable solution for distance education in the area of computer science.

89 citations


Journal ArticleDOI
TL;DR: A data mining and machine learning approach that can provide objective evidence for detecting outsourced program submissions and a decision tree model built on the collected measurements yields relatively good detection accuracy.
Abstract: The task of writing computer programs outside of class is the most realistic experience students have in a programming class and hence can be the most accurate evaluation of their ability. However some students hire outside parties to produce these programs. We present a data mining and machine learning approach that can provide objective evidence for detecting such instances. Based on programs submitted by students across two lower-level CS (Computer Science) courses, we extract some basic programming style metrics. A decision tree model built on the collected measurements yields relatively good detection accuracy. In addition, an investigation into relative importance of the basic style metrics was performed which indicated Lines of Code, Number of Variables, and Number of Comments as important attributes. The methods are being implemented in a software analysis tool that instructors could possibly use for detecting outsourced program submissions.

55 citations


Journal Article
TL;DR: A new approach to CS0 was tested that focuses on making programming concepts both fun and accessible for students, and utilized a variety of active learning techniques to introduce the basics of computer programming, emphasize problem solving, and cover computer literacy topics.
Abstract: The national decline in computer science enrollments has instructors everywhere searching for ways to reverse the trend. At the University of Mary Washington a new approach to CS0 was tested that focuses on making programming concepts both fun and accessible for students. The course utilized a variety of active learning techniques including kinesthetic learning activities, games, competitions, discussions, and hands-on labs to introduce the basics of computer programming, emphasize problem solving, and cover computer literacy topics. The details of these activities and an evaluation of the course are provided in this paper.

32 citations


Journal Article
TL;DR: This workshop will include tutorials and example programs to demonstrate how instructors can improve the learning and programming experience of their students with jGRASP.
Abstract: jGRASP is an integrated development environment that provides automatic generation of visualizations to improve the comprehensibility of software. These visualizations, which are particularly well suited for CS1 and CS2 using Java, include Control Structure Diagrams, UML Class Diagrams, and dynamic Object Views for data structures such as stacks, queues, linked lists, and binary trees. The workshop will provide an in-depth introduction to jGRASP and show how to use the visualizations to improve the learning experience. Participants are encouraged to bring programs from their own courses and experiment with the visualizations for these during the workshop. jGRASP is freely available (http://www.jgrasp.org/).

31 citations


Journal Article
TL;DR: A summary of the responses of students to a survey on password practices and attitudes is presented and the results of an experiment are presented to determine the effect of a brief presentation of password security best practices on students.
Abstract: Passwords are the core authentication method behind most computer security systems. This paper presents a summary of the responses of students to a survey on password practices and attitudes. The paper also presents the results of an experiment to determine the effect of a brief presentation of password security best practices on students.

25 citations


Journal Article
TL;DR: The proposed Integrated File Level Cryptographical Access Control system combines the benefits of the traditional file-level cryptography and the full-disk cryptography system, making it both secure and easy to use.
Abstract: In this paper, we propose the design of the Integrated File Level Cryptographical Access Control (IFLCAC) system, which makes file security much easier for the end user to utilize. The proposed system combines the benefits of the traditional file-level cryptography and the full-disk cryptography system, making it both secure and easy to use. We first investigate the existing file cryptography systems, comparing their pros and cons, and then describe the components of the Integrated File Level Cryptographical Access Control system, and interactions among the components. We also discuss in brief how the system may be used in classroom teaching.

25 citations


Journal ArticleDOI
TL;DR: In this paper, the authors present research on podcast use in higher education and assess, via surveys, students perceptions and experiences regarding the use of podcasts as a supportive tool to learning in classrooms.
Abstract: Podcasting enables learning anytime, anywhere. Many students use MP3 or other portable players on a daily basis for music and entertainment. Mobile entertainment is flourishing throughout the world, and will continue to be a means of pleasure and connection. Podcasting is becoming more integrated as an additional means of teaching and learning by higher education faculty preparing students to compete in a global economy. Increasingly, mobile learning (also known as m-learning) is being used by students because it is portable and can be used in their own time frame. The focus of this qualitative paper is to present research on podcast use in higher education and to assess, via surveys, students perceptions and experiences regarding the use of podcasts as a supportive tool to learning in classrooms. This paper is an overview of the following six areas: what podcasting is, uses of podcasting, benefits of podcasting, disadvantages of podcasting, survey results, and tips for improving podcast quality.

25 citations


Journal Article
TL;DR: Criteria for judging the utility of robot kits for CS education are described and three robot kits and their programming environments are compared with respect to ease of use, flexibility, extensibility, documentation, and on-line community.
Abstract: Robotics can provide an interdisciplinary framework for teaching computer science. This paper describes a set of criteria for judging the utility of robot kits for CS education. We use these criteria to compare three robot kits and their programming environments, specifically with respect to ease of use, flexibility, extensibility, documentation, and on-line community. The three systems we evaluate are the Lego Mindstorms, the iRobot Create, and the Parallax Scribbler.

Journal Article
TL;DR: In this article, the authors test the impact of problem solving preferences on group conflict and performance and find that numerical dominance of problem-solving styles is related to negative team outcomes, and discuss ways in which instructors and team members may minimize negative team outcome when there is no choice other than forming a team with one dominant problem solving preference.
Abstract: Currently, professors are using a variety of team assignment techniques to form software engineering teams. This research believes that a contributing factor to the undesired outcomes (i.e., low performing teams and high levels of conflict) of software engineering teams is that the teams were not formed using "relevant and salient" criteria. To address the relevance issue, we test the impact of problem solving preferences (a sub-set of the MBTI scale) on group conflict and performance. We then test the extent to which the numerical dominance (i.e., salience) of problem solving styles influences conflict and performance. It was found that dominance of problem solving styles is related to negative team outcomes. We conclude by discussing ways in which instructors and team members may minimize negative team outcomes when there is no choice other than forming a team with one dominant problem solving preference.

Journal Article
TL;DR: This paper reviews how virtualization has penetrated the computing educational practices over the past 3 years and identifies milestones toward its efficient integration, and focuses on leveraging virtualization along with clustering technologies to provide an inexpensive, scalable, on-demand and transparent virtualization environment to students.
Abstract: Many courses in the computing curricula can benefit from hands-on pedagogical activities (e.g. active, discovery or problem-based learning) in the form of laboratory components associated with the lectures. While the benefits of such hands-on learning sessions are generally agreed upon, some system-oriented courses present a non-trivial challenge to instructors. Operating systems concepts (OSC), system administration, networking (NET) and computer security are all examples of courses which laboratories require students to have root access to be able to engage in meaningful experimentation of the lecture's concepts. With this constraint comes the need for more flexible technological support in the classroom. This paper reviews how virtualization has penetrated the computing educational practices over the past 3 years and identifies milestones toward its efficient integration. Our focus is on leveraging virtualization along with clustering technologies to provide an inexpensive, scalable, on-demand and transparent virtualization environment to students. We discuss technological alternatives to main vendors' offering based on our experience with the SOFTICE project. We conclude by presenting a prototype which extends further our objectives and discuss its potential for a GRID enabled version of our work.

Journal Article
TL;DR: This paper is a case study of four specific team-based projects that happened within a one semester time frame and best practices for teaching team project courses are provided.
Abstract: Today's software landscape requires an enormous amount of team effort in order to efficiently and effectively design and implement a significant information system. Employers increasingly seek computer science graduates with team project experiences. Employers also value good communication skills, and those that are well-rounded in technical skills and are able to work well with other people. In academia, teaching a team-based project course places additional demands on the instructor beyond the traditional lecture-style classroom. Issues faced include assessment and evaluation of each student's participation and contribution in a project, evaluating and correcting technical documents written by students, project management of the teams, and resolving conflicts that arise within a team. A substantial amount of time and effort outside the classroom is needed to successfully teach team project courses. As a result, many instructors are reluctant to pursue such courses in a computer science curriculum. This paper is a case study of four specific team-based projects that happened within a one semester time frame. Its purpose is to provide best practices for teaching team project courses. Management and assessment procedures used during the semester are described. The four projects are then explained in more detail. Next, issues that arise within each project are discussed. Finally, observations about each project are provided.

Journal Article
Wen-Jung Hsin1
TL;DR: A Recursion Graph is proposed to help students understand the process of recursion and provides a visual aid to illustrate the concept of recursions.
Abstract: Teaching recursion to undergraduate students is a challenging task. In this paper, a Recursion Graph is proposed to help students understand the process of recursion. Specifically, it provides a visual aid to illustrate the concept of recursion.

Journal Article
Shieu-Hong Lin1
TL;DR: A dynamicprogramming algorithm is devised for finding optimal refueling policies in a transportation network that minimizes the total fuel cost to reach the destination vertex from the starting vertex.
Abstract: Given the initial fuel level and the required final fuel level, a valid vehicle refueling policy specifies a path in a transportation network and the refueling decisions for passing through the vertices on the path to reach a destination vertex from a starting vertex in the network while maintaining the fuel level between the upper and lower limits of fuel level allowed in the entire process. A valid refueling policy is optimal if it minimizes the total fuel cost to reach the destination vertex from the starting vertex. We devise a dynamicprogramming algorithm for finding optimal refueling policies.

Journal ArticleDOI
TL;DR: The Intel Threading Building Blocks as mentioned in this paper is a C++ runtime library that abstracts the low-level threading details necessary for effectively utilizing multi-core processors using C++ templates.
Abstract: Intel Threading Building Blocks [1] is a C++ runtime library that abstracts the low-level threading details necessary for effectively utilizing multi-core processors. It uses C++ templates to elimi...

Journal Article
TL;DR: An overview of the Animated Database Courseware (ADbC) is provided as well as examples of how this software might be utilized in the classroom.
Abstract: Teaching abstract concepts can be best supported with supplemental instructional materials such as software animations. Visualization and animations have been shown to increase student motivation and help students develop deeper understandings. Through an NSF funded CCLI grant, a set of animations to support the teaching of database concepts is being developed and made freely available. Current modules available cover areas such as database design, interactive SQL, stored procedures and triggers, transactions and database security. In this paper, we provide an overview of the Animated Database Courseware (ADbC) as well as provide examples of how this software might be utilized in the classroom.

Journal Article
TL;DR: The experiences in running this workshop five times over the past three years are described, where the girls are introduced to programming concepts through Carnegie Mellon University's Alice software.
Abstract: Westminster College runs a math, science, and computing summer camp for middle school girls called AWE+SUM. Core to the camp is a set of workshops that allow for creative hands-on experiments and exploration. One of the most popular workshops is called "Programming with Alice'" where we introduce the girls to programming concepts through Carnegie Mellon University's Alice software. This paper describes our experiences in running this workshop five times over the past three years.

Journal ArticleDOI
TL;DR: This paper compares Python with Java for teaching CS0, the first introductory course for computer science majors, and finds Python more suitable than Java for CS0 and more advanced courses.
Abstract: This paper compares Python with Java for teaching CS0, the first introductory course for computer science majors. Python has a simpler and more elegant syntax than Java. Python has an open, community-based development model managed by the non-profit Python Software Foundation; while Java is proprietary. Both Python and Java provide support for Graphical User Interfaces and object-oriented programming but Java seems to be more complex. These features make Python more suitable than Java for CS0 and more advanced courses.

Journal Article
TL;DR: The design and implementation of a set of laboratories for undergraduate courses in Operating Systems Concepts (OSC) and Networking (NET) are discussed, exploring how state of the art Linux kernel and virtualization technologies can be leveraged to implement new pedagogical strategies focused on problem-based, active and authentic learning.
Abstract: This paper discusses the design and implementation of a set of laboratories for undergraduate courses in Operating Systems Concepts (OSC) and Networking (NET). More specifically, we focus on exploring how state of the art Linux kernel and virtualization technologies can be leveraged to implement new pedagogical strategies focused on problem-based, active and authentic learning. The Linux Loadable Kernel Modules (LKM) technology is leveraged to scaffold the learning of a production-level kernel's internals in OSC labs which draw their inspiration from root-kit development techniques. The User Mode Linux (UML) and Manage Large Networks (MLN) virtualization and provisioning technologies are deployed in networking labs to allow students to experiment hands-on with virtual networks created on-demand to illustrate widely used networking protocols. We focus on establishing the benefits of the proposed approaches by stressing the topics and pedagogies they enable instructors to engage their students in, compared to existing educational practices

Journal ArticleDOI
TL;DR: In this article, the authors propose a model for teaching information assurance ethics, which is composed of four dimensions: the moral development dimension, the ethical dimension; the security dimension; and the solutions dimension.
Abstract: This paper proposes a model for teaching information assurance ethics. The model is composed of four dimensions: the moral development dimension; the ethical dimension; the security dimension; and the solutions dimension. The ethical dimension explores the ethical ramifications of a topic from a variety of perspectives. The security dimension includes ways in which an information assurance topic manifests to information assurance professionals. The solutions dimension focuses on remedies that individuals, groups of individuals and society have created to address security problems and associated ethical dilemmas. The moral development dimension describes the stages and transitions that humans experience as they develop morally, as they develop their own personal beliefs and behaviors about right and wrong.

Journal ArticleDOI
TL;DR: Taking the traditional computer science curriculum, a distributed systems course builds on top of existing knowledge, allowing students to venture into a rapidly growing realm of computing and research.
Abstract: This paper discusses the impact a Distributed Systems course has made to students in the liberal arts undergraduate computer science setting at SUNY Geneseo. Taking the traditional computer science curriculum, a distributed systems course builds on top of existing knowledge, allowing students to venture into a rapidly growing realm of computing and research. The philosophy, history, and some of the projects presented in the course are described.

Journal Article
TL;DR: This paper discusses common myths and misconceptions about the field of computer science and attempts to dispel these notions in an effort to provide prospective computer science students and the general public with a more realistic view of the field.
Abstract: This paper discusses common myths and misconceptions about the field of computer science. It addresses and attempts to dispel these notions in an effort to provide prospective computer science students and the general public with a more realistic view of the field.

Journal Article
TL;DR: This paper explores how developing iPhone applications and using the novel mobile device as a case study can excite students throughout the curriculum.
Abstract: Apple Inc. released the iPhone in 2007. Several courses in a typical computer science curriculum can take advantage of the popular mobile device within the context of traditional computer science topics. In this paper, we explore how developing iPhone applications and using the novel mobile device as a case study can excite students throughout the curriculum.

Journal Article
TL;DR: Open-source software is utilized to build an open network lab and create 17 hands-on learning modules that will allow instructors to deliver real world projects to the students.
Abstract: A key to effective learning of computer networking and security is providing a "hands-on" laboratory coupled with modular curriculum that allows students to apply the problem-solving skills. However, it requires significant costs and time to set up a "hands-on" network laboratory in an academic environment. In this paper, we utilize open-source software to build an open network lab and create 17 hands-on learning modules. The framework of the lab and modules will allow instructors to deliver real world projects to the students. We expect that this research will contribute to the long-term improvement of IT workforce qualification in the U.S.

Journal ArticleDOI
TL;DR: This work proposes an alternative approach in which the project involves a service learning experience with a real customer, and indicates that student feedback indicates that this approach is an effective way to introduce students to the skills they need in the workplace.
Abstract: Projects for software engineering courses should provide students with practical experience in developing software which reinforces the academic material presented in the classroom. These projects are an opportunity for students to gain experience working with a team. The traditional approach is for the instructor to assign projects in which the instructor acts as the customer. We propose an alternative approach in which the project involves a service learning experience with a real customer. Student feedback indicates that this approach is an effective way to introduce them to the skills they need in the workplace.

Journal ArticleDOI
TL;DR: Preliminary results suggest that the students participating in the PLTL program are directly benefiting from the learning experiences facilitated by the peer leaders.
Abstract: This paper describes the implementation of Peer-Led Team Learning (PLTL) in the first two introductory programming courses at Texas A&M University - Corpus Christi in an attempt to attract and retain competent computer science majors through cooperative and active learning sessions. Preliminary results suggest that the students participating in the PLTL program are directly benefiting from the learning experiences facilitated by the peer leaders.

Journal Article
TL;DR: A novel design for hands-on student lab is implemented by combining the use of both emulation and software simulation technologies to save more than ninety percent of the lab equipment cost, improve the lab availability to the students, and eases the lab administration and management.
Abstract: This study introduces an ongoing project that allows instructors to teach networking classes using virtual technologies at our university. This paper concentrates on the implementation of a novel design for hands-on student lab by combining the use of both emulation and software simulation technologies. The redesigned lab saves more than ninety percent of the lab equipment cost, greatly improves the lab availability to the students, and eases the lab administration and management. The outcomes from this study will be disseminated to many colleges through the Cisco Networking Academy program which is currently adopted in thousands of locations nationwide and around world.

Journal Article
TL;DR: The successes and challenges of teaching a videogame design and development summer program using the software development tool, Game Maker, are discussed and how videogame development might be incorporated into a Computer Science curriculum is examined.
Abstract: The computer game industry has exploded reaching sales of several billion dollars a year and, consequently, a majority of college students are familiar with the gaming environment. In fact, videogame development has been cited as one way to motivate students to explore the world of Computer Science. However, most videogames are extremely complex computer programs created by a team of developers including programmers and graphic artists and represent thousands of hours of work. Fortunately there are software tools available that provide a way for simple computer games to be created fairly easily using a building block approach. This paper discusses the successes and challenges of teaching a videogame design and development summer program using the software development tool, Game Maker, and from this experience examines how videogame development might be incorporated into a Computer Science curriculum. The first section provides an overview of the Game Maker program and outlines the material taught in the program. Observations of the most successful teaching methods and approaches utilized are also explored. We conclude with a discussion of where videogame design might best be suited in a Computer Science curriculum citing its attractiveness to non-Computer Science majors, its use as a way to introduce introductory programming concepts and as a way to help students learn to read code. While Game Maker is not sophisticated nor is it a substitute for teaching a standard programming language, it can be easily integrated into introductory Computer Science courses.