63
Options for Stage II Colin Johnson 9th March 2009

Options for Stage II Colin Johnson 9th March 2009

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Options for Stage II

Colin Johnson

9th March 2009

Overview

Autumn Term• CO529: HCI• CO534: IT Consultancy

Methods• CO538: Concurrency Design

and Practice• CO636 Cognitive Neural

Networks

Spring Term• CO528: Introduction to

Intelligent Systems• CO535: IT Consultancy

Practice• CO536: Advanced

Programming Techniques• CO639: E-commerce• CO643: Computing Law

and Professional Responsibility

Three compulsory modules per term, plus one of…

Some General Points

• Module registration: Online from 23rd March on SDS• Coursework:exam weightings under review. Some

changes:– CO532 (Database Systems): moving to 40% CW, 60% exam.

• Options not done this year will typically be available as options for your final year too (but you cannot do too many level I (intermediate) modules).

• Handbooks available soon

CO529Human-Computer Interaction

CO529: Human-Computer Interaction

• Human-Computer interaction is complex• Involves many areas of study: design, technology,

psychology, …• In this module, we study

– How to analyse interaction problems, and then design effective interfaces for computers and similar devices

– How to evaluate an interface, understand its effectiveness, and improve it.

– The research that has been done into effective interface, both looking at specific research and research methods in the area.

CO534IT Consultancy Methods

CO535IT Consultancy Practice

(link to ARR’s pdf slides)

CO538Concurrency:

Design and Practice

(Co538) Concurrency – Design & Practice

(Co538) Concurrency – Design & Practice

ConcurrencyConcurrency is is many things happening at the same timemany things happening at the same time::

so is the real world – and computers, to be useful, have to model so is the real world – and computers, to be useful, have to model relevant bits of it;relevant bits of it;

it’s needed to support multiple demands it’s needed to support multiple demands (e.g. internet services, (e.g. internet services, games, robotics, graphics/GUIs, mobile phones, bio-systems games, robotics, graphics/GUIs, mobile phones, bio-systems experiments, big physics modelling , real-time control, operating experiments, big physics modelling , real-time control, operating systems, …)systems, …), even when running on a single processor;, even when running on a single processor;

it’s needed to exploit it’s needed to exploit multicoremulticore and and multiprocessormultiprocessor systems; systems;

it’s needed for it’s needed for distributeddistributed systems and systems and supercomputingsupercomputing;;

it’s needed for it’s needed for hardware designhardware design, , implementationimplementation and and operationoperation..

pretty much everything really …pretty much everything really … … … core Computer Sciencecore Computer Science

(Co538) Concurrency – Design & Practice

(Co538) Concurrency – Design & Practice

ConcurrencyConcurrency is is many things happening at the same timemany things happening at the same time::

so is the real world – and computers, to be useful, have to model so is the real world – and computers, to be useful, have to model relevant bits of it;relevant bits of it;

it’s needed to support multiple demands it’s needed to support multiple demands (e.g. internet services, (e.g. internet services, games, robotics, graphics/GUIs, mobile phones, bio-systems games, robotics, graphics/GUIs, mobile phones, bio-systems experiments, big physics modelling , real-time control, operating experiments, big physics modelling , real-time control, operating systems, …)systems, …), even when running on a single processor;, even when running on a single processor;

it’s needed to exploit it’s needed to exploit multicoremulticore and and multiprocessormultiprocessor systems; systems;

it’s needed for it’s needed for distributeddistributed systems and systems and supercomputingsupercomputing;;

it’s needed for it’s needed for hardware designhardware design, , implementationimplementation and and operationoperation..

pretty much everything really …pretty much everything really … … … core Computer Sciencecore Computer Science

Co538 (Autumn)

Co538 (Autumn) is

a pre-requisite

for

is a pre-requisite

for

the Stage 3 module:

the Stage 3 module:

“Advanced Concurre

ncy – Design &

“Advanced Concurre

ncy – Design &

Practice”,

Practice”, Co632 (S

pring)

