Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Volume 33, Issue 1March 2001
Reflects downloads up to 10 Oct 2024Bibliometrics
article
An overview of MiniJava

This paper describes the implementation of MiniJava, a teaching-oriented programming language closely based on the Java language developed by Sun Microsystems [6]. The core of the MiniJava environment is a restricted subset of the standard Java release ...

article
A library to support a graphics-based object-first approach to CS 1

In this paper we describe a library we have developed that supports an "OO-from-the-beginning" approach to CS 1. The use of real graphics "objects" and event-driven programming are important components of our approach. The design of interactive ...

article
A simple java package for GUI-like interactivity

This paper discusses the motivation for a simple package designed to incorporate user interactivity into a first course in computer science. The package enables novice programmers to build programs with GUI-like interactivity while maintaining good ...

article
JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum

We introduce a new software tool, JKarelRobot, for supporting an Inside/Out pedagogy in introductory programming courses. Extending the original conception of "Karel the Robot", with Bloom's Taxonomy of Educational Objectives as a guiding principle, we ...

article
Misleading intuition in algorithmic problem solving

This paper presents a study of misleading intuition in the domain of algorithmic problem solving. I noticed incorrect intuitive solutions to challenging algorithmic problems and interviewed students on their solutions. The students arrived at an ...

article
Do we really teach abstraction?

Abstraction is one of the cornerstones of software development and is recognized as a fundamental and essential principle to be taught as early as CS1/CS2. Abstraction supposedly can enhance students' ability to reason and think. Yet we often hear ...

article
A chat room assignment for teaching network security

This paper describes a chat room application suitable for teaching basic network programming and security protocols. A client/server design illustrates the structure of current scalable network services while a multicast version demonstrates the need ...

article
Using an isolated network laboratory to teach advanced networks and security

This paper discusses the use of an isolated network laboratory to teach computer security using persistent cooperative groups and an active learning approach. Computer security and computer security education are areas of increasing importance as ...

article
From RS-232 to object request brokers: incremental object-oriented networking projects

Selecting an appropriate set of laboratory experiences and projects for a Data Communications and Computer Networks course can be difficult due to the broad and deep nature of the topics. Emphasis may be placed on many networking aspects including ...

article
Javiva: a tool for visualizing and validating student-written Java programs

The ability to think abstractly about the components of a computer program is critical for computer science students. A student who has not yet developed this ability tends to view a program as an unstructured collection of statements and expressions. ...

article
Teaching CS1 with karel the robot in Java

Most current Java textbooks for CS1 (and thus most current courses) begin either with fundamentals from the procedural paradigm (assignment, iteration, selection) or with a brief introduction to using objects followed quickly with writing objects. We ...

article
Automated feedback on programs means students need less help from teachers

Many educators believe that the most effective means of teaching is through one-on-one interactions with students. It is not surprising, then, that an effective way to teach programming is to give students immediate feedback on programs that they have ...

article
Levels of exploration

Visualization of computational models is at the heart of educational software for computer science and related fields. In this paper we look at how generation of such visualizations and the visualization of the generation process itself increase ...

article
AnimalScript: an extensible scripting language for algorithm animation

In this paper, we present the AnimalScript visualization language. This scripting language uses the flexibility of the Animal system and provides many additional new graphic primitives and animation effects that go beyond the traditional Animal GUI ...

article
When worlds collide!: an interdisciplinary course in virtual-reality art

The use of virtual reality technologies as a medium for artistic expression requires the combined talents of artists and computer scientists working in concert. We created a course to bring together students and faculty from these two diverse worlds, ...

article
Teaching applied computing without programming: a case-based introductory course for general education

We introduce general-education students to key ideas in applied computing through case studies from computer graphics, computer animation, image processing, computer vision, information retrieval, and artificial intelligence. Each case study consists of ...

article
Teaching networking and operating systems to information systems majors

Teaching networking and operating systems to information systems majors presents many challenges. Operating systems and networking tend to be taught in one of two ways. Either the material is non-technical, directed more toward the business information ...

article
Introducing computer systems from a programmer's perspective

The course "Introduction to Computer Systems" at Carnegie Mellon University presents the underlying principles by which programs are executed on a computer. It provides broad coverage of processor operation, compilers, operating systems, and networking. ...

article
Teaching design and project management with lego RCX robots

In traditional CS 1 classes students may not develop an appreciation for the planning process in software development. Current IDEs provide such immediate feedback that students can complete courses without an appreciation for the need to plan in ...

article
Rethinking CS0 with JavaScript

Traditional approaches to CS0 have emphasized either breadth, through an overview of computer science, or depth, through intensive programming. This paper describes an alternative teaching method that strikes a balance between these two approaches ...

article
The Khepera robot and the kRobot class: a platform for introducing robotics in the undergraduate curriculum

We discuss a class interface for the Khepera robot that makes the robot an excellent platform for undergraduate robotics courses and robot-based lab exercises in other courses. The interface hides low-level robot-computer communication and permits the ...

article
Open artificial intelligence - one course for all

Upper-division courses contain some of the most attractive topics in computer science, such as artificial intelligence (AI). Unfortunately, layers of prerequisites restrict AI to advanced computer science students and a separate course for non-majors is ...

article
Undergraduate research in genetic algorithms

The study of genetic algorithms (GAs) in the undergraduate curriculum introduces students to parallel search strategies and to experimental design. Not only does it build on the topics covered in an Analysis of Algorithms course but it exposes students ...

article
Teaching the human aspect of software engineering - a case study

This paper describes a course I taught at the Technion --- The Israel Institute of Technology --- which addressed human aspects of Software Engineering. More specifically, three human aspects involved in developing software systems were the focus of the ...

article
Teaching internet algorithmics

We describe an Internet-based approach for teaching important concepts in a Junior-Senior level course on the design and analysis of data structures and algorithms (traditionally called CS7 or DS&A). The main idea of this educational paradigm is ...

article
A computer program to aid assignment of student project groups

Group projects are a valuable part of the computer science curriculum. Group work can be enhanced if formation of groups is not via self-selection by the students themselves. Students who are assigned to groups are more likely to be exposed to other ...

article
Electronic peer review and peer grading in computer-science courses

We have implemented a peer-grading system for review of student assignments over the World-Wide Web and used it in approximately eight computer-science courses. Students prepare their assignments and submit them to our Peer Grader (PG) system. Other ...

article
An interactive dynamic model for integrating knowledge management methods and knowledge sharing technology in a traditional classroom

This paper reports an interactive dynamic model using Continuous Knowledge Management methods and Knowledge Sharing technology to integrate the acquisition of skills and relevant information (knowledge level) into diverse, individualized, concurrent ...

Subjects

Comments