bluuebunny/crossref_metadata_2025 huggingface dataset:
The computer science PH.D. program at CMU
Authors: Carnegie-Mellon Univ. C.S. Dept. CORPORATE
Published: July 2004

This document provides a model of the Ph.D. program in Computer Science at Carnegie-Mellon University. The Ph.D. is viewed as a certification by the faculty that the student has a broad foundation in Computer Science and has performed original research in the area. Every incoming student is assigned advisors who are charged with guiding him and certifying his education. To qualify for a degree, a student is required to pass a set of qualifying examinations and to write and defend a thesis.To help students fulfill these requirements, the Department provides educational opportunities consisting of:- The Immigration Course, an intensive six week program intended to provide a common foundation for students with diverse backgrounds.- A set of Core courses, covering a core body of knowledge in computer science which all computer scientists should know.- An area specialization, requiring a deeper study in a particular subarea of computer science.- Participation in directed research, providing experience in a research environment before starting the major piece of research which will be his thesis.- The environment to do a major piece of original work leading to a thesis.There are no required courses; competence may be acquired through either courses or independent study. There is a teaching requirement intended to develop communication skills.There are no formal grades. However, on a semi-annual basis the entire faculty evaluates each student's progress along several dimensions -- courses, core qualifier, area qualifier, directed research, teaching, thesis, etc. Support and/or permission to continue in the department depends on adequate performance along these dimensions. Thus, while a student is free to shape his educational program to suit his needs, he must continue to demonstrate satisfactory progress in at least some of the above dimensions.
Software development/programming environments
Authors: Henderson Peter B.
Published: July 2004

I promised Peter Neumann that I would make the deadline for the next issue of Software Engineering Notes dispite illness (almost everyone on the East coast either has or is currently recovering from the flue), other deadlines, or whatever. My silence for the past few issues has not been due to a lack of enthusiasm, but a lack of contributions to this special subsection on software development environments (and my missing several deadlines set by Peter). I hope you enjoy this informal subsection and continue to contribute articles, comments, or whatever (within limits). I would like to thank Peter Lempp for his contribution which appears after some brief comments.Since my last report I have attended the
SIGPLAN '86 Symposium on Programming Languages and Programming Environments
in Seattle, Washington, and the
Eighth International Conference on Software Engineering
in London last August. From the environments point of view I found both meetings to be extremely interesting and beneficial. It is clear that there is a large, diversified amount of both theoretical and practical work in this area.
Exploring the world of software maintenance
Authors: Parikh Girish
Published: July 2004

In this column of the last issue of SEN (Vol. 10, No. 5), we started discovering the world of software maintenance through selected readings. In this issue we begin exploring the exciting and also depressing (I will try to explain this contradiction in a future column) world of software maintenance.The column of this issue is based on
There is a Fortune to be Made in Software Maintenance: Opportunities in the $30 Billion Software After Market
by Girish Parikh, copyright @ 1985 by Girish Parikh; published by Shetal Enterprises, Dept. SEN-SMN, 1787-B West Touhy, Chicago, IL 60626.
Three dimensional system development
Authors: Mastro Vincent A.
Published: July 2004

Vincent Mastro is currently a Consultant for Technology Information Products Corporation. He is involved in the teaching and consulting of their technologies, which through analysis, design and implementation develop more effective information systems.
Taming the abstract data type
Authors: Britton Carol , Doake Jill , Mitchell Richard
Published: July 2004

The overall aim of our research is to investigate the use of data abstraction in the early stages of the development of information systems. In this paper we suggest a simple classification of abstract data types as a guide to inexperienced system developers in the transition from an initial problem statement to a system description using data abstraction. The classification identifies different roles that abstract data types can play in a system description: providing simple values; providing the ability to calculate with simple values; providing the means to build tuples and sets from simpler types; and providing the means to express the required systems inputs and outputs.
Corporate object-oriented development enviroment (CODE)
Authors: Chan M. L. , Henderson-Sellers B.
Published: July 2004

The maximum potential of the object-oriented paradigm relies on reusability of existing code. For full realisation in the corporate environment it is crucial that evolving libraries of reusable modules be managed efficiently and effectively. A framework for such management is proposed: the Corporate Object-oriented Development Environment (CODE).
Bugfind
Authors: Caron Jacqueline M. , Darnell Peter A.
Published: July 2004

This paper describes a tool for isolating modules that are compiled incorrectly when optimization is invoked. This tool benefits application developers by automatically compiling each module to its highest level of correct optimization. It benefits compiler writers by pinpointing failing modules.
Quality measures in design
Authors: Brandt Dennis L.
Published: July 2004

