background preloader

Oxford

Facebook Twitter

PrivacyButler

Multiple Imputation. Webauth Error. Real World Haskell. Course Material for Groups and Group Actions. Design and Analysis of Algorithms. Information Overview This core course covers good principles of algorithm design, elementary analysis of algorithms, and fundamental data structures.

Design and Analysis of Algorithms

The emphasis is on choosing appropriate data structures and designing correct and efficient algorithms to operate on these data structures. Learning outcomes This is a first course in data structures and algorithm design. Learn good principles of algorithm design; learn how to analyse algorithms and estimate their worst-case and average-case behaviour (in easy cases); become familiar with fundamental data structures and with the manner in which these data structures can best be implemented; become accustomed to the description of algorithms in both functional and procedural styles; learn how to apply their theoretical knowledge in practice (via the practical component of the course). Synopsis Program costs: time and space. Syllabus Reading list T. Concurrency. Information Overview Computer networks, multiprocessors and parallel algorithms, though radically different, all provide examples of processes acting in parallel to achieve some goal.

Concurrency

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. Learning outcomes At the end of the course the student should: understand some of the issues and difficulties involved in Concurrency be able to specify and model concuurent systems using CSP be able to reason about CSP models of systems using both algebraic laws and semantic models be able to analyse CSP models of systems using the model checker FDR Synopsis.

Computers in Society. Information Overview Computing takes place in a social context which can affect the ways in which technology develops and in turn may be affected by those developments.

Computers in Society

In this course, we study these influences, and examine questions that must be answered by computing professionals, policy makers, and members of the public, in relation to the potential uses and abuses of computing technology. The course is illustrated by a number of case studies, and students are encouraged to draw upon a number of perspectives to address the issues raised by the case studies. The course is designed to enable participants to: Be aware of a variety of views of computing, including: historical; professional; social; political and cultural.

Coursework consists of discussion questions, group presentations, and a final written exam with essay-style questions. Synopsis Coursework consists of discussion questions, student presentations, and a final written exam with essay-style questions. Overview. Lectures. Computational Complexity. Information Overview This course is an introduction to the theory of computational complexity and standard complexity classes.

Computational Complexity

One of the most important insights to have emerged from Theoretical Computer Science is that computational problems can be classified according to how difficult they are to solve. This classification has shown that many computational problems are impossible to solve, and many more are impractical to solve in a reasonable amount of time. To classify problems in this way, one needs a rigorous model of computation, and a means of comparing problems of different kinds. Learning outcomes The course is designed to enable students to: Classify decision problems into appropriate complexity classes, including P, NP, PSPACE and complexity classes based on randomised machine models and use this information effectively.

Synopsis [1 lecture] Introduction. Syllabus Reading list Primary Text M Sipser. Supplementary List Arora, Barak. Department of Computer Science: Paul Goldberg. Biography Since July 2013 I have been a professor at the Department of Computer Science, Oxford University.

Department of Computer Science: Paul Goldberg

Prior to that I was a professor of Computer Science at the University of Liverpool, where I was founding head of the Economics and Computation (ECCO) research group. I have also taught at the University of Warwick, and been a member of research groups at Aston University and Sandia National Labs, USA. The unifying theme of my work is algorithms having mathematically proven performance guarantees. I have worked extensively in computational learning theory (machine learning algorithms, sample size bounds). Links Personal home page EPSRC project: Efficient Algorithms for Mechanism Design Without Monetary Transfer EU COST action on Computational Social Choice. People - Dr Taha Yasseri.