Co632 (Sprin

g)..

Co538 (Autumn)

Co538 (Autumn) is

a pre-requisite

for

is a pre-requisite

for

the Stage 3 module:

the Stage 3 module:

“Advanced Concurre

ncy – Design &

“Advanced Concurre

ncy – Design &

Practice”,

Practice”, Co632 (S

pring)

Co632 (Sprin

g)..

(Co538) Concurrency – Design & Practice

(Co538) Concurrency – Design & Practice

ConcurrencyConcurrency errors are responsible for over 85% of errors are responsible for over 85% of diagnosed Windows system crashes …diagnosed Windows system crashes …

[M.M.Swift et al., ACM SOSP-2003][M.M.Swift et al., ACM SOSP-2003]

So it’s important !So it’s important !

(Co538) Research Engagement(Co538) Research Engagement

JCSPJCSP

a a concurrencyconcurrency library for Java library for Javaa a concurrencyconcurrency library for Java library for Java

a language for a language for concurrencyconcurrencya language for a language for concurrencyconcurrency

occam-occam-

(Co538) Research Engagement(Co538) Research Engagement

Programming technologies have been (are being) developed hereProgramming technologies have been (are being) developed here::

occam-occam- (an industrial strength programming language based on (an industrial strength programming language based on the formal process algebras of the formal process algebras of CSPCSP and the and the –calculus–calculus););

JCSPJCSP (a 100% pure Java library providing an API that supports the (a 100% pure Java library providing an API that supports the same concurrency model as same concurrency model as occam-occam-););

C++CSPC++CSP / / HCSPHCSP (a 100% pure C++ / Haskell library providing an (a 100% pure C++ / Haskell library providing an API that supports the same concurrency model as API that supports the same concurrency model as occam-occam-).).

This module will teach this model This module will teach this model though the programming technologiesthough the programming technologies (we won’t be doing the formal mathematics).(we won’t be doing the formal mathematics).This module will teach this model This module will teach this model though the programming technologiesthough the programming technologies (we won’t be doing the formal mathematics).(we won’t be doing the formal mathematics).

There will be lots ofThere will be lots of programming programming in this module. in this module. There will be lots ofThere will be lots of programming programming in this module. in this module.

For the past 20 years, this department has been a leading centre of For the past 20 years, this department has been a leading centre of research into the theory and research into the theory and (especially)(especially) the practice of the practice of concurrencyconcurrency..

(Co538) Research Engagement(Co538) Research EngagementFor the past 20 years, this department has been a leading centre of For the past 20 years, this department has been a leading centre of research into the theory and research into the theory and (especially)(especially) the practice of the practice of concurrencyconcurrency..

Recent (EPSRC) funded projects:Recent (EPSRC) funded projects:

TUNATUNA 2005-2007 (Kent, York, Surrey) 2005-2007 (Kent, York, Surrey)Pilot Study on Emergence and Complex SystemsPilot Study on Emergence and Complex Systems

TUNATUNA 2005-2007 (Kent, York, Surrey) 2005-2007 (Kent, York, Surrey)Pilot Study on Emergence and Complex SystemsPilot Study on Emergence and Complex Systems

CoSMoSCoSMoS 2007-2012 (Kent, York) 2007-2012 (Kent, York)(+ Microsoft Research Cambridge, Celoxica Ltd., Chris Alexander) (+ Microsoft Research Cambridge, Celoxica Ltd., Chris Alexander)

Complex Systems Modelling and SimulationComplex Systems Modelling and Simulation((£1.3M£1.3M))

CoSMoSCoSMoS 2007-2012 (Kent, York) 2007-2012 (Kent, York)(+ Microsoft Research Cambridge, Celoxica Ltd., Chris Alexander) (+ Microsoft Research Cambridge, Celoxica Ltd., Chris Alexander)

Complex Systems Modelling and SimulationComplex Systems Modelling and Simulation((£1.3M£1.3M))

RMoXRMoX 2007-2010 (Kent) 2007-2010 (Kent)Fast light safe concurrent operating systemsFast light safe concurrent operating systems

