This paper draws on the literature for teaching introductory programming and previous pedagogical research on learning and teaching in large classes. We discuss both the problems posed by large class sizes in lectures and the common problems many novice programmers face. We then outline some fun and practical ways to illustrate basic programming concepts in a large class setting by drawing comparisons with real-world scenarios. These methods can be adopted for other disciplines and help increase interactivity in large classes, giving students hands-on experience of problem-solving and promoting independent thinking.
In this paper we extend the JAMA matrix software package to produce a design for a Java package for the representation of matrices within a parallel distributed-memory environment. Underlying the design of the package is mpiJava for communication between processes. The package is intended to support a variety of formats, fully distributed and replicated versions of matrices, and is intended as a building block for more general object-oriented numerical problem solving.
Since we are interested in developing skills in object orientation the main abstractions we are concerned with are those for types and objects. Our type design notation, adapted from that for algorithm design, emphasises type interface design without reference to details of implementation (e.g. in C++). It avoids having to show, and explain at the design stage, the ‘concrete representation’ of a type its ‘attributes’ (private member variables). Chris Phillips Department of Computing Science University of Newcastle upon Tyne