1 / 63

Options for Stage II

Options for Stage II. Colin Johnson 9th March 2009. 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

quana
Download Presentation

Options for Stage II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Options for Stage II Colin Johnson 9th March 2009

  2. 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 Overview Three compulsory modules per term, plus one of…

  3. 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

  4. CO529Human-Computer Interaction

  5. 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.

  6. CO534IT Consultancy MethodsCO535IT Consultancy Practice (link to ARR’s pdf slides)

  7. CO538Concurrency: Design and Practice

  8. pretty much everything really … … core Computer Science (Co538) Concurrency – Design & Practice Concurrency is many things happening at the same time: • so is the real world – and computers, to be useful, have to model relevant bits of it; • it’s needed to support multiple demands (e.g. internet services, games, robotics, graphics/GUIs, mobile phones, bio-systems experiments, big physics modelling , real-time control, operating systems, …), even when running on a single processor; • it’s needed to exploit multicore and multiprocessor systems; • it’s needed for distributed systems and supercomputing; • it’s needed for hardware design, implementation and operation.   

  9. (Co538) Concurrency – Design & Practice Concurrency is many things happening at the same time: • so is the real world – and computers, to be useful, have to model relevant bits of it; • it’s needed to support multiple demands (e.g. internet services, games, robotics, graphics/GUIs, mobile phones, bio-systems experiments, big physics modelling , real-time control, operating systems, …), even when running on a single processor; • it’s needed to exploit multicore and multiprocessor systems; • it’s needed for distributed systems and supercomputing; • it’s needed for hardware design, implementation and operation. pretty much everything really … … core Computer Science    Co538 (Autumn) is a pre-requisite for the Stage 3 module: “Advanced Concurrency – Design & Practice”, Co632 (Spring).

  10. (Co538) Concurrency – Design & Practice Concurrency errors are responsible for over 85% of diagnosed Windows system crashes … [M.M.Swift et al., ACM SOSP-2003] So it’s important!

  11. a language for concurrency occam- JCSP a concurrency library for Java (Co538) Research Engagement

  12. (Co538) Research Engagement For the past 20 years, this department has been a leading centre of research into the theory and (especially) the practice of concurrency. Programming technologies have been (are being) developed here: • occam- (an industrial strength programming language based on the formal process algebras of CSP and the –calculus); • JCSP (a 100% pure Java library providing an API that supports the same concurrency model as occam-); • C++CSP / HCSP (a 100% pure C++ / Haskell library providing an API that supports the same concurrency model as occam-). This module will teach this model though the programming technologies (we won’t be doing the formal mathematics). There will be lots ofprogramming in this module.          

  13. (Co538) Research Engagement For the past 20 years, this department has been a leading centre of research into the theory and (especially) the practice of concurrency. Recent (EPSRC) funded projects: TUNA 2005-2007 (Kent, York, Surrey)Pilot Study on Emergence and Complex Systems RMoX 2007-2010 (Kent)Fast light safe concurrent operating systems(£0.3M) CoSMoS 2007-2012 (Kent, York)(+ Microsoft Research Cambridge, Celoxica Ltd., Chris Alexander) Complex Systems Modelling and Simulation(£1.3M)

  14. (Co538) Research Engagement For the past 20 years, this department has been a leading centre of research into the theory and (especially) the practice of concurrency. The key new concepts: processes (water-tight components) synchronised communication (over channels) networks (processes connected by channels – arbitrary shapes) choice (waiting for and reacting to events) dynamics (run-time network construction and re-shaping) structure (networks within networks) mobility (agents)

  15. The Matrix Mobile Agents Space (2D) and Mobile Agents

  16. Space (2D) and Mobile Agents

  17. Space (2D) and Mobile Agents

  18. Space (2D) and Mobile Agents

  19. clot gen ∙∙∙ ∙∙∙ cell draw cell cell cell cell cell keywatch keyboard Platelet Model (‘lazy’ CA)

  20. clot gen draw cell cell phase 1 display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell

  21. clot gen phase 0 draw cell cell display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell

  22. clot gen phase 0 ∙∙∙ ∙∙∙ cell cell cell cell draw cell cell keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  23. clot gen ∙∙∙ ∙∙∙ cell cell cell cell draw cell cell phase 1 keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  24. clot gen phase 0 ∙∙∙ ∙∙∙ cell cell cell cell draw cell cell keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  25. clot gen phase 0 draw display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell cell cell

  26. clot clot gen ∙∙∙ ∙∙∙ cell cell cell cell cell cell draw phase 1 keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  27. clot clot gen ∙∙∙ ∙∙∙ cell cell cell cell cell draw cell phase 1 keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  28. clot clot gen draw cell phase 1 display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell cell

  29. clot clot gen draw cell phase 1 display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell cell

  30. clot gen draw cell phase 1 display keywatch screen keyboard Platelet Model (‘lazy’ CA) ∙∙∙ ∙∙∙ cell cell cell cell cell

  31. clot gen ∙∙∙ ∙∙∙ cell cell cell cell cell draw cell phase 1 keywatch display screen keyboard Platelet Model (‘lazy’ CA)

  32. out 0 a b succ c numbers + out in a b c 0 integrate tail a b + out in c pairs PROC numbers (CHAN OF INT out) CHAN OF INT a, b, c: PAR delta (a, out, b) succ (b, c) prefix (0, c, a) : PROC integrate (CHAN OF INT in, out) CHAN OF INT a, b, c: PAR delta (a, out, b) prefix (0, b, c) plus (in, c, a) : PROC pairs (CHAN OF INT in, out) CHAN OF INT a, b, c: PAR delta (in, a, c) tail (a, b) plus (b, c, out) :

  33. out 1 0 a d pairs c b fibonacci squares numbers a integrate out b pairs PROC fibonacci (CHAN OF INT out) CHAN OF INT a, b, c, d: PAR delta (a, b, out) pairs (b, c) prefix (0, d, a) prefix (1, c, d) : PROC squares (CHAN OF INT out) CHAN OF INT a, b: PAR numbers (a) integrate (a, b) pairs (b, out) :

  34. Mandelbrot Set

  35. Mandelbrot Set

  36. scrolling cancel farmer iterations ... colours target control >>> harvester <<< displayList top left graphics scale canvas mouseMovement key mouse Mandelbrot Set

  37. canvass componentEvent ( ComponentEvent ) focusEvent ( FocusEvent ) displayList ( GraphicsCommand ) keyEvent ( KeyEvent ) toGraphics ( GraphicsProtocol) mouseEvent ( MouseEvent ) general fromGraphics mouseMotionEvent drawing ( Object) ( MouseEvent ) house-keeping (e.g. size?) java.awt.events

  38. Multi-Pong

  39. left right new game flasher mouse freeze keycontrol ... collision detect control scorer canvas Multi-Pong

  40. “jcsp://tsp.myrtle.ukc.ac.uk” Master myrtle ... Travelling Salesman Problem Global minimum maintained in ring (made with one-place overwriting channel buffers) … easy!!!

  41. “ukc.agent.007” in a b c UKC Mobile Processes (Agents)

  42. . . . Mobility via Mobile Channels (Tarzan) To swing down a chain of 1M servers, exchanging one INT during each visit: 770 nsecs/visit (P3), 280 nsecs/visit (P4) To swing down a chain of 1M servers, but doing no business: 450 nsecs/visit (P3), 120 nsecs/visit (P4)

  43. Threads-n-Locks Considered Harmful   

  44. (Co538) Aims of this Module • Present concurrency mechanisms that are easy to learn and easy to apply. • Show how to cope with other approaches to concurrency, which are easy to learn but hard to apply. • Apply this knowledge to solve real-world problems. • Improve programming skills generally – lots of programming! • Bring you into contact with research and researchers. • Enable some cool final year projects. • Have fun and satisfaction in achieving something really important. + lots more information on the Co538 website: www.cs.kent.ac.uk/co538

  45. (Co538) Teaching Methods • Two lectures per week. • Support seminars and practical classes (one or two per week) – exercises with (virtual) robots take place within these classes. • Anonymous on-line questions-and-answers (an extensive library already exists and is catalogued and indexed). • Slides available on-line (Powerpoint and PDF formats). • Additional course notes (basic and related technical papers). • Anonymous feedback questionnaire (with space for free-form crticism/praise) will be on-line towards the end of the course. • Previous year’s Co631* grade average: (07, 23) 70% (08, 42) 61% • Previous year’s Co632 grade average: (07, 23) 68% * Co631  Co538

  46. (Co538) Teaching Methods • Two lectures per week. • Support seminars and practical classes (one or two per week) – exercises with (virtual) robots take place within these classes. • Anonymous on-line questions-and-answers (an extensive library already exists and is catalogued and indexed). • Slides available on-line (Powerpoint and PDF formats). • Additional course notes (basic and related technical papers). • Anonymous feedback questionnaire (with space for free-form crticism/praise) will be on-line towards the end of the course. • Previous year’s Co631* grade average: (07, 23) 70% (08, 42) 61% • Previous year’s Co632 grade average: (07, 23) 68% Show video * Co631  Co538

  47. (Co632) Advanced Concurrency – Design & Practice Concurrency is many things happening at the same time. This module introduces dynamics– the construction, evolution and termination of systems (or sub-systems) on-the-fly. This is needed for systems that: • scale with demand (e.g. web services, air-traffic control); • evolve with demand (e.g. peer-to-peer networking); • model growing organisms (e.g. nanite assemblies); • configure, load and run supercomputer resources(e.g. Grid computing, our TUNA and CoSMoS clusters). 32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch funded and in procurement …

  48. 32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch funded and in procurement … (Co632) Advanced Concurrency – Design & Practice Concurrency is many things happening at the same time. This module introduces dynamics– the construction, evolution and termination of systems (or sub-systems) on-the-fly. Co538 (Autumn) is a pre-requisite for the Stage 3 module: “Advanced Concurrency – Design & Practice”, Co632 (Spring). This is needed for systems that: • scale with demand (e.g. web services, air-traffic control); • evolve with demand (e.g. peer-to-peer networking); • model growing organisms (e.g. nanite assemblies); • configure, load and run supercomputer resources(e.g. Grid computing, our TUNA and CoSMoS clusters).

  49. 32 * ( 3.0GHz. Pentium IV, 1GB RAM) + 48-way Fast Ethernet Switch (Co632) Advanced Concurrency – Design & Practice TheTUNAcluster is for modelling self-assembling and evolving nanite assemblies (nanobots), in particular safety mechanisms allowing their deployment in human medicine. One study concerns artificial blood platelets for emergency response to major injuries. This is research council funded, but will be available to students taking this module. Upgrading soon to CoSMoS cluster (4* the power)

  50. CO636Cognitive Neural Networks

More Related