bluuebunny/crossref_metadata_2025 huggingface dataset:
Between the disciplines
Authors: Coy Wolfgang
Published: October 2004

Computer science as a discipline has come of age. In fact, as a human worker it could face retirement. Computer science is one of the few new disciplines that evolved and grew, searching and finding its place between other disciplines such as mathematics, electronic design, economics, and others. By its origin, it was an interdisciplinary challenge. And this challenge still exists. New fields of applications emerge, while the basic foundations are still in question. Is computer science really a "very large application of logic" as Edsger Dijkstra once summarized? Is it shifting towards one of the fashionable media studies, or should it evolve to a serious engineering practice as David Parnas points out? There seems to be a long winding road before us -- but there is neither a "dead-end road" nor a "giant leap" in sight. Quite certain, computer science will reposition under the influences of new application like digital media and the demands of other disciplines from genetics and nano-technology to marketing, also known as "customer relationship management". What is new for computer science compared, let's say, to literature, chemistry, or astronomy? Probably, it is the steady flow of new connections to other fields whether as application areas or as deeper connections as in bioinformatics, digital media, or computational linguistics, where computer science does neither stand as a fixed body of rules and methods, nor as a well-defined field of objects to be investigated.
UML and agile methods
Authors: Gotterbarn Don
Published: October 2004

The principles of good software development are improving. We have better answers today about how to develop more effective software then we did yesterday. We may not have complete answers about how to produce quality software but we are getting closer. Two significant advances in the past few years are the Unified Modeling Language (UML), both the notation and its associated process(RUP) and the agile software development model in all of its variations including: Adaptive Software Development (ASD), Dynamic Systems Development Method (DSDM), Feature Driven Development (FDD), Scrum, and eXtreme Programming (XP).
Does anyone remember the KDF-9?
Authors: Williams Michael R.
Published: October 2004

Teaching a group of freshmen (most of whom were not even born when the graphical user interface, with its mouse, were crated) about the developments that have occurred in our field can be rather daunting. They have no recollection of recent major historical events --- many even think of the events involving the World Trade Center as "history."
Software engineering and the academy
Authors: Clear Tony
Published: October 2004

With software engineering (S. E.) now beginning to emerge as a distinct discipline, through initiatives such as the SWEBOK [1], the growth of undergraduate programmes in the U.S. [2] and collaborative efforts to offer programmes with breadth and depth [3], the challenges for the academy in balancing rigour and relevance can only become more intense. For some reason the contrast between the academic and the professional perspectives within the software engineering community is quite marked.
Draft information systems accreditation criteria for 2006
Authors: Gorgone John T.
Published: October 2004

General Accreditation Criteria has been developed by the Computing Accreditation Commission (CAC) of ABET, Inc. (
SIGCSE Bulletin,
December 2003) with the requirement that the Criteria will apply to
all
computing programs CAC evaluates. The Criteria is posted on the ABET web site for comments. Current program-specific criteria of information systems and computer science must be updated to meeting the General Criteria. Program-specific criteria may not weaken General Criteria but may include additional and stronger criteria. What follows is a draft version of information systems program criteria. It is based on August 18, 2003 version of CAC's General Criteria and November 2003 version of Program Criteria for Computer Science.
Book review
Authors: Lister Raymond
Published: October 2004

Sally Fincher and Marian Petre have edited a book [1] aimed at computer scientists who are seeking to enter education research. The book is divided into two parts. The first part is a "how to" for education research, written by Fincher and Petre. The second part of the book consists of five chapters. Each of those five chapters focuses upon a particular area of CSEd Research, and is written by a practicing researcher in that field.
Thinking about our teaching
Authors: McCauley Renée
Published: October 2004

During a recent semester, our department faculty had several discussions concerning our disappointment with our students' quality of work. Obviously, we agreed, this cohort of students was not working hard enough. Those of us teaching senior-level courses somewhat politely suggested that the rest of us teaching introductory courses just weren't making those courses challenging enough. Come to think of it, this type of discussion seems to occur every semester --- some time between midterm and exams.
What teachers should, can, and cannot do
Authors: Walker Henry M.
Published: October 2004

At a basic level, learning requires physiological changes within students' heads, and education seeks to accomplish appropriate neurological changes effectively and efficiently. While schools and faculty cannot change physiology by themselves (thank goodness), what roles teachers should play in the process? Here are three extreme models.
Update on two-year college activity
Authors: Campbell Robert D.
Published: October 2004