Structure Charts are the third major deliverable of a structured design, following the logical model and the physical model. Code is usually written immediately after the Structure Charts are approved. Many metrics are available for measuring code complexity and some forms of data coupling. Applying similar metrics to the design might be used to find problems in complexity and coupling before interfaces are formalized and code is written. This paper reviews complexity and coupling code measures which could be applied to structure charts. Since there has been little analysis and data collected in this area, it is proposed that relative
figures of merit
can be derived from structure charts. It is also proposed that in large systems, structure charts with
out of normal
figures of merit are candidates for detailed review. The general outline of an Automated Auditor is also defined as a tool to assist designers and reviewers in design analysis.
Interfaces as specifications in the MIDAS user interface development systems
Authors: Cabral Regina H. B. , Campos Ivan M. , Cowan Donald D. , Lucena Carlos J. P.
Published: July 2004

This paper describes an evolving User Interface Development System called MIDAS (for Merging Interface Development with Application Specification) which allows interface/systems designers to develop an application-specific user interface interactively, in a prototyping-oriented environment, while refining the specification of the intended application itself. The interface/systems designer receives expert advice on both interface and application software design principles, emerging from MIDAS' knowledge base, and can also animate the intended user dialogue with the interface being designed via an extensive set of visual programming aids. The generated interface can be further customized by the end-user, by flexibly altering the default appearance of the dialogue scenarios. Furthermore, the application-specific end-user interface is also knowledge based. Its domain knowledge covers user modeling and the application domain, in order to adapt itself dynamically to different degrees of user familiarity with the application, from novice to expert. Both the interface code and the programming-in-the-large of the application code are developed within an object-oriented framework. A proposal for a software life cycle model based on the rapid prototyping of user interfaces as a means to refining the specification of the application all the way down to the import-export list and module semantics specification for each and every application module is also presented. The lifecycle model is rule-encoded in MIDAS' knowledge base. The interface/systems designer is guided by the interpretation of those rules. MIDAS aims to provide a testbed for new ideas in human-computer interfaces, knowledge-based support of design activities and life cycle models based on rapid prototyping of user interfaces.
Software environments workshop report
Authors: Riddle William E. , Williams Lloyd G.
Published: July 2004

A recent workshop identified a variety of issues fundamental to advancing the state-of-the-art in software environments. In addition, activities were specified to address these issues and provide incremental improvement in the near and medium term. Even though the sets of issues and activities are incomplete, they are reported here to seed the community's thinking about what is needed to advance the state-of-the-art for software environments and assist in establishing long-range goals, identifying and defining specific projects, and identifying the coordination needed among the projects.
Licensing software professionals
Authors: Werth Laurie Honour
Published: July 2004

The two major professional organizations, IEEE-CS and ACM, have been working for some time to lay the foundation for improving professionalism in the discipline. When the Texas Society for Professional Engineering passed a resolution this summer to begin licensing software engineers in the second largest state in the Union, efforts intensified. Although it is still early in the process, academics need to understand the issues surrounding the licensing of software professionals.We begin with definitions of professionalism and licensing for software professionals. Major issues for industry, academic and professional organization stakeholders are briefly summarized and discussed. Information resources for educators are provided.
Object imperatives!
Authors: Culwin Fintan
Published: July 2004

The phrase
'paradigm shift'
has largely been used to describe a dichotomy between imperative and object oriented styles of development [2]. However the changes in the nature of software products, and hence of the processes used to produce them, have been much more extensive. This richer view of the nature of computing is inherent within the experiences of students entering higher education and is at variance with the implicit model enshrined within academic computing curricula. A direct implication of this is that radical changes may be needed in computing curricula; but there are many principled and pragmatic objections.
Using course-long programming projects in CS2
Authors: Turner Joseph A. , Zachary Joseph L.
Published: July 2004

A typical CS2 course has two goals that often work at cross-purposes. One goal is to teach students how to apply a variety of software engineering skills to create solutions to real-world problems. A second goal is to teach students the theory and practice behind classical algorithms and data structures. The use of small, short-term programming assignments, however, tends to sacrifice the first goal in favor of the second. We successfully experimented with solving this problem by organizing a CS2 course around a programming project that spanned an entire term. This paper describes the project, our experiences in using it, and the reactions of the students.
“Alfonse, wait here for my signal!”
Authors: Hartley Stephen J.
Published: July 2004

