Students are expected to have already mastered a basic DBA-level understanding of database systems. The course is intended for students who want to program at the system level at a database vendor or go for a PhD. in database systems with a practical orientation. Topics 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. 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. Participants study implementations of specific languages, for example Java, Smalltalk, Scheme, CLOS, Self or Prolog. This course introduces the issues involved in parallel programming systems, including ease of programming, match between programming language and problem domain, and efficiency of the generated code.