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