In December of 2003, I had the pleasure of participating in a discussion arranged by the staff of the United States House of Representatives Committee on Science regarding the impact of community colleges on the development of a technological workforce. Recognizing the natural relationship between the two-year college setting and the need for a national effort to ensure a properly trained and prepared body of employees, the National Science Foundation (NSF) established in 1995 the Advanced Technology Education (ATE) funding program. This USHR forum provided an opportunity to highlight some of the exemplary programs funded by the NSF ATE program.
On the verge of an empty tank
Authors: Ginat David
Published: October 2004

The new challenge in this issue involves searching and optimization computations. The challenge is divided into two parts. The first part requires a search for an appropriate starting point of a circular drive through several gas stations. The second part involves equalizing the fuel amounts in all the gas stations along the circular road.
Algorithmic patterns and the case of the sliding delta
Authors: Ginat David
Published: October 2004

We introduce "algorithmic patterns" as entities that combine design elements and mathematical aspects. We regard algorithmic patterns as operational concepts, which are repeatedly utilized in algorithmic problem solving, and enfold computational ideas with related mathematical characteristics. We illustrate their relevance with "The Sliding Delta" pattern. The pattern is defined, and then utilized in three different applications. The utilization demonstrates the relevance and effectiveness of the displayed notion of algorithmic patterns.
A model for a three course introductory sequence
Authors: Schneider G. Michael
Published: October 2004

This paper describes a new three-course introductory sequence. It design is based on the following three principles: 1) multiple first courses so students can enter the program in different ways, 2) eliminating any distinction between courses designed for majors and non-majors, and 3) lengthening the introductory sequence from two courses to three to allow adequate time for the coverage of important new ideas.
Cryptography and security protocols course for undergraduate IT students
Authors: Aly Alaaeldin A. , Akhtar Shakil
Published: October 2004

This paper presents an application of active learning methodologies to teach cryptography and security protocols for undergraduate IT students. This course is offered to sophomore/junior students and is based upon the recently approved Computing Curricula CC 2001 by IEEE Computer Society/ACM taskforce. We illustrate the teaching methodology to cover the security related topics such as encryption/decryption methodologies, security and protection, cryptographic algorithms and standards, and computer crime. An example lesson covering the DES is included.
Training strategic problem solvers
Authors: de Raadt Michael , Toleman Mark , Watson Richard
Published: October 2004

Making the leap from a problem statement to a solution program is a difficult task for novice programmers, even when they may have a sound knowledge of a particular programming language. To bridge this gap students are expected to implicitly build their own strategies through practice exercises. In this paper we argue that a more explicit approach to teaching problem solving strategies may lead to better problem solvers. We suggest a framework that can be used in instruction and assessment of problem solving strategies.
Construction of a professional perception in the "methods of teaching computer science" course
Authors: Hazzan Orit , Lapidot Tami
Published: October 2004

This article continues our previous manuscript, published in the December 2003 issue of
inroads.
Both articles address the "Methods of Teaching Computer Science in the High School" course (hence forth abbreviated MTCS). In this article we present an active learning based teaching model that can support the construction of the prospective computer science teacher's professional perception as a future computer science teacher.
Teaching bit-level algorithm analysis to the undergraduates in computer science
Authors: Chaudhuri Ranjan
Published: October 2004

The paper presents a number of elementary examples which could be used to teach the concept of bit-level algorithm analysis to the undergraduate students in Computer Science. Each of these example algorithms take one or more integer(s) as input in order to output the result. Without a bit-level analysis, the run-time complexities of these algorithms can not be estimated correctly. These simple examples will greatly facilitate learning this new concept.
Teaching computer security
Authors: Carlson David
Published: October 2004

This paper provides advice on how to create a first course on computer and network security. It is based on the author's teaching of such a course in a small college setting. The main emphasis is on a set of lab exercises that provide students with practical experience appropriate to the course.
Cognitive activities of abstraction in object orientation
Authors: Or-Bach Rachel , Lavy Ilana
Published: October 2004

Alongside the widespread support for adopting object orientation there are reports on difficulties in learning object oriented programming and design. This indicates the need for refining the research on cognitive difficulties in a way that will offer guidelines for better designing respective education. The presented findings of our study relate to general issues of object-oriented design and in particular to the abstraction issue with its various manifestations. Based on students' solutions we extracted a cognitive task analysis taxonomy regarding abstraction and inheritance. We discuss possible implications of our results for the teaching of object orientation and for further needed research.
Reinvigorating the software engineering curriculum with Jackson's methods and ideas
Authors: Ourusoff Nicholas
Published: October 2004