((£0.3M£0.3M))

RMoXRMoX 2007-2010 (Kent) 2007-2010 (Kent)Fast light safe concurrent operating systemsFast light safe concurrent operating systems

((£0.3M£0.3M))

(Co538) Research Engagement(Co538) Research EngagementFor the past 20 years, this department has been a leading centre of For the past 20 years, this department has been a leading centre of research into the theory and research into the theory and (especially)(especially) the practice of the practice of concurrencyconcurrency..

The key new concepts:The key new concepts:

processesprocesses (water-tight components) (water-tight components)processesprocesses (water-tight components) (water-tight components)

synchronised communicationsynchronised communication (over channels) (over channels)synchronised communicationsynchronised communication (over channels) (over channels)

networksnetworks (processes connected by channels – arbitrary shapes) (processes connected by channels – arbitrary shapes)networksnetworks (processes connected by channels – arbitrary shapes) (processes connected by channels – arbitrary shapes)

choicechoice (waiting for and reacting to events) (waiting for and reacting to events)choicechoice (waiting for and reacting to events) (waiting for and reacting to events)

structurestructure (networks within networks) (networks within networks)structurestructure (networks within networks) (networks within networks)

dynamicsdynamics (run-time network construction and re-shaping) (run-time network construction and re-shaping)dynamicsdynamics (run-time network construction and re-shaping) (run-time network construction and re-shaping)

mobilitymobility (agents) (agents)mobilitymobility (agents) (agents)

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

The The MatrixMatrixThe The

MatrixMatrix

Mobile Mobile AgentsAgentsMobile Mobile AgentsAgents

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

Space (2D) and Mobile Agents

keyboardkeyboard

keywatch

drawdraw

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clot

phase 1

screenscreendisplay

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clotphase 0

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clotphase 0

phase 1

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clotphase 0

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

clotphase 0

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clotclot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clotclot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clotclot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clotclot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clot

Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)Platelet Model (‘lazy’ CA)

screenscreendisplay

keyboardkeyboard

keywatch

drawdraw

gen

∙∙∙∙∙∙ cell cellcell cell cellcell

phase 1

clot

PROC numbers (CHAN OF INT out)PROC numbers (CHAN OF INT out) CHAN OF INT a, b, c:CHAN OF INT a, b, c: PARPAR delta (a, out, b)delta (a, out, b) succ (b, c)succ (b, c) prefix (0, c, a)prefix (0, c, a)::

PROC integrate (CHAN OF INT in, out)PROC integrate (CHAN OF INT in, out) CHAN OF INT a, b, c:CHAN OF INT a, b, c: PARPAR delta (a, out, b)delta (a, out, b) prefix (0, b, c)prefix (0, b, c) plus (in, c, a)plus (in, c, a)::

PROC pairs (CHAN OF INT in, out)PROC pairs (CHAN OF INT in, out) CHAN OF INT a, b, c:CHAN OF INT a, b, c: PARPAR delta (in, a, c)delta (in, a, c) tail (a, b)tail (a, b) plus (b, c, out)plus (b, c, out)::

succsucc

00

numbersnumbers

out

a

bc

integrateintegrate

out++

00

in a

bc

pairspairsout

tailtail

++in

a

c

b

PROC squares (CHAN OF INT out)PROC squares (CHAN OF INT out) CHAN OF INT a, b:CHAN OF INT a, b: PARPAR numbers (a)numbers (a) integrate (a, b)integrate (a, b) pairs (b, out)pairs (b, out)::

PROC fibonacci (CHAN OF INT out)PROC fibonacci (CHAN OF INT out) CHAN OF INT a, b, c, d:CHAN OF INT a, b, c, d: PARPAR delta (a, b, out)delta (a, b, out) pairs (b, c)pairs (b, c) prefix (0, d, a)prefix (0, d, a) prefix (1, c, d)prefix (1, c, d)::

pairspairs

00

fibonaccifibonacci

aa

