Note: Some of the graphical elements of this site are only visible to browsers that support accepted web standards. The content of this site is, however, accessible to any browser or Internet device.
Software engineering Program specification; reasoning about the correctness of programs; testing; architectural design patterns Software engineering environmentsTools and techniques for large-scale systems development, requirements capture and software maintenance Concurrent programmingConcepts, methods and algorithms appropriate for the construction of concurrent programs Models of concurrent computationFormalisms for specifying and verifying concurrent systems Parallel algorithmsParallel sorting and searching algorithms; matrix algorithms; optimisation; dynamic programming; knapsack problems; scheduling; element methods Computer systemsComputer architecture and organisation; operating systems Advanced computer architecturesHigh-performance computer architectures; dynamic scheduling and speculative execution; caches and cache coherency; inter connection networks Networks and distributed systemsNetworks overview; local area networks; wireless networking; Internet Protocols; distributed systems overview; interaction primitives and implementation; security Distributed systemsDistributed system architecture; interaction primitives and implementation; software structures and components; security;distributed systems management Advances in databasesEntity relationship modelling; the relational model; integrity; database fundamentals; query processing and optimisation; parallel and client/server architectures; serialisability; recovery; distributed and heterogeneous databases; Advanced databasesDatabase management systems (DBMS) architecture and implementation; concurrency control and recovery; query optimisation; distributed databases; schemantegration; query optimisation; object oriented and object relational databases MultimediaDesign of multimedia systems; underlying technologies; compression; standards for multimedia storage and transmission; advanced multimedia applications Decision analysisDecision making under certainty; risk and uncertainty; utility functions and risk aversion; multi-criteria decisions; multi- attribute utilities; dynamic programming; Markov decision processes Operations researchOptimal decision making processes in design and management; constrained optimisation problems; linear programming and linearinteger programming; game theory Advanced operations researchThe sparse simplex method; interior point algorithms; integer programming (IP); logic constraints and IP; constraint classification; connection to planning and scheduling, branch and bound method, network optimisation. Computing for optimal decisionsQuantitative problems in management decision making; unconstrained and constrained optimal decision formulations; quadratic and general nonlinear programming formulations and algorithms. Knowledge management techniquesData warehousing and online analytical processing (OLAP); decision support systems; data mining; traditional methods of information retrieval; multimedia knowledge management. Network securityAssets, threats and countermeasures; classical cryptography; symmetric key and public key cryptography; digital signatures; PKI; mutual authentication; key management; intruders and programmed threats; firewalls; VPNs; Web and Java security The practice of logic programmingEfficient, structured Prolog programs, Constraint Logic Programming; expert systems; natural language processing Artificial intelligenceReasoning under uncertainty; assumption based reasoning; machine learning RoboticsProgramming small robots; locomotion and sensor systems; reactive behaviour; motion planning Simulation and modellingBasic simulation procedures; model classification; Monte Carlo simulation; discrete-event simulation; queuing networks; process-oriented and parallel simulation ComplexityTuring machines; decidability; machine independence;
time complexity; the classes P and NP; NP-completeness; example
problems from logic and graphs; space complexity classes; the
parallel computation thesis; probabilistic algorithms; cryptography
, zero - knowledge proofs
Performance analysisAnalytical modelling techniques; Markov processes; queuing networks; computation of performance measures; mean value analysis; application to multi-access systems with thrashing; Norton's theorem; M/M/n queue; multiple independent parallel servers GraphicsRaster graphics algorithms; transformation of graphical scenes; shading; texture mapping; ray tracing; morphing; special visual effects Advanced graphics and visualisationVolume rendering; surface reconstruction; spline curves; surface modelling; image-based rendering and lightfields; virtual reality; augmented reality; simulation training in medicine. Computer visionComputer-based recognition and extraction of features from raster images; segmentation; quadtre structures; mean and variance pyramids; Sobel and Laplacian operators; perceptual grouping; relaxation labelling of images; depth measurement; stereo vision; multiple camera systems Custom computingCustom computing design; performance high-level design tools; optimisation; pipelining, serialisation and transposition and their combinations; bit-level designs; data refinement; FPG A-based implementations Multi-agent systemsSoftware agents; multi-threaded logic programming; distributed problem solving and the contract net protocol; Agents with mental state; Agent communication languages - KQML and FIPAACL and matchmakers; mobile agents; security issues; infrastructures Computational logicLogical representation of problems; Herbr and domains; clausal-form logic; unification and general resolution; finite-failure extension and program completion; SLDN F-resolution and its applications . Modal and temporal logicsKripke models, frame axioms versus accessibility conditions, completeness results; temporal logics LTL and CTL in the model checker NuSMV; logics of knowledge and belief; logics of action and duty; dynamic logic Automated reasoningPropositional theorem proving; model generation and Davis Putnam Procedure; resolution for the first order predicate calculus; completeness and soundness; hyper-resolution; locking, connection graphs; the Otter Theorem prover; tableau methods;equational methods; Knuth-Bendix algorithm Program analysisData flow analysis; control flow analysis; abstract interpretation; types and effect systems; program transformations; worklist algorithms, interprocedural analysis Introduction to bioinformaticsBiological background; protein structures; dot-plots; coring schemes; BLAST algorithm; dynamic programming algorithm; structural inferences; PSI-BLAST; HMMs; machine learning approaches; neural networks; drug design; data mining; HT methods; analysis of gene, protein and metabolyte expressions Grid computingService oriented architectures; web services; programming models for Grid environments; Grid infrastructures (Globus, Condor, Condor-G); Open Grid Services Architecture; security issues; resource election and job placement; computational economics models |