Thomas C. McMillan

  • Citations Per Year
Learn More
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)
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)
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)