The course is intended for students who want to program at the system level at a database vendor or go for a Ph.D. in database systems with a practical orientation. Topics covered include implementation techniques for disk buffering, indexing and transactional concurrency. It aims at discovering association rules, episode rules, sequential rules and other knowledge embedded in data, and is concerned with efficient data structures and algorithms that have good scaling properties. The course presents essential aspects of data mining as a part of our current offering in databases, includes a data mining project and prepares students to program applications that use data mining techniques. Scalable architectures delivering a sustained performance are desirable in both sequential and parallel computers.
Parallel architecture has a higher potential to deliver scalable performance.
Both hardware and software issues need to be studied in building scalable computer systems. The issues are examined in the light of both research and commercial parallel systems. Topics include interpreters and their performance, definitional interpreters, storage management and garbage collection. We study implementations of specific languages, for example Java, Smalltalk, Scheme, CLOS, Self or Prolog. This course will introduce the issues involved in parallel programming systems.