At first glance, Java monitors appear easy to use. However, a deeper analysis reveals that they are surprisingly tricky, suffer from subtle race conditions, and are actually a low-level synchronization tool in stark contrast to the reputation Java has as a modern well-engineered language. The programmer is responsible for building safe and robust synchronization structures from Java monitors.
Teaching real time OSs with DORITOS
Authors: Oh Jae C. , Mossé Daniel
Published: July 2004

We are developing a teaching package that can be used in a college course that would fill a gap among current science majors and teach senior-level undergraduate students theory and practice of real-time operating systems, including their requirements, characteristics, internals, and specification. This course has two components: (1) a theoretical part, and (2) a practical hands-on implementation component achieved with DORITOS (Distributed Object-Based Real-time InsTructional Operating System) as the implementation environment. DORITOS' design is based on UC-Berkeley's NACHOS. The DORITOS package will be distributed with DKaffe (a modified version of Kaffe JVM) and a basic system which allows students to run simple threads.In this paper, we focus on the practical, hands-on system that allows students to learn the internals of a Real-time Operating Systems (RTOS). Throughout the term, assignments require students to use and modify DORITOS to implement real-time elements as well as to analyze the performance of implemented algorithms.
Patterns for decoupling data structures and algorithms
Authors: Nguyen Dung (“Zung”) , Wong Stephen B.
Published: July 2004

In order to build a data structure that is extensible and reusable, it is necessary to decouple the intrinsic and primitive behavior of the structure from the application specific behavior that manipulates it. To illustrate such a construction, this paper proposes a uniform object-oriented structural pattern for recursive data structures, and shows how external algorithms can be added without rewriting any code using the visitor design pattern. By presenting data structures in this manner, we can more effectively teach students about recursion, abstraction, design, and good software engineering practices.
Hospital emergency room simulation
Authors: Proulx Viera K.
Published: July 2004

This paper describes a project suitable for students in CS2 that combines the classical implementation of basic data structures (priority queues, lists, arrays) with the design and implementation of several interesting interacting classes. In addition, students can follow up with analysis of simulation results.
Design patterns for the data structures and algorithms course
Authors: Preiss Bruno R.
Published: July 2004

Design patterns
have recently emerged as a vehicle for describing and documenting recurring object-oriented designs. More significantly, they offer up a long-awaited framework for teaching good software design. This paper espouses the use of object-oriented
design patterns
in the teaching of the
second course
in computer science, viz., the data structures and algorithms course.To use design patterns effectively, it is necessary to present the various data structures and algorithms in a common programming framework. This paper also espouses the use of a single, unified class hierarchy and the commitment to a single design throughout the teaching of the second course.
A Java-based tool for reasoning about models of computation through simulating finite automata and Turing machines
Authors: Robinson Matthew B. , Hamshar Jason A. , Novillo Jorge E. , Duchowski Andrew T.
Published: July 2004

Interactive visualization tools for models of computation provide a more compelling means of exploration and feedback than traditional paper and pencil methods in theory of computation courses. The Java Computability Toolkit (JCT) is introduced here as a new teaching aide and as an exploratory student's supplement to a course on theory of computation. JCT consists of two Java multiple-window, web-accessible, graphical environments, allowing the construction and simulation of finite automata and Turing machines. This paper discusses JCT's use, design, and applications in teaching.
Mathematical proofs as graph search problems in theory courses
Authors: Cordova Jose L.
Published: July 2004

In this paper, we describe a graph-based approach to the construction of simple mathematical proofs. In contrast with traditional linear proofs, this technique helps the student organize the solution process and provides a visual representation of the proof. This approach has been used to introduce proofs in a discrete structure course. The author has observed a statistically significant increase in students' performance when answering related test problems.
Digital video in education
Authors: Smith Todd , Ruocco Anthony , Jansen Bernard
Published: July 2004

Digital Video is an exciting new medium with the potential to revolutionize the way organizations train their employees. However, there are questions that must be answered. How practical is video? What is the demand? What is the best use of video? In this paper, we compare the performance and quality of common digital formats, analyze 851,770 queries from an Excite database, and present the results of a study that explores the value of digital video in an educational environment.
Teaching recursion in a procedural environment—how much should we emphasize the computing model?
Authors: Ginat David , Shifroni Eyal
Published: July 2004