out

bbcc

11dd

squaressquares

aa

outbb

numbersnumbers

pairspairs

integrateintegrate

Mandelbrot SetMandelbrot Set

Mandelbrot SetMandelbrot Set

Mandelbrot SetMandelbrot Set

...

farmer

harvester

graphics

mouseMovement

key

mouse

displayList

control

cancel

>>>

<<<

top

scale

left

canvas

scrolling

iterations

target

colours

displayList

( GraphicsCommand )

toGraphics

( GraphicsProtocol )

fromGraphics

( Object )

keyEvent

( KeyEvent )

focusEvent

( FocusEvent )

mouseEvent

( MouseEvent )

mouseMotionEvent

( MouseEvent )

componentEvent

( ComponentEvent )

canvasscanvass

java.awt.events

generaldrawing

house-keeping(e.g. size?)

Multi-PongMulti-Pong

collision detect

control

...

scorer

left right

keycontrol

mouse

flasher

new game freeze

canvas

Multi-PongMulti-Pong

Global minimum maintained in ring (made with one-place overwriting channel buffers) … easy!!!

myrtle

Master

“jcsp://tsp.myrtle.ukc.ac.uk”

...

Travelling Salesman ProblemTravelling Salesman ProblemTravelling Salesman ProblemTravelling Salesman Problem

Mobile Processes (Agents)Mobile Processes (Agents)

“ukc.agent.007”

a b

c

in

UKC

Mobility via Mobile Channels (Tarzan)

Mobility via Mobile Channels (Tarzan)

To swing down a chain of 1M1M servers, exchanging one INTINT during each visit: 770 770 nsecs/visit (P3), 280 280 nsecs/visit (P4)To swing down a chain of 1M1M servers, exchanging one INTINT during each visit: 770 770 nsecs/visit (P3), 280 280 nsecs/visit (P4)

...

To swing down a chain of 1M1M servers, but doing no business: 450 450 nsecs/visit (P3), 120 120 nsecs/visit (P4)

To swing down a chain of 1M1M servers, but doing no business: 450 450 nsecs/visit (P3), 120 120 nsecs/visit (P4)

Threads-n-Locks Considered HarmfulThreads-n-Locks Considered Harmful

(Co538) Aims of this Module(Co538) Aims of this Module

Present concurrency mechanisms that are Present concurrency mechanisms that are easy to learneasy to learn and and easy easy to applyto apply..

Show how to cope with other approaches to concurrency, which Show how to cope with other approaches to concurrency, which are are easy to learneasy to learn but but hard to applyhard to apply..

Apply this knowledge to solve real-world problems.Apply this knowledge to solve real-world problems.

Improve programming skills generally Improve programming skills generally – lots of programming!– lots of programming!

Bring you into contact with research and researchers.Bring you into contact with research and researchers.

Enable some cool final year projects.Enable some cool final year projects.

Have fun and satisfaction in achieving something really important.Have fun and satisfaction in achieving something really important.

+ lots more information on the Co538 website:+ lots more information on the Co538 website:

www.cs.kent.ac.uk/co538www.cs.kent.ac.uk/co538

+ lots more information on the Co538 website:+ lots more information on the Co538 website:

www.cs.kent.ac.uk/co538www.cs.kent.ac.uk/co538

(Co538) Teaching Methods(Co538) Teaching Methods

Two lectures per weekTwo lectures per week..

Support seminars and practical classes (one or two per week)Support seminars and practical classes (one or two per week) – – exercises with (virtual) robots take place within these classes.exercises with (virtual) robots take place within these classes.

Anonymous on-line questions-and-answersAnonymous on-line questions-and-answers (an extensive library (an extensive library already exists and is catalogued and indexed).already exists and is catalogued and indexed).

Slides available on-lineSlides available on-line (Powerpoint and PDF formats). (Powerpoint and PDF formats).

Additional course notesAdditional course notes (basic and related technical papers). (basic and related technical papers).