Because they are sound, original, and provide a needed critical perspective, Jackson's ideas and methods deserve to be incorporated into - and can invigorate - the software engineering curriculum.
Excel grader and access grader
Authors: Hill Thomas G.
Published: October 2004

Excel Grader is an automated grader for use by instructors in Microsoft Excel and Microsoft Office application courses. Excel Grader performs static analysis on Microsoft Excel workbooks. The program compares a student workbook with the instructor's correct version of the workbook. The student workbook is marked and a grade report is embedded. Excel Grader includes reports and a tool for plagiarism detection. Access Grader is a companion product that grades Microsoft Access assignments. Access Grader embeds an "ERRORS" table in the student database. Access Grader grades database table and queries. Access Grader has similar reports and user interface as Excel Grader. The graders have been tested in thirty-nine Microsoft Office applications classes (with about 800 students) over two semesters. Thousands of assignments have been graded. According to a survey of instructors using the programs, the graders were extremely accurate and saved hours of grading time. Students that were surveyed felt the grading was fair and accurate.
A theory of normed simulations
Authors: Griffioen David , Vaandrager Frits
Published: October 2004

In existing simulation proof techniques, a single step in a lower-level specification may be simulated by an extended execution fragment in a higher-level one. As a result, it is cumbersome to mechanize these techniques using general-purpose theorem provers. Moreover, it is undecidable whether a given relation is a simulation, even if tautology checking is decidable for the underlying specification logic. This article studies various types of normed simulations. In a normed simulation, each step in a lower-level specification can be simulated by at most one step in the higher-level one, for any related pair of states. In earlier work we demonstrated that normed simulations are quite useful as a vehicle for the formalization of refinement proofs via theorem provers. Here we show that normed simulations also have pleasant theoretical properties: (1) under some reasonable assumptions, it is decidable whether a given relation is a normed forward simulation, provided tautology checking is decidable for the underlying logic; (2) at the semantic level, normed forward and backward simulations together form a complete proof method for establishing behavior inclusion, provided that the higher-level specification has finite invisible nondeterminism.
Interval constraint solving for camera control and motion planning
Authors: Benhamou Frédéric , Goualard Frédéric , Languénou, Éric , Christie Marc
Published: October 2004

Many problems in robust control and motion planning can be reduced to either finding a sound approximation of the solution space determined by a set of nonlinear inequalities, or to the "guaranteed tuning problem" as defined by Jaulin and Walter, which amounts to finding a value for some tuning parameter such that a set of inequalities be verified for all the possible values of some perturbation vector. A classical approach to solving these problems, which satisfies the strong soundness requirement, involves some quantifier elimination procedure such as Collins' Cylindrical Algebraic Decomposition symbolic method. Sound numerical methods using interval arithmetic and local consistency enforcement to prune the search space are presented in this article as much faster alternatives for both soundly solving systems of nonlinear inequalities, and addressing the guaranteed tuning problem whenever the perturbation vector has dimension 1. The use of these methods in camera control is investigated, and experiments with the prototype of a declarative modeler to express camera motion using a cinematic language are reported and commented upon.
Back to the future?
Authors: Mander Keith
Published: October 2004

The way in which universities moved from an elite system of education in the 1960s to a more inclusive system of education in the 1990s has been a great success story. Computer Science has played its part, becoming a subject taught in some form in almost every university in the developed world. Those of us who were in the subject at the start of its significant growth remember the battles to get Computer Science recognised as an acceptable academic subject, and the ways in which it subsequently came to dominate many of the more traditional subjects in a university's portfolio. But as we move into the 21st century universities are entering the most volatile and turbulent time for higher education since the early 1980s, and the dangers for Computer Science are acute.For the first time in its history Computer Science is not expanding; other disciplines are encroaching on its territory; the science base (at least in English schools) is in decline; the computing industry is tentative. We are now seeing 18-year-old students with at least 10 years computing experience, who can write flawless code while holding a dozen simultaneous e-conversations and watching the TV. In their highly parallel universe, they find "hello world" uninteresting (even if it has a browser interface). They are natural collaborators - wired, extrovert and hyper-social; they are digital natives whereas their teachers are digital immigrants.How will Computer Science survive the current turmoil? What can the past tell us about the future?
Using XML in a compiler course
Authors: Adams D. Robert , Trefftz Christian
Published: October 2004