Recursion is a powerful and essential computational problem solving tool, but the concept of recursion is difficult to comprehend. Students that master the conventional programming construct of iteration in procedural programming environments, find it hard to utilize recursion.This study started as a test of CS College students' utilization of recursion. It was conducted after they have completed CS1, where they studied recursion with the C programming language. The test revealed that students adhere to the iterative pattern of "forward accumulation", due to their confidence with the iteration construct, but lack of trust of the recursion mechanism. These results motivated us to get more insight into the nature of recursion difficulties and ways to overcome them.In this paper we describe the difficulties we observed, and present a declarative, abstract, approach that contributed to overcome them. We question the emphasis that should be put on the basic computing model when presenting recursion, and argue for emphasis on the declarative approach for teaching recursion formulation in a procedural programming environment.
Integrating console and event-driven models in CS1
Authors: Woodworth Pat , Dann Wanda
Published: July 2004

In this paper, we describe techniques of integrating the traditional, object-oriented console model with an object-oriented, event-driven model of programming in the first course. We present a design methodology successfully used to provide a transition from the console model to an event-driven model, relating both to problem-solving strategies.
Client view first
Authors: Long Timothy , Weide Bruce , Bucci Paolo , Sitaraman Murali
Published: July 2004

When teaching certain CS topics (e.g., abstract data types, operating systems), the instructor tries to make clear the distinction between the "client" perspective and the "implementer" perspective. But when teaching some programming language features and related programming techniques, this dichotomy often is not respected as strongly as it should be. We illustrate this with a discussion of how to teach recursion, comparing a traditional approach with one that is careful not to blur the distinctions between client view and implementer view. The latter better supports new learners in the creation of a sound and consistent mental model for developing and reasoning about programs that involve recursion.
Computational science as an interdisciplinary bridge
Authors: Schneider G. Michael
Published: July 2004

The computer science department at Macalester College recently implemented a new undergraduate course sequence in computational science. This was done to better meet the course work needs of students in the physical and natural sciences as well as introduce into our curriculum an important and growing area of application. One of the unexpected benefits of our new program has been the creation of academic links between our department, mathematics, and the other sciences. In this paper we describe the role of computational science as an interdisciplinary bridge between computer science and other academic disciplines.
“I do and I understand”
Authors: Urban-Lurain Mark , Weinshank Donald J.
Published: July 2004

We describe the infrastructure we have created for a large enrollment (1700 / semester) non-major course. The course combines collaborative, lab-based problem-solving instruction with modified mastery-learning assessment. The infrastructure supports continuous improvement to respond to client department needs, incoming student experience, course design flaws and computing platform upgrades.
A student-directed computing community
Authors: Bonner Adam
Published: July 2004

We describe a computing facility created, supported, maintained, and used entirely by undergraduate students. This facility exists outside of the instructional support system, so the usual constraints of reliability are relaxed, allowing relatively unrestricted installation of software and hardware. An active community has developed around this facility, providing broad technical experiences and enabling mentoring relationships.
Moving industry-guided multimedia technology into the classroom
Authors: McKinley P. K. , Cheng B. H. C. , Weng J. J.
Published: July 2004

Given the ubiquity of multimedia technology, it is important that Computer Science students not only learn the basics of multimedia design, but also gain hands-on experience with applications of the technology. This paper describes the integration of multimedia concepts and tools into a Computer Science curriculum. An NSF-sponsored Multimedia Laboratory was established and used to support three senior-level courses: software engineering, computer graphics, and computer networks. Curriculum development, laboratory exercises, and the role of projects are described.
A secure unrestricted advanced systems laboratory
Authors: Mayo Jean , Kearns Phil
Published: July 2004

We present the design of a systems laboratory intended for advanced undergraduates and graduate students. The laboratory provides an environment in which students are given complete (root) control of systems with essentially unrestricted access to the Internet. This is achieved without jeopardizing the security of the departmental network of which the laboratory is a part. Students in the laboratory are also given a secure environment in which to do their work. Such a laboratory is most valuable in advanced courses in operating systems and networks in which students implement and evaluate algorithms and policies subjected to real workloads. It is also valuable as a facility for research on systems and network topics, providing an open, yet safe, environment in which to work.
Departmental differences can point the way to improving female retention in computer science
Authors: Cohoon J. McGrath
Published: July 2004

Departmental attrition data from one state show that the difference between male and female rates of undergraduate attrition from computer science varies by institution. This analysis suggests that departmental factors are important in attrition from CS. Some CS departments inhibit female persistence at the undergraduate level while other departments promote persistence. The observed variation encourages research that compares departmental characteristics such as structure and culture, and relates them to departmental outcomes. Shifting the research focus to departmental characteristics and outcomes will identify effective methods for retaining women.
Between Tanzania and Finland
Authors: Järvinen Kimmo , Pienimäki Tuukka , Teräsvirta Tommi , Kyaruzi John Joel , Sutinen Erkki
Published: July 2004

