COMP201P - Networking and Concurrency

This database contains the 2016-17 versions of syllabuses. Syllabuses from the 2015-16 session are available here.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Code COMP201P
Year 2
Prerequisites Strong Java programming skills
Term1
Taught By Kevin Bryson (100%)
Aims In terms of concurrency, to have the ability to reason about concurrent behaviour and employ appropriate concurrency control primitives in situations where there is simultaneous access to shared resources. This is a practical course, grounded in a theoretical understanding of concurrency and the problems it brings. In terms of networking, to understand the fundamental principles of networking; from low level details such as properties of communication channels and data encoding; to high level aspects such as how the Internet works in terms of the TCP/IP protocol and developing distributed systems. A practical approach involving writing ‘network simulators’ in Java will be employed to reinforce the concepts of both the concurrency and network parts.
Learning Outcomes To be able to: (*) describe the problems of interleaving; (*) apply a range of standard concurrency control primitives to simple concurrency problems; (*) design and implement concurrent Java programs; (*) reason informally about their correctness; (*) describe key underlying concepts concerning computer networking; (*) describe how local area networks work; (*) describe how the Internet works and key