In this paper we describe how XML can be introduced into a compiler construction course. We make the case that XML and compilers have much in common, and that introducing XML into a compiler course makes sense. We then goes on to demonstrate how XML was used in two recent compiler courses. Finally, we discuss the tradeoffs of using an XML-based project rather than a traditional programming-language project.
Didactic strategies for promoting significant learning in formal languages and automata theory
Authors: Chesñevar Carlos I. , González Maria P. , Maguitman Ana G.
Published: October 2004

An undergraduate course in Formal Languages and Automata Theory (FLAT) involves different topics that are core to the CS curricula and whose level of abstraction makes them difficult both to teach and to learn. Such difficulty stems from the complexity of the abstract notions involved and the required mathematical background. Surveys conducted among our students showed that many of them were applying some theoretical concepts mechanically rather than developing a significant learning of them, leading to a lack of motivation and interest. To cope with this problem, we introduced a number of didactic strategies based on a constructivist approach. The main aim of the proposed strategies is to promote a more significant learning of several important FLAT topics.
Investigating wired and wireless networks using a java-based programmable sniffer
Authors: Jipping Michael J. , Kalafut Andrew , Kooistra Nathan , Ludewig Kathleen
Published: October 2004

Teaching students about networking requires laboratory investigation into network data. Such investigation requires examination of both wired and wireless network data. Most available network traffic sniffers are either too expensive or too cryptic to use. To implement network experiments in a classroom setting, we have developed NetSpy: a Java-based network sniffer that allows plug-in Java modules to analyze network data. NetSpy works with both wired and wireless networks. Modules are written by students as part of their experimentation with traffic data. This paper describes the NetSpy system and the way it can be used in a Networking clas.
On the achievements of high school students studying computational models
Authors: Armoni Michal , Gal-Ezer Judith
Published: October 2004

One of the units in the relatively new high school CS curriculum which is being implemented in Israel is a theoretical unit on computational models. It includes deterministic and non-deterministic finite automata, regular and non-regular languages, closure properties of regular languages, pushdown automata, closure properties of context free languages, Turing machines, the Church-Turing thesis and the halting problem. This paper focuses on part of a study we conducted dealing with the achievements of high school students studying this unit. Specifically, this paper compares the achievements of students on the technical parts of this unit vs. its theoretical parts. We also examine the correlation between achievements of students studying the Computational Models unit, and two other factors: The students' previous computer-related background (not necessarily computer science) and the level on which they studied mathematics.
Supporting active database learning and training through interactive multimedia
Authors: Pahl Claus , Barrett Ronan , Kenny Claire
Published: October 2004

The learning objectives of a database course include aspects from conceptual and theoretical knowledge to practical development and implementation skills. We present an interactive educational multimedia system based on the virtual apprenticeship model for the knowledge- and skills-oriented Web-based education of database course students. Combining knowledge learning and skills training in an integrated environment is a central aspect of our system. We show that tool-mediated independent learning and training in an authentic setting is an alternative to traditional classroom-based approaches.
Electronic learning communities
Authors: Sheard Judy
Published: October 2004

Students working in an online environment are isolated from their educators and other learners. Asynchronous discussion forums are often used to provide the learner with assistance, support and the social structures more readily available in the face-to-face environment. A further benefit of online discussion forums is the enabling of the development of electronic learning communities. However, the operation of these communities has required learners and educators to adopt behaviours and strategies appropriate for communication within this medium. This paper presents a model for electronic learning communities developed from studies of computing students and their teaching staff. The studies found that the development of an electronic learning community was largely student driven; however, staff had key roles to play in this process. The paper concludes with a set of strategies for the establishment and effective management of these communities.
Evaluating the effectiveness of ICT to support globally distributed PBL teams
Authors: Cheng Chew Swee , Beaumont Chris
Published: October 2004

In the 21st century it is becoming increasingly common to work and learn in teams that are globally distributed. Such teams rely heavily on ICT to facilitate communication. There are many communication tools and technologies to choose from. This study investigates the effectiveness of a rich set of tools and considers if synergy exists between them. This paper reports and analyses the use of communication tools by students in a distributed Problem-based Learning (dPBL) environment. The PBL teams consisted of four students from Singapore and four from the UK. Teams had a rich set of synchronous and asynchronous communication tools available to them, including ISDN videoconference, WebCam video/audio, Microsoft NetMeeting® Chat, Asynchronous drop box and threaded discussion Forum. This ethnographic study showed that semantic discussion threads included the use of all tools and enabled students to effectively co-construct meaning (and understanding). Students were able to deploy the use of different tools effectively to achieve the learning outcomes intended for various stages in the PBL cycle, with both asynchronous and synchronous media being considered of high importance.
Teaching roles of variables in elementary programming courses
Authors: Kuittinen Marja , Sajaniemi Jorma
Published: October 2004