Anonymous feedback questionnaireAnonymous feedback questionnaire (with space for free-form (with space for free-form crticism/praise) will be on-line towards the end of the course.crticism/praise) will be on-line towards the end of the course.

Previous year’s Co631* grade average: Previous year’s Co631* grade average: (07, 23) 70% (08, 42) 61% (07, 23) 70% (08, 42) 61%

Previous year’s Co632 grade average: Previous year’s Co632 grade average: (07, 23) 68% (07, 23) 68%

* Co631 * Co631 Co538 Co538* Co631 * Co631 Co538 Co538

(Co538) Teaching Methods(Co538) Teaching Methods

Two lectures per weekTwo lectures per week..

Support seminars and practical classes (one or two per week)Support seminars and practical classes (one or two per week) – – exercises with (virtual) robots take place within these classes.exercises with (virtual) robots take place within these classes.

Anonymous on-line questions-and-answersAnonymous on-line questions-and-answers (an extensive library (an extensive library already exists and is catalogued and indexed).already exists and is catalogued and indexed).

Slides available on-lineSlides available on-line (Powerpoint and PDF formats). (Powerpoint and PDF formats).

Additional course notesAdditional course notes (basic and related technical papers). (basic and related technical papers).

Anonymous feedback questionnaireAnonymous feedback questionnaire (with space for free-form (with space for free-form crticism/praise) will be on-line towards the end of the course.crticism/praise) will be on-line towards the end of the course.

Previous year’s Co631* grade average: Previous year’s Co631* grade average: (07, 23) 70% (08, 42) 61% (07, 23) 70% (08, 42) 61%

Previous year’s Co632 grade average: Previous year’s Co632 grade average: (07, 23) 68% (07, 23) 68%

* Co631 * Co631 Co538 Co538* Co631 * Co631 Co538 Co538

Show Show videovideo

