School of Computer Science and Software Engineering


General information

The School of Computer Science and Software Engineering covers a wide range of activities, mainly at the technical end of the computing spectrum. It conducts research and teaching in the science of computing, the underlying software and hardware of computing systems and software engineering. The undergraduate degree programs target both applied industry needs and formal computer science. The school maintains modern facilities and hosts a number of leading edge demonstrator projects. It forms the Melbourne node of the CRC for Distributed Systems Technology.

Research

Artificial intelligence and machine learning - Active areas of research in AI include planning (especially planning under uncertainty); modelling with Bayesian networks (static and dynamic); user modelling; speech understanding; natural language generation; argument analysis and generation; cognitive science; philosophy of AI. Active areas of research in machine learning include learning Bayesian and causal networks; minimum message length induction (MML); plan recognition; genetic algorithms and evolutionary computation; neural networks; game theory and market forecasting; algorithmic aspects of inductive inference; probabilistic prediction; data mining; philosophy of induction; pattern recognition.
Communications and digital signal processing - Broad areas include communications systems, communication protocols, networking, and the theory and application of DSP. Current interests include issues of basic communications technology; network design and analysis, switching methods, routing; protocol engineering; network security; public communications policy; processing and compression of video, audio and multimedia signals.
Digital systems hardware and architecture - Of particular interest are the areas of computer architecture, digital systems and hardware, the design of special-purpose digital architectures for solving problems in image processing, combinatorial optimisation, neural networks and fuzzy logic. It encompasses research into general and special purpose computer systems and digital architectures; the design of application specific integrated circuits (ASICs) and field programmable gate arrays (FPGAs) and associated CAD tools; analogue electronics and associated sensors; hardware aspects of robotic devices.
Computing education - This group combines technological research and educational research to further the quality of education in computing disciplines. It covers a wide base of expertise, ranging from computer science and engineering topics on the one hand to educational theory on the other hand. Areas of interest include teaching/learning support tools; teaching methodologies; curriculum development; educational evaluation.
Database systems and information retrieval - Various aspects of conventional (primarily relational), object-oriented, image and multimedia databases are researched. Current projects include conceptual, meta, spatial and temporal modelling and schema evolution, transaction models, distributed and federated and mobile databases, image database representation and retrieval, new models of information retrieval, data mining and visualisation tools.
Distributed systems, parallel and mobile computing This group covers areas of distributed systems, parallel and mobile computing systems. Current research projects and interests include formal models of mobility, power management in mobile systems, efficiency and security in mobile systems; distributed operating systems and distributed architectures such as client/server, DCOM and CORBA; parallel computation and resource management, scheduling, partitioning, load balancing, migration and caching; wireless computer networks; interoperability and internetworking; mobile and distributed agents, web applets and robots, brokers and traders; software tools for distributed, parallel and mobile computing; development, simulation and validation of parallel and distributed systems; concurrency, recovery and fault tolerance.
Graphics and image processing - Research is undertaken across a wide range of areas including computer graphics; image and signal processing; image and video compression; computer and robotic vision; human computer interaction in graphic user interfaces; visualisation; visual programming; virtual reality technology.
Software engineering - The software engineering group views software engineering as an applied experimental discipline. While some research interests touch on theoretical foundations, eg of object-oriented notations and metrics, the group focuses on practical aspects of software artefacts and the methods and tools to systematically construct or manipulate them throughout the software lifecycle. Current research projects include object-oriented software engineering methods and tools; stable software architectures and patterns for distributed component systems; software configuration definition and management; design and project metrics for iterative object-oriented software development; interface specification of concurrent, fault-tolerant and embedded systems; reengineering, restructuring and reuse; formal methods in software quality assurance with a focus on rigorous static analysis, simulation, testing and debugging of objects; computational complexity and performance issues of object-oriented, parallel and distributed software.
Logic and theory - This research is concerned with the formal underpinnings of computing. Interests include logic programming, and its recent extension, constraint logic programming (CLP); visual language theory, that is to say the theory of languages with two dimensional syntax, such as mathematical equations or state transition diagrams; algorithms and computational complexity; optimisation; combinatorial structures used in computing, such as graphs; theory of inductive inference; extracting (correct) programs from mathematical proofs.