Computer programming is a difficult skill for many students and new methods and techniques to help novices to learn programming are needed. This paper presents roles of variables as a new concept that can be used to assist in learning and gives detailed instructions on techniques to present roles to novices. These techniques are based on current learning theories and they have been used in a classroom experiment comparing traditional teaching with role-based teaching. The results suggest that the introduction of roles provides students a new conceptual framework that enables them to mentally process programs in a way similar to that of good code comprehenders; the use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming skill.
Embedding instructive assertions in program design
Authors: Ginat David
Published: October 2004

Computer programs are operational schemes. Many programmers design, describe, and justify their programs while solely thinking "operationally". Yet, an operational perspective is insufficient. For many years, the important role of an assertional perspective is advocated. However, this perspective is debated [5]. Many are deterred from employing it, possibly because it is displayed with formal notations and mathematical logic. The objective of this paper is to offer the elaboration of this perspective through a natural, informal embedment of assertions in the design process. The essential, revealing, and instructive role of informal, yet concise and accurate assertions is motivated and elaborated; first through three stimulating illustrations, and then with a general instructional approach.
An experimental analysis of GAME
Authors: Blumenstein Michael , Green Steven , Nguyen Ann , Muthukkumarasamy Vallipuram
Published: October 2004

This paper describes the Generic Automated Marking Environment (GAME) and provides a detailed analysis of its performance in assessing student programming projects and exercises. GAME has been designed to automatically assess programming assignments written in a variety of languages based on the "structure" of the source code and the correctness of the program's output. Currently, the system is able to mark programs written in Java, C++ and the C language. To use the system, instructors are required to provide a simple "marking schema" for any given assessment item, which includes pertinent information such as the location of files and the model solution. In this research, GAME has been tested on a number of student programming exercises and assignments. The results obtained, have been analysed and compared against a human marker providing encouraging results.
Generation as method for explorative learning in computer science education
Authors: Kerren Andreas
Published: October 2004

The use of generic and generative methods for the development and application of interactive educational software is a relatively unexplored area in industry and education. Advantages of generic and generative techniques are, among other things, the high degree of reusability of systems parts and the reduction of development costs. Furthermore, generative methods can be used for the development or realization of novel learning models. In this paper, we discuss such a learning model that propagates a new way of explorative learning in computer science education with the help of generators. A realization of this model represents the educational software GANIFA on the theory of generating finite automata from regular expressions. In addition to the educational system's description, we present an evaluation of this system.
Do senior CS students capitalize on recursion?
Authors: Ginat David
Published: October 2004

CS students learn and practice recursion in CS1, Data-Structures, Introduction-to-Algorithms, and additional courses throughout the curriculum. Previous studies revealed difficulties of CS1 students with the concept and the construct of recursion. What about advanced students? They may well understand the concept and the construct of recursion; but do they invoke and utilize recursion as a problem solving means? The paper examines this aspect, with senior CS students. The students were given three algorithmic tasks, for which the suitable solution approach was recursive. The student solutions and explanations demonstrate very limited capitalization on recursion as a problem solving means. We discuss the findings and suggest pedagogical implications for teaching.
The dimensions of variation in the teaching of data structures
Authors: Lister Raymond , Box Ilona , Morrison Briana , Tenenberg Josh , Westbrook D. Suzanne
Published: October 2004

The current debate about the teaching of data structures is hampered because, as a community, we usually debate specifics about data structure implementations and libraries, when the real level of disagreement remains implicit -- the intent behind our teaching. This paper presents a phenomenographic study of the intent of CS educators for teaching data structures in CS2. Based on interviews with Computer Science educators and analysis of CS literature, we identified five categories of intent: developing transferable thinking, improving students' programming skills, knowing "what's under the hood", knowledge of software libraries, and component thinking. The CS community needs to first debate at the level of these categories before moving to more specific issues. This study also serves as an example of how phenomenographic analysis can be used to inform debate on syllabus design in general.
Using narrative as a motivating device to teach binary arithmetic and logic gates
Authors: Waraich Atif
Published: October 2004

