#### Filter Results:

- Full text PDF available (2)

#### Publication Year

1987

2009

- This year (0)
- Last 5 years (0)
- Last 10 years (1)

#### Publication Type

#### Co-author

#### Journals and Conferences

#### Key Phrases

Learn More

- Ivan B. Liss, Thomas C. McMillan
- SIGCSE
- 1988

This paper describes an exercise which has been used in both CS1 and CS2 courses for the purpose of introducing the concepts of recursion and stacks, and for illustrating the benefits of procedural abstraction. The problem is to write a program which finds a path through a rectangular maze. The exercise is used in CS1 as part of an introduction to… (More)

- Thomas C. McMillan
- SGCS
- 1987

In this paper I describe a projec t which I use in a junior/senior leve l theory of programming languages course . The project is to implement an interprete r for "pure" LISP . The dialect of LIS P which is produced includes the function s CONS, CAR, CDR, EQ and ATOM . In addition , the interpreter can perform intege r arithmetic and can process user define… (More)

- Ivan B. Liss, Thomas C. McMillan
- SIGCSE
- 1987

This paper describes a programming exercise developed and used in CS2 classes to help introduce recursive programming. Providing a set of primitives which comprise a graphics system allows the students to focus on top down design and the nature of recursion, rather than on implementation details. The exercise entails drawing approximations of fractals by… (More)

In elementary probability and statistics classes, a common example is the “Birthday Problem”: In a group of people, what is the probability that at least two people have the same birthday? After the probability has been calculated, it is natural to look for a match by having students announce their birthdays one by one. A question that arose in my class (in… (More)

- Thomas C. McMillan, William J. Collins
- ACM Conference on Computer Science
- 1989

Assume that uniform hashing is used to post items into a table with <i>m</i> rows. For any <i>n</i> such that 0 ≤ <i>n</i> < <i>m</i>, let <i>E</i><sub><i>n,m</i></sub> represent the expected number of probes needed to post the (<i>n</i> + 1)st item. Clearly,… (More)

- Thomas C. McMillan, Ivan B. Liss
- ACM Conference on Computer Science
- 1989

We consider, in this paper, various algorithms which are known to sort an array in <i>O</i>(<i>n</i><sup>2</sup>) or <i>O</i>(<i>n</i> log <i>n</i>) time. Since the analysis of an algorithm may indicate its <i>average</i> performance, it is desirable to identify conditions which would indicate that a… (More)

- Ivan B. Liss, Thomas C. McMillan
- SGCS
- 1987

This paper describes a simpl e graphics package which can be used as th e basis for several programming exercises i n CS1 and CS2 courses . The graphics package is a collection of Pascal procedures whic h controls the image on a graphic display system . It is a "turtle graphics" syste m similar to the graphics systems found i n many implementations of LOGO… (More)

- Ivan B. Liss, Thomas C. McMillan
- SIGCSE
- 1987

This paper describes a programming project used in CS2 classes to introduce trees as an abstract data type. The student is required to manipulate tree structures with a set of primitive functions supplied by the instructor. The student does not have access to the implementation details of these primitive functions, and is initially required to complete a… (More)

This paper surveys examples in which questions are answered by developing recurrence relations that model certain situations and then exploring those recurrence relations using an electronic spreadsheet. The goals of this approach are (1) to develop an understanding of and a facility for using recurrence relations as a modeling tool to motivate the need to… (More)

- Thomas C. McMillan, William J. Collins
- SIGCSE
- 1990

Turbo Pascal has features which make it a good tool for introducing important concepts in CSl and CS2 classes. These concepts include procedural and data abstraction, informa.tion hiding and data encapsulation. In this paper we discuss abstract data types and those features of Turbo Pascal which can be used to implement abstract data types. We also discuss… (More)