- Sponsor:
- sigcse
No abstract available.
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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. ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Index Terms
- Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
SIGCSE '19 | 526 | 169 | 32% |
SIGCSE '18 | 459 | 161 | 35% |
SIGCSE '17 | 348 | 105 | 30% |
SIGCSE '16 | 297 | 105 | 35% |
SIGCSE '15 | 289 | 105 | 36% |
SIGCSE '14 | 274 | 108 | 39% |
SIGCSE '13 | 293 | 111 | 38% |
SIGCSE '12 | 289 | 100 | 35% |
SIGCSE '11 | 315 | 107 | 34% |
SIGCSE '02 | 234 | 73 | 31% |
SIGCSE '01 | 225 | 78 | 35% |
SIGCSE '00 | 220 | 78 | 35% |
SIGCSE '99 | 190 | 70 | 37% |
SIGCSE '98 | 201 | 72 | 36% |
SIGCSE '97 | 177 | 75 | 42% |
SIGCSE '96 | 205 | 78 | 38% |
Overall | 4,542 | 1,595 | 35% |