A pilot project between two institutions of computer science, one in Finland and the other in Tanzania, reveals potentials and risks of a collaborative learning framework. Two groups, one from the Department of Computer Science at the University of Helsinki, Finland, and the other from the Computing Centre of the University of Dar Es Salaam, Tanzania, were designing a web-based environment for learning the Java programming language. Preliminary experiences indicate that the challenges of the scheme fall into at least four categories, namely those of technicalities, organizational aspects, attitudes, and cultural differences.
Genetic programming applied to Othello
Authors: Eskin Eleazar , Siegel Eric
Published: July 2004

In this paper we describe and analyze a three week assignment that was given in a Machine Learning course at Columbia University. The assignment presented students with an introduction to machine learning research. The assignment required students to apply Genetic Programming to evolve algorithms that play the board game Othello. The students were provided with an implemented experimental approach as a starting point. The students were required to perform their own experimental modifications corresponding to research issues in machine learning. The results of student experiments were good both in terms of research and in terms of student learning. All relevant code, documentation and information about GPOthello is available at the following url: http://www.cs.columbia.edu/~evs/ml/othello.html.
An integrated program development tool for teaching and learning how to program
Authors: Ziegler Uta , Crews Thad
Published: July 2004

Teaching and learning how to program requires environments designed to support these activities rather than commercially available integrated development environments. This paper presents an instructional environment which embraces the entire process of design, algorithm development, testing and debugging while minimizing the syntactic details with which students must cope. Students using this environment develop a view of programming in which design and testing are integral parts of program development.
Supporting and evaluating team dynamics in group projects
Authors: Brown Judy , Dobbie Gillian
Published: July 2004