This paper briefly describes the design, development and evaluation of a prototype multimedia Interactive Learning Environment (ILE). This incorporated narrative in an attempt to provide a rich and engaging learning experience for first year undergraduate students studying a computer architecture unit at Manchester Metropolitan University. The main problem addressed was how to ensure that the ILE would appeal to students who found the domain difficult and to increase their learning and motivation to learn. A design approach has been developed which aims to address these issues using a narrative based framework. The ILE is (briefly) described and an initial evaluation of its use presented. The paper concludes by identifying the aspects of the ILE, which appealed to the students.
(An almost) pedagogical pattern for pattern-based problem-solving instruction
Authors: Muller Orna , Haberman Bruria , Averbuch Haim
Published: October 2004

Importing design patterns from software engineering to the computer science education (CSE) field was followed by defining patterns and pattern languages suitable for CS courses. The main goal of incorporating patterns in CSE was to enhance students' programming abilities, as well as their design and problem-solving skills. Accordingly, various instructional materials were suggested for using patterns in classroom learning activities, such as collections of patterns and related programming assignments. However, the existing pattern-based materials seem to be insufficient for implementation in the classroom, especially when teaching introductory courses that emphasize syntax and programming language features. Therefore, alternative methods using applicative models for pattern-based instruction, which emphasize problem solving and program design issues rather than specific language features and syntax, should be developed and assimilated within the CS teaching community. We believe that successful implementation of such models should be accompanied by appropriate teacher-training.In this paper we describe an initial effort to expose CS teachers to the notions of pedagogical patterns and pattern-based instruction, aimed at motivating them to meaningfully adopt and adapt patterns to their concrete pedagogical needs.
Age of computers
Authors: Natvig Lasse , Line Steinar
Published: October 2004

Age of Computers (AoC) is a new approach to the learning activities that supplements the auditorium lectures in a computer fundamentals course with 250 students. It is a computer game that presents the students a diverse set of problems from the course topics linked to computer history. It is implemented as set of dynamic web pages retrieved from a database. A prototype was used in 2003, and the feedback is positive and a strong motivation for continuing the project. The paper describes AoC, its use and implementation.
Effective peer assessment for learning computer programming
Authors: Sitthiworachart Jirarat , Joy Mike
Published: October 2004

Peer assessment is a technique that has been successfully employed in a variety of academic disciplines, and which is considered to be effective in developing student's higher cognitive skills. In this paper, we consider the results of applying novel web-based technology to the delivery of peer assessment in the context of an undergraduate computer programming course, and discuss the benefits of this approach.
COMPASS
Authors: Abunawass Adel , Lloyd Will , Rudolph Edwin
Published: October 2004

In this paper, we describe our Computer Science Program Assessment (COMPASS) project. COMPASS uses open-source software tools to support the development and analysis of course portfolios. We use the portfolios internally to improve the quality of our undergraduate computer science curriculum, and externally to satisfy the requirements of program and university accrediting agencies. COMPASS makes it easy for instructors to build good portfolios and for the department to review and analyze them.
Extending e-books with annotation, online support and assessment mechanisms to increase efficiency of learning
Authors: Wang Chin-Yeh , Chen Gwo-Dong
Published: October 2004

The Internet and web environment allow readers to read online many multimedia books. Readers can annotate, collaborate, and discuss content using efficient reading functions. Reading is migrating from printed books to e-books. This study designs an online reading environment with a wide range of support to increase students' learning performance. Online knowledge and human resources are used to answer directly students' queries. Students' annotating behaviors are analyzed as to help them understand the results of their learning earlier on. Experimental results reveal the extent to which students' reading behaviors shift from the printed book to this system using online reading time analysis. Data and questionnaire results show that students think that the system is conveniently and efficiently for them to annotate and propose query strings to knowledge repository and to discussion forum. In assessing reading performance, analysis of students' annotation results can forecast examination grades with 75.5 accuracy. Such analysis helps teachers and students to increase teaching and learning efficiencies.
An approach to teaching design patterns using musical composition
Authors: Hamer John
Published: October 2004

We present an approach to teaching design patterns using a music composition project. The project is distinctive in that students are encouraged to discover and express their innate musical talents, and are exposed to some deep connections between programming and art. In addition to design patterns, the material provides opportunities for incorporating a surprisingly diverse range of topics---from data structures, grammars, parsing, to formal proofs.The approach has been used successfully in both introductory and advanced courses over a number of years.
Self-efficacy and mental models in learning to program
Authors: Ramalingam Vennila , LaBelle Deborah , Wiedenbeck Susan
Published: October 2004

