Statement from Michael Berman:We started using C++ in CS2 in Fall 1993. In Fall 1994 we will start using C++ in our CS 1 class.Our motivation for using C++ came from several directions. First, we use C in advanced courses, and needed a better place in the curriculum to introduce C (or, better, C++). Second, we wanted a language that could fully support implementation of abstract data types and OOP. Third, external forces (employers, MIS department, and a future Engineering School) pointed towards C++.There's no time in CS UCS2 to learn everything about C++, but I don't think you need to. Ideally, the relevant features are covered as they are needed. I am developing a CS2 textbook based on this approach. Introducing features in this way is nearly impossible in C, but is actually easier in C++ because pre-written classes can be used to hide some of the complexity of the language.Statement from Rick Decker:We've been phasing C++ into our curriculum at Hamilton for the past two years and expect to complete the transition in two more years. We assume, with what we think are very good reasons, that object-oriented programming is the appropriate paradigm for CS 1 and CS 2, and hence forms a thread that will eventually run throughout our entire curriculum. For this to take place, we have essentially inverted the order of topics in the first two courses. We' ve been preaching strategic programming for years and it's time to start practicing what we've been preaching. There's no paradigm shift if one has no paradigm to shift from. How do you fit it all in? You don't, that's how. There's time enough for algorithms later. In the first part of the CS1-2 sequence, we concentrate our attention on good design principles, and 00P is perfect for that.Why C++? We decided to use C++ as the vehicle for 00P because we felt that the shortcomings of the language were outweighed by the benefits to be gained by its adoption. C++ is like your distant cousin Bubba. He's fat, sloppy, and has a serious attitude problem. However, everybody loves him and he's the Charlie Daniels of the torque wrench if you need to get your car fixed. We underestimated the difficulties inherent in providing an accessible introduction to C++, In spite of our pedagogical 383
Princeton NJ 08540-6668 siemens!ellis (uucp) ellis.cohen@a.gp.cs.cmu.edu (arpa) (609) 734-6521
The Siemens R T L Tiled Window Manager automatically adjusts the size and positionThe manager has recently been ported to X version of tiled un'ndows to balance competing 11 [Sche87], where it acts as a window manager for X (rather than Andrew) clients using the redirection demands for screen space. The degree of automation can be set by the m e r and facilities of the X server. An object code version for the
controls strategies which range f r o m strictlySun and Microvax, supporting many of the strategies local to those which can affect all the described in this paper, is being made publicly available windows on the screen. T h i s paper discusses these strategies, indicates the tradeo ffs as release 4.1.involved, and briefly describes the algorithms used in their implementation.
There is no consensus within the Computer Science community as to which programming language or languages ought to be used in introductory courses. In recent years a substantial contingent has proposed the use of Scheme, a dialect of Lisp, as a candidate for "Best First Language"; however, despite the articles touting success with this approach, there have been no empirical studies comparing the results of using Scheme versus other languages. This paper is a first step towards collecting data that might answer this question. We compare two pre-major courses at a four-year college, one taught using a structured version of Basic, the other taught using Scheme. A survey was used to compare student attitudes towards computer science and programming at the end of the course. While the survey was too small to provide statistically significant answers, there were indications that Scheme may in fact do a better job of capturing and holding students' interest in Computer Science.
1 This study was profitably divided into two analagous sections, hereafter known as Experiment I and Experiment II. The distinction being made upon a difference in learning material-nonsense syllables in Experiment I and geometrical figures in Experiment II.
We are designing a number of programming projects which utilize input/output devices, such as joysticks or a homebrewed board we call a MIPPET (Module for Input/Output Programming Projects Enhancing Teaching). These projects have been used or will be used in the closed labs of our CSl course (taught in C++). The goal of these projects is to enhance student comprehension (by teaching objects with "real" objects) and student motivation (by providing "fun' projects). This paper focuses on an early project, where the student's program provides support for a human solving a maze.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.