Computer science students benefit from working in teams. But working in teams is difficult and team skills are seldom taught. In this paper, we describe mechanisms we put in place for supporting team processes in our group project course. We evaluate the mechanisms and extract guidelines that are useful for supporting team dynamics.
Integration of usability issues within initial software development education. (It's all about the user dummy!)
Authors: Faulkner Xris , Culwin Fintan
Published: July 2004

Human Computer Systems (HCS) consist of machinery, software and people. However, all too many introductory software development courses concentrate unduly on the nature of programming and ignore the needs of the user. In this paper we will implicitly critique most existing introductory software development units, from an analysis of their supporting texts. We will suggest a checklist that could be applied to a unit or to a text to ensure that they include usability considerations. We will also critique many existing HCI units and courses that do not pay adequate attention to integrative exercises. We will conclude by suggesting ways in which these problems can start to be solved.
Teaching experimental design in an operating systems class
Authors: Downey Allen B.
Published: July 2004

This paper describes an operating systems (OS) class that departs from more common approaches by introducing experimental design explicitly as part of the course material. Instead of implementing operating systems components or modifying existing operating systems, students conduct a series of experiments that measure the performance of system services and try to infer information about their implementation from the results. These experiments reinforce the OS concepts presented in lecture, and also develop a set of skills that students need for a wide range of activities: formulating and testing hypotheses, analyzing and presenting data, and writing.
Discovery learning in introductory operating system courses
Authors: Ziegler Uta
Published: July 2004

Practical experiences are necessary to balance the theory discussed in textbooks and in class meetings. Effective practical experiences must have a clear purpose and must motivate students to become involved as active learners. This paper presents some practical experiences for an introductory operating systems course. The experiences employ short programs with unexpected behaviors and open-ended questions. Students use these as starting points to discover more about the concepts involved. The presented experiences provide effective reinforcement of the underlying theory.
OO design in compiling an OO language
Authors: Neff Norman
Published: July 2004

Object-oriented languages have been moving into the mainstream of the undergraduate curriculum at an accelerating rate. We have developed a one semester compilers course centered on object-oriented languages. In this paper we discuss some of the major topic changes and technical changes dictated by the shift to object orientation. In particular, we show how to apply object-oriented design and the Visitor design pattern to the problem of implementing a multipass compiler for an object-oriented language.
Formal semantics and interpreters in a principles of programming languages course
Authors: Bruce Kim B.
Published: July 2004

Most junior-senior level programming languages courses approach the subject either from the point-of-view of principles (concepts) of programming languages or from the perspective of understanding languages through writing progressively more complex interpreters. In this paper we show how to use formal semantics in a series of interpreter assignments in a principles or concepts-based course. The interpreter assignments make the semantics more concrete for students while providing a deeper understanding of concepts.
Curriculum 2001
Authors: Roberts Eric , Shackelford Russ , LeBlanc Rich , Denning Peter J.
Published: July 2004

In the fall of 1998, the ACM Education Board and the Educational Activities Board of the IEEE Computer Society appointed representatives to a joint task force to prepare Curriculum 2001, the next installment in a series of reports on the undergraduate Computer Science curriculum that began in 1968 and was then updated in 1978 and 1991. The purpose of this panel is to present an overview of the early work of the task force and to generate discussion in the SIGCSE membership about the directions and plans for the new curriculum.
Current issues in graduate student research
Authors: Sobel Ann E. Kelley , Guimaraes Mario
Published: July 2004

This panel proposal outlines the need, and significance of evaluating formal presentations of an graduate student's current research for the ACM International Student Research Poster Contest.
ACM guidelines for associate and certificate level programs in computer information technology
Authors: Klee Karl J. , Burns Nancy , Cover Fay , Porter Judith
Published: July 2004

Through grants from the ACM Education and SIG Boards, a Task Force of the ACM Two-Year College Education Committee has formulated guidelines to provide education for computer support personnel to help alleviate the shortage of qualified information technology workers. The panelists will be highlighting the key points in the guidelines.
Seminar
Authors: Nevison Christopher H.
Published: July 2004

We present methods for safe and correct programming for concurrent threads in Java. The methods are based on the principles of Concurrent Sequential Processes (CSP). We demonstrate the use of tools which provide the structure of CSP within Java to avoid some of the pitfalls of multithreaded programming using monitors, the primitive synchronization tool in Java. Several examples illustrate the use of these tools.
Gender and programming
Authors: Carter Janet , Jenkins Tony
Published: July 2004

The learning (and teaching) of programming in Higher Education is a perennial problem, and is the subject of much attention and innovation.One way in which the problem can be addressed is for instructors to investigate and thus better understand the ways in which students learn to program.We present the results of investigations carried out at the Universities of Kent and Leeds into the ways in which
gender
influences the learning approach of students in programming. The research shows that gender is a significant factor in determining the way in which students approach learning to program. A better understanding of the issues raised would lead to more effective teaching and thus better learning.
Research-led innovation in teaching and learning programming
Authors: Davy John , Jenkins Tony
Published: July 2004

We describe an attempt to bridge the gap between educational research and practical innovation by making a package of changes to an introductory programming module based on the insights of existing theoretical work. Theoretical principles are described, used to evaluate previous practices and then employed to guide systematic changes. Preliminary evaluation indicates substantial improvements in student performance and enjoyment while indicating areas in need of further work.
On-line programming examinations using Web to teach
Authors: Arnow David , Barshay Oleg
Published: July 2004

Using the automated code-checking capability of the WebToTeach system, we have built WebToTest, a system for administering on-line programming examination.The system successfully addresses many of the issues raised by recent work in on-line exams by providing reliable automatic checking of exam questions and a secure, restricted programming environment useable by the students during the exam. Its web-based character makes it amenable to distance education applications. Furthermore, because examinations may be administered on any collection of computers that provide a browser, and thus do not require reservation of the student programming labs.
Curriculum and teaching delivery change in an international context
Authors: Zoltowski Bogdan , Boyle Roger , Davy John
Published: July 2004

Poland and its education system have been undergoing radical and fast change since 1989 as the country "westernises". The pressures on HE in some ways mirror those of western Europe (growing classes, industrial and commercial demands), but the starting point is quite different. Attempting to meet these challenges, a TEMPUS PHARE [2] project has brought together 6 western universities and the Technical University of Lodz in a 3 year programme to redesign programmes and delivery across the Faculty of Technical Physics, Computer Science and Applied Mathematics. A progress report on this attempt at major change management is presented.
CS1 using Java language features gently
Authors: Koffman Elliot , Wolz Ursula
Published: July 2004

Teaching a new programming language in CS1 requires the instructor to make several important decisions regarding sequencing of topics. In teaching Java, the basic decisions center around how to perform input and output, when to teach the AWT (Abstract Window Toolkit) and threads, whether to begin with applets or applications, and how much detail about object-oriented programming and Java language features is required in the beginning. This paper describes a "language features gently" approach to teaching CS1 in Java.
Educating systems analysts emphasising the human factor
Authors: Omland Hans Olav
Published: July 2004

This paper argues that students in Information Systems (Systems Analysts) have learned methods, methodologies and techniques, but have less experience in self-reflection and self-awareness. Systems Analysts are central in developing Information Systems and need to communicate and understand people with many different backgrounds and perspectives concerning use of Information systems. The paper suggests a curriculum that may give the students a learning environment that opens up possibilities for self-reflection and self-awareness. These virtues can only be obtained as a by-product of something else and is best learned via learning in action. Hopefully they will improve the Systems Analyst's capabilities to construct good and useful Information Systems.
Misconceptions of designing
Authors: McCracken Michael , Newstetter Wendy , Chastine Jeff
Published: July 2004

Our experience in designing and teaching a cross-disciplinary freshman design class has led us to believe that students entering design fields (e.g., computer science or engineering) are saddled with naïve or (mis)conceptions about design and design activity. It is our belief that for students to become effective designers, they must be helped to recognize and overcome these misconceptions through appropriate educational interventions. To better understand the nature and substance of these misconceptions, we conducted a descriptive survey study of 290 freshman in a technological institute. Our findings begin to suggest a consistent profile of misconceptions across declared majors that start to explain observations we have made of naïve designers in our freshman design class. This paper reports on those findings.
Assessing object-oriented technology skills using an Internet-based system
Authors: Seffah Ahmed , Bari Moncef , Desmarais Michel
Published: July 2004

In this paper, we describe a Web-based system that defines training needs for object-oriented developers by identifying the strong and the weak areas of their knowledge and skills. The system is based on the use of two tools, GAA [8] and UKAT [3], developed at the Computer Research Institute of Montreal (CRIM). UKAT (User Knowledge Assessment Tool) uses a state-of-the-art knowledge assessment method to create a user profile of the proficiency in a subject domain. GAA (Intelligent Guide) is a Web-based training system that uses the UKAT to personalize a training course and facilitate self-learning.
Use of a soundcard in teaching audio frequency and analog modem communications
Authors: Levin Martin H.
Published: July 2004

Sound cards have become standard features of personal computers in the home, office and classroom. This paper demonstrates the usefulness of these inexpensive devices in the teaching of some of the basic and not so basic concepts of communications. These devices can be very effective in the explanation of amplitude, frequency and frequency multiplexed circuits, as well as modem handshake standards.
An organizer for project-based learning and instruction in computer science
Authors: Scherz Zahava , Polak Sarah
Published: July 2004

The computer science (CS) educational community has recently realized the potential of project-based learning (PBL) in CS education. The new CS curriculum for high school students in Israel consists of 3 to 5 courses --- one of which requires a final project instead of the traditional final examination. PBL demands many changes in students' learning habits and requires new instructional methodology. This paper presents the rational and objectives of a PBL organizer that was specifically designed for a project oriented logic programming high school course. The PBL organizer gradually supports both students and teachers in project development processes.
Distributed algorithms visualisation for educational purposes
Authors: Koldehofe Boris , Papatriantafilou Marina , Tsigas Philippas
Published: July 2004

We present our work on building interactive continuous visualisations of distributed algorithms for educational purposes. The animations are comprised by a set of visualisation windows. The visualisation windows are designed so that they demonstrate i) the different behaviours of the algorithms while running in different systems, ii) the different behaviours that the algorithms exhibit under different timing and workload of the system iii) the time and space complexities of the algorithms and iv) the "key ideas" of the functionality of the algorithms. Visualisations have been written for a set of lO algorithms that are tought in a Distributed Algorithms advanced undergraduate course.
Web-based student feedback to improve learning
Authors: Lowder Jason , Hagan Dianne
Published: July 2004