Learning to program is a unique experience for each student, and it is not fully understood why one person in an introductory programming course learns to program better and more quickly than the next. Self-efficacy is an individual's judgment of his or her ability to perform a task within a specific domain [1]. A mental model is a person's internal (mental) representation of real world objects and systems [9]. Research has shown that high self-efficacy and a good mental model are important to knowledge acquisition and transfer. This research investigates the effects of students' self-efficacy and mental models of programming on learning to program. The results show that self-efficacy for programming is influenced by previous programming experience and increases as a student progresses through an introductory programming course. The results also show that the student's mental model of programming influences self-efficacy and that both the mental model and self-efficacy affect course performance.
Program quality with pair programming in CS1
Authors: Hanks Brian , McDowell Charlie , Draper David , Krnjajic Milovan
Published: October 2004

Prior research on pair programming has found that compared to students who work alone, students who pair have shown increased confidence in their work, greater success in CS1, and greater retention in computer-related majors. In these earlier studies, pairing and solo students were not given the same programming assignments. This paper reports on a study in which this factor was controlled by giving the same programming assignments to pairing and solo students. We found that pairing students were more likely to turn in working programs, and these programs correctly implemented more required features. Our findings were mixed when we looked at some standard complexity measures of programs. An unexpected but significant finding was that pairing students were more likely to submit solutions to their programming assignments.
Community-oriented pedagogy for in-service CS teacher training
Authors: Kolikant Yifat Ben-David , Pollack Sarah
Published: October 2004

In this paper, we examine CS teachers from the aspect of their membership within a community of practice. We show that there is much interaction among the teachers; however, this interaction is merely for exchanging classroom materials and rarely involves a thorough analysis or the design of meaningful pedagogy. Consequently we present, with examples, a community-oriented pedagogical approach for re-designing the interaction to include thorough discussions utilizing a bird's-eye view of the discipline of CS as well as theories of learning in the context of in-class practice. We show that teachers who participated in a course, which was designed according to community-oriented pedagogy, recognized the power of belonging to a community and consequently changed their self-perception of being merely knowledge consumers to being collaborative knowledge producers as well.
Moving to CC2001 at a small college
Authors: Dooley John F.
Published: October 2004

In this paper, we describe the process, problems, and successes of moving a Computer Science major at a small liberal arts college from CC1991[1] to CC2001[3]. Our current computer science major is largely based on CC1991 and on A Revised Model Curriculum for a Liberal Arts Degree in Computer Science[2]. We discuss issues with the number of required courses, the mathematics requirement, staffing, and transitioning to the new curricular model within a small department.
Using interactive technology in a short java course
Authors: Lopez-Herrejon Roberto E. , Schulman Morrie
Published: October 2004

Keeping students alert and responsive during lectures is a challenge even for experienced teachers in small group settings. Research has shown the importance of student participation and involvement in the learning process. Many ideas and strategies have been proposed to promote these two vital education elements [5]. Among them is the use of interactive technology where the instructor asks a question to the class and each student answers individually. These answers are tallied and the professor can get immediate, quantitative, and real-time feedback information that can be used to detect and address comprehension problems and to adapt the lecture plan accordingly. In this paper we report our experiences using a wireless interactive system named the Classroom Performance System (CPS) [9] in a fast-paced, short but comprehensive Java programming course. We present the challenges we faced and the lessons we learned in designing and delivering lectures using this type of technology.
Teaching computer networking with the help of personal computer networks
Authors: Chang Rocky K. C.
Published: October 2004

This paper describes an "experiential" learning approach to teaching a foundational course on Computer Networking. In additional to the traditional laboratory sessions and analytical problem-solving, I have introduced a class project based on personal computer networks for the last three years. Each project group sets up and owns an IP private network throughout the course, and they perform various experiments on it to verify and test the networking principles learned from the textbooks and lectures. The students' feedbacks collected so far are extremely positive. Not only they can acquire practical skills during the process, they are able to better understand the abstract networking concepts and protocols through their working experience with the personal computer networks.
Enhancing classroom lectures with digital sliding blackboards
Authors: Rößling Guido , Trompler Christoph , Mühlhäuser Max , Köbler Susanne , Wolf Susanne
Published: October 2004

Traditional blackboard-based lectures provide context on the sliding blackboards. Modern lectures incorporating video projectors typically do not provide this context. We describe a project that combines both approaches to provide context for "modern'' lectures. We also discuss the benefits for educators and students. The software is sufficiently versatile to incorporate practically any software for content display.
SQLator
Authors: Sadiq Shazia , Orlowska Maria , Sadiq Wasim , Lin Joe
Published: October 2004

