Computer Science at Oxford

Computer Science core 2

From Computer Science at Oxford

Home > Computing courses at Oxford > Computer Science > Computer Science core 2
Jump to: navigation, search

Further core material occupies 37% of the time in the second year of the Computer Science degree.

Object-Oriented Programming

On this course you will focus on the construction and maintenance of larger programs. Building on the course in Imperative Programming, the course uses a sequence of graduated case studies to illustrate the principles of abstraction and modularity that underlie the design of successful software systems. The course is structured around a large case-study, the design of an editing and production system for magazine publishing.

Concurrency

Computer networks, multiprocessors and parallel algorithms, though radically different, all provide examples of processes acting in parallel to achieve some goal. All benefit from the efficiency of concurrency yet require careful design to ensure that they function correctly. The concurrency course introduces the fundamental concepts of concurrency using the notation of Communicating Sequential Processes. By introducing communication, parallelism, deadlock, live-lock, etc., it shows how CSP represents, and can be used to reason about, concurrent systems. Students are taught how to design interactive processes and how to modularise them using synchronisation. One important feature of the module is its use of both algebraic laws and semantic models to reason about reactive and concurrent designs. Another is its use of FDR to animate designs and verify that they meet their specifications.

Models of Computation

On this course you will gain a basic understanding of the classical mathematical models used to analyse computing processes, including finite automata, grammars, and Turing machines. These mathematical models can be used to answer questions such as what problems can be solved by computer, and whether there some problems that are intrinsically harder to solve than others.

Personal tools