A Web-based anonymous feedback facility has been used for three years to give students a voice and some ownership of the subjects they are studying, and to allow staff to make adjustments to the teaching program in time to help the current student group. Improvements have been made to the system, e.g. the ability for students to identify themselves, extensions to staff e-mail copies, discussion threads to delineate topic areas, and automatic generation of statistics on usage. These statistics show how the need for anonymity decreases as the level of maturity of the students increases. Other planned or recently added improvements are described..
Software engineering teaching
Authors: Deveaux Daniel , Fleurquin Regis , Frison Patrice
Published: July 2004

The software engineering teaching is a true challenge. Indeed software engineering technology is only justified for large projects or long-term applications maintenance ; aspects impossible to show at the time of introductory course.In order to circumvent these difficulties, we propose a new approach of software development teaching which we called
"Docware".
It is a documentation centered process: the software product is no longer regarded as a source file that is documented afterwards, but as a set of documents whose source file is one product among others.After having specified our teaching objectives, we describe this approach which uses new tools that we developed and used for several years. A report of the use of this approach concludes this paper.
Why do fools fall into infinite loops
Authors: Siegel Eric V.
Published: July 2004

One effective way to introduce a dose of humanity, acknowledge the needs and struggles of CS1 students, and appeal to a broader range of learning styles is to present a computer science topic in an entertaining manner, e.g., with some form of artistic performance. In this paper, I describe three songs for CS1 that are designed to help students surmount three of the most difficult hurdles of that course. Empirical and anecdotal results demonstrate that the songs help students learn, and help them enjoy learning. These songs are a case study in entertainment; all instructors can find some way to entertain their class, and recordings of the songs themselves are available on the web for any instructor or student.
The challenges and directions of MIS curriculum development in respect of transformation of business requirements
Authors: Wrycza Stanislaw , Usowicz Thaddeus W. , Gabor Andras , Verber Borut
Published: July 2004