SQL (Structured Query Language) is one of the essential topics in foundation databases courses in higher education. Due to its apparent simple syntax, learning to use the full power of SQL can be a very difficult activity. In this paper, we introduce SQLator, which is a web-based interactive tool for learning SQL. SQLator's key function is the evaluate function, which allows a user to evaluate the correctness of his/her query formulation. The evaluate engine is based on complex heuristic algorithms. The tool also provides instructors the facility to create and populate database schemas with an associated pool of SQL queries. Currently it hosts two databases with a query pool of 300+ across the two databases. The pool is divided into 3 categories according to query complexity. The SQLator user can perform unlimited executions and evaluations on query formulations and/or view the solutions. The SQLator evaluate function has a high rate of success in evaluating the user's statement as correct (or incorrect) corresponding to the question. We will present in this paper, the basic architecture and functions of SQLator. We will further discuss the value of SQLator as an educational technology and report on educational outcomes based on studies conducted at the School of Information Technology and Electrical Engineering, The University of Queensland.
What do we mean by theoretically sound research in computer science education?
Authors: Ben-Ari Mordechai , Berglund Anders , Booth Shirley , Holmboe Christian
Published: October 2004

With our interest to improve our education in computer science, an understanding of how students learn about CS concepts, how different concepts are understood, as well as the conditions for learning, become important issues. A better understanding of our students and their learning gives us a strong tool in our efforts to develop teaching. There is an increasing awareness of the usefulness of theoretically sound research approaches: it opens for generalisations of results, it invites comparison between researchers, methods and results, and at the same time it makes the limits of the research visible. As examples on initiatives that have lately been taken to promote a conscious use of relevant research approaches, can be mentioned the bootstrapping project [13], the special issue on import and export of Computer Science Education (to appear), as well as papers offering overviews of the current use of certain approaches ([4], [8]) and attempts to verbalize models for a successful research process ([5], [6], [12]).These initiatives do not advocate the primacy of a certain approach over others. This openness is well-grounded, since "a particular approach offers certain perspectives on a research question, and, in this way, enables the researcher to study [these] aspects of learning, while other aspects, that are not in focus using the selected approach, become unclear or 'blurred' (Berglund, submitted for review). Thus, the selection an approach is closely intertwined with the research question under investigation.In this panel, the theoretical foundations for four different research approaches will be described, and examples of research performed within each of these approaches will be given. The examples will serve to illuminate which kinds of results that can be offered by a particular approach, and thereby illustrate its use.
Introducing assistive technology in an HCI course
Authors: Liffick Blaise W.
Published: October 2004

This poster describes part 1 of the 2-year project "Integrating Assistive Technology into an Undergraduate Computer Science Curriculum from an HCI Approach," funded by the National Science Foundation. The intent of this phase of the project is to introduce the topic of computerized aids for the disabled (generally called assistive technology (AT)) as one-to-three week curriculum modules as part of a typical human-computer interaction (HCI) course offered for senior Computer Science majors. This poster will briefly describe some of the topics to be covered, how these topics fit within HCI concepts, sample assignments, and the laboratory equipment used to support demonstrations and assignments.
Sharing the wealth
Authors: Cassel Lillian N. , Fox Edward A.
Published: October 2004

This poster describes the publication of educational resources in ACM's online Journal for Educational Resources in Computing (JERIC) and the US National Science Foundation's National STEM Digital Library (NSDL).
Using history to enhance computing courses
Authors: Impagliazzo John , Lee John A. N.
Published: October 2004

In this poster, we describe how instructors can use history to enhance student learning in computer-related courses. The use of history relates events to people, places, and things.
A virtual reality simulator of the ENIAC
Authors: Harms Douglas E.
Published: October 2004

The ENIAC was designed and built at the University of Pennsylvania between 1943 and 1946 and is one of the world's first general-purpose programmable electronic computers. It occupied a 40 x 60 foot room, weighed 30 tons, and was programmed using knobs, switches, and cables. This poster describes the development of a virtual reality simulator of the ENIAC that permits students to program the ENIAC and see it operate.
Teaching certificate in computer science
Authors: Zur Ela , Vilner Tamar
Published: October 2004

Among the prominent characteristics of the Open University of ... is its teaching method: self-study through distance learning. Students from all parts of the country pursue various degrees at the University and the majority utilize advanced technologies for their studies. We will describe the curriculum for a teaching certificate in Computer Science, particularly the course "Methodology of Computer Science Teaching" which utilizes multi-media technologies expressly developed for distance learning.