(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice

ConcurrencyConcurrency is is many things happening at the same timemany things happening at the same time..

This module introduces This module introduces dynamicsdynamics – the construction, evolution and – the construction, evolution and termination of systems (or sub-systems) termination of systems (or sub-systems) on-the-flyon-the-fly..

This is needed for systems that:This is needed for systems that:

scale with demand scale with demand (e.g. web services, air-traffic control)(e.g. web services, air-traffic control);;

evolve with demand evolve with demand (e.g. peer-to-peer networking)(e.g. peer-to-peer networking);;

model growing organisms model growing organisms (e.g. nanite assemblies)(e.g. nanite assemblies);;

configure, load and run supercomputer resourcesconfigure, load and run supercomputer resources (e.g. (e.g. GridGrid computing, our computing, our TUNATUNA and and CoSMoSCoSMoS clusters) clusters). .

funded and in procurement …funded and in procurement …funded and in procurement …funded and in procurement …

32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch

ConcurrencyConcurrency is is many things happening at the same timemany things happening at the same time..

This module introduces This module introduces dynamicsdynamics – the construction, evolution and – the construction, evolution and termination of systems (or sub-systems) termination of systems (or sub-systems) on-the-flyon-the-fly..

This is needed for systems that:This is needed for systems that:

scale with demand scale with demand (e.g. web services, air-traffic control)(e.g. web services, air-traffic control);;

evolve with demand evolve with demand (e.g. peer-to-peer networking)(e.g. peer-to-peer networking);;

model growing organisms model growing organisms (e.g. nanite assemblies)(e.g. nanite assemblies);;

configure, load and run supercomputer resourcesconfigure, load and run supercomputer resources (e.g. (e.g. GridGrid computing, our computing, our TUNATUNA and and CoSMoSCoSMoS clusters) clusters). .

(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice

funded and in procurement …funded and in procurement …funded and in procurement …funded and in procurement …

32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch

Co538 (Autumn)

Co538 (Autumn) is

a pre-requisite

for

is a pre-requisite

for

the Stage 3 module:

the Stage 3 module:

“Advanced Concurre

ncy – Design &

“Advanced Concurre

ncy – Design &

Practice”,

Practice”, Co632 (S

pring)

Co632 (Sprin

g)..

Co538 (Autumn)

Co538 (Autumn) is

a pre-requisite

for

is a pre-requisite

for

the Stage 3 module:

the Stage 3 module:

“Advanced Concurre

ncy – Design &

“Advanced Concurre

ncy – Design &

Practice”,

Practice”, Co632 (S

pring)

Co632 (Sprin

g)..

TheThe TUNATUNA cluster is for cluster is for modelling self-assembling and modelling self-assembling and evolving evolving nanitenanite assemblies assemblies (nanobots)(nanobots), in particular safety , in particular safety mechanisms allowing their mechanisms allowing their deployment in human medicine. deployment in human medicine. One study concerns artificial One study concerns artificial blood platelets for emergency blood platelets for emergency response to major injuries. This response to major injuries. This is research council funded, but is research council funded, but will be available to students will be available to students taking this module.taking this module.

(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice(Co632) Advanced Concurrency – Design & Practice

32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch

Upgrading so

on to C

oSMoS cluste

r (4* t

he power)

Upgrading so

on to C

oSMoS cluste

r (4* t

he power)

Upgrading so

on to C

oSMoS cluste

r (4* t

he power)

Upgrading so

on to C

oSMoS cluste

r (4* t

he power)

CO636Cognitive Neural Networks

CO636: Cognitive Neural Networks

Lecturer: Dr Howard Bowman

How the brain computes• Electrochemical dynamics of neural

circuits• Neurons, synapses, dendrites,

axons, etc• Structure of the brain (subdivision

into regions: sensory, association, action areas)

• Activation dynamics,– excitatory, inhibitory, etc

• Types of networks– feedforward, recurrent, etc

Learning

• How do neural systems learn?• How do humans learn?• Change of synaptic efficiency• Types of learning,

– unsupervised• extracting correlations from

environment• principle components analysis

– supervised• learning to perform a task• back-propagation of error

How the brain learns

• Biologically plausible learning– Hebbian learning– The Generalised

Recirculation Algorithm

• run simulations using PDP++ simulation tool

• autumn term: 2 hours lectures & 2 hours of practicals per week

• course text book,

R. O’Reilly & Y. Munakata: “Computational Explorations in Cognitive Neuroscience:Understanding the Mind by Simulating the Brain” MIT Press, 2000.

CO528Intro. To Intelligent Systems

CO528: Intro. to Intelligent Systems

• What does it mean for computers to act intelligently?• How can we take inspiration from natural intelligent

systems to implement intelligence on computers?– Neural networks, genetic algorithms, swarm intelligence,…

• How can we formalise the notion of intelligence and implement it using these formalities?– Logic-based intelligence, constraints, symbolic AI

• Debates and questions:– Philosophical questions: what is intelligence?

Methodological questions: Symbolic vs. subsymbolic? Bio-inspired vs. automated reasoning?

CO536Advanced Programming

Techniques

CO536 Advanced Programming Techniques

UnixFinding your way around + useful commandsAssessed in an on-line test (no exam questions)

C9 lectures, terminal classes, graduated courseworkFocus on aspects of C that are different from Java

pointers, malloc(), preprocessor, program structureAdvanced Java

JVM – class loading and instantiation, JIT-compiling, object instantiation and initialisation, interning, garbage collectionAdvanced language and API features of Java, such as reflection, finalisers and generics

CO639E-Commerce

CO639: E-Commerce

• To understand the business processes in e-commerce

• To be able to write programs that implement effective and safe e-commerce systems

• To understanding and be able to implement security and cryptographic procedures relevant to e-commerce

• To understand issues about payment in e-commerce

• To understand relevant legal issues

CO643Computing Law and

Professional Responsibility

CO643: CLPR

• Acting professionally in a computing career• Understanding and debating legal and ethical

issues concerned with computing• Understanding and applying aspects of the

law as it applies to computing topics, e.g. data privacy.

• Understanding how legal and ethical issues impact upon the management of large scale IT projects