Effective use of information technology (IT), is becoming one of the prime determinants of success of business organization. However, rapid advances in IT cause that knowledge and skills required by IS professionals have to be changed continuously and profoundly. In this environment, IS/IT skills can become obsolete quite easily. The IS/IT jobs of tomorrow will require the flexible updating of knowledge, skills and abilities for effective performance of changing tasks and duties.
Teaching computer communication skills using case study method
Authors: Polak Przemyslaw
Published: July 2004

Modern management activities involve extensive usage of computer communication services. The poster summarizes experience in teaching these skills on the basis of case study method. Two scenarios of computer game involving extensive usage of communication software and implementation of group decision making model are presented.
A semester-long project in CS 2
Authors: Shannon Christine
Published: July 2004

Two years ago, like many others, our Computer Science program made the switch from Pascal to C++. As we had in the past, we continued the practice of teaching some principles of software engineering in the second course. Because students were working primarily on small projects, they were not seeing the need for the design techniques I was presenting. I decided to devise a semester-long project through which I could illustrate not only the use of standard data structures but also the need for employing principles of software engineering.
Implementing national educational technology standards for student in the United States
Authors: Taylor Harriet G.
Published: July 2004

A consortium of leading educational professional organizations in the United States, led by the International Society for Technology in Education has developed a set of National Educational Technology Standards (NETS) for students. The NETS standards describe what all students should know about and be able to do with technology. They are divided into six categories [1]: Basic operations and concepts; Social, ethical, and human issues; Technology productivity tools; Technology communication tools; Technology research tools; and Technology problem-solving and decision-making tools.The NETS standards also include performance indicators at each of four major target grade ranges, PK-2, 3-5, 6-8, 9-12. NETS standards describe fundamental technology competencies to be developed through meaningful learning experiences integrated throughout the PreK-12 curriculum. They provide realistic benchmarks for achievement. They also provide a continuum of technology skills that can be achieved through a curriculum that reinforces high level learning and problem solving strategies in which technology tools play a major role.
Math link
Authors: Taylor Harriet G.
Published: July 2004

Math Link was a professional development project involving Louisiana State University and the West Feliciana Parish School District in the United States. Math Link focused on teachers in grades three through six in the entire district and included over ninety percent of the teachers in the district. The teachers participated in a three week summer workshop directed by a professional staff that included two elementary mathematics specialists, a technology specialist, a mathematics specialist/site coordinator from the school district, a mathematics education professor, and an educational technology professor.During the summer, the educators worked on four major components: technology tools to support learning: mathematics standards, instructional methodology, and assessment; team building and collaboration; and instructional models that they would implement. During the academic year, a site coordinator provided instructional and resource support for all the teachers. The site coordinator also monitored progress and worked directly with the university staff directing the project. Four day-long workshops were also held during the school year. During the following summer, the educators worked at the university for two more weeks to formalize their instructional models and curriculum and plan for the future.
KOMBIZ97 - virtual lab experiment
Authors: Skrzypek Jerzy , Wilusz Tadeusz
Published: July 2004

With the advent of easy available internet and intranet technologies it became possible to redesign concept of building highly valuable managerial skills in real business problems solving using managerial games and make it part of modern, very easy to use and well equipped learning environment. The KOMBIZ97 experiment presented below is growing up every year experiment on setting up such an environment and using throughout more and more courses offered by the Cracow Academy of Economics (CUE).