BSc FT Computer Science with Business Management and Accounting
- Duration:
- 3 Years
Description
This programme covers core computer science modules and essential studies in business management, specifically focusing on financial and management accounting. It develops your critical thinking of business management in relation to economic, political, social and technical environments. The programme gives you in-depth knowledge and practical experience in financial and management accounting techniques. Topics include the preparation of financial statements and accounting techniques, sources of finance, ratio analysis, and legal and economic considerations.
You will study managerial accounting, exploring the finance function and particularly planning and control, cost management, financing and investment decisions.
Modules
Year 1
- Fundamentals of Management
-
Fundamentals of Management
Please see the School of Business Management website for information regarding this module.
Read More - Information System Analysis
-
Information System Analysis
The course locates the design methods and the development of computer systems in the wider context of the use of information technology and its impact upon organisations. The topics covered are:
- What are Information Systems and requirements. Why is analysis needed. Systems theory and types of information systems; their relationship with organisational processes and structures. Stakeholders.
- Requirements analysis and project failures
- Elicitation of Requirements. Techniques for eliciting requirements; user participation. Impact on project success.
- Object-Oriented Analysis Techniques. UML notation, including use cases and class diagrams.
- Overview of the software development processes.
- What are Information Systems and requirements. Why is analysis needed. Systems theory and types of information systems; their relationship with organisational processes and structures. Stakeholders.
- Requirements analysis and project failures
- Elicitation of Requirements. Techniques for eliciting requirements; user participation. Impact on project success.
- Object-Oriented Analysis Techniques. UML notation, including use cases and class diagrams.
- Overview of the software development processes.
- Fundamentals of Web Technology
-
Fundamentals of Web Technology
This is a course designed to offer student practical skills as well as understanding of underlying principles of programming the World Wide Web. There will be two hours of lectures per week, and weekly timetabled lab sessions in the Information Technology Lab (ITL) for each student. Major topics include:
- Internet and Web server basics
- Client-side programming using XHTML, Cascading Style Sheets, and Javascript.
- Server-side programming using PHP
- Practical issues on setting up a website
- Internet and Web server basics
- Client-side programming using XHTML, Cascading Style Sheets, and Javascript.
- Server-side programming using PHP
- Practical issues on setting up a website
- Issues surrounding the technical development of web services
- The ability to undertake basic programming using a range of common web languages
- The programming concept of a markup language
- The programming concept of a scripting language
- The programming concept of event-driven computation
- Object-Oriented Programming
-
Object-Oriented Programming
There will be two hours of lectures per week, and each student will have a weekly timetabled lab session in the Information Technology Lab (ITL). In addition, students will be expected to spend further time outside scheduled lab periods in the lab (or at home machines if they are available), and to read textbooks and review notes.
Major topics include the concepts of class, object, method, subclass, inheritance and their use in programming. The relevance of the object oriented style with respect to concrete software problems will be stressed both in lectures and labs.
Read More - identify the relevant classes and subclasses for the solution.
- write the methods reflecting the requested behaviour of the system.
- test and debug the program.
- Computer Systems and Networks
-
Computer Systems and Networks
The course presents the concepts needed to understand typical computers at the level of their 'machine-code' instruction set, and to understand the basic concepts of computer networks.
The material covered includes
- the major components of a computer, including CPU, memory, I/O and buses and the role of bandwidth, latency and power dissipation in determining the relationship between them.
- the use of bits, bytes and data formats to represent numbers, text and programs
- boolean algebra and logic gates
- CPU structure and function: the conventional (von Neumann) computer architecture
- data types, addressing modes and instruction sets
- machine-level program structure and its correspondence to higher-level programs
- the role of wired and wireless networks in modern computer systems
- a basic understanding of typical network technologies, e.g. ethernet, wifi
- the role of protocols such as ethernet in the implementation and use of network technology
- the major components of a computer, including CPU, memory, I/O and buses and the role of bandwidth, latency and power dissipation in determining the relationship between them.
- the use of bits, bytes and data formats to represent numbers, text and programs
- boolean algebra and logic gates
- CPU structure and function: the conventional (von Neumann) computer architecture
- data types, addressing modes and instruction sets
- machine-level program structure and its correspondence to higher-level programs
- the role of wired and wireless networks in modern computer systems
- a basic understanding of typical network technologies, e.g. ethernet, wifi
- the role of protocols such as ethernet in the implementation and use of network technology
- Understand the function and interaction of the principal components of the computer: CPU, buses, memory and I/O modules.
- Understand the various number representations used in typical modern computers.
- Use the laws of Boolean algebra to build and simplify simple combinational logic circuits.
- Convert between some high-level program fragments and assembly-language equivalents, explain this correspondence to others.
- Understand the von Neumann computer architecture and the CPU fetch and execute cycle.
- Understand how network communication between computers is implemented
- Understand the output of programs like tcpdump and be able to use it to explain and investigate network phenomena
- Professional and Research Themes
- Procedural Programming
-
Procedural Programming
This is a laboratory-based course supported by lectures. Each student will have a weekly timetabled lab session. These sessions will be backed up by a weekly two-hour lecture.
Topics include the use of:
- basic control structures
- arrays and other datatypes
- methods and recursion
- simple search and sort algorithms
- basic control structures
- arrays and other datatypes
- methods and recursion
- simple search and sort algorithms
- Economics for Business
-
Economics for Business
Please see the School of Business Management website for information regarding this module.
Read More
Fundamentals of Management
Summary:Please see the School of Business Management website for information regarding this module.
Information System Analysis
Summary:The course locates the design methods and the development of computer systems in the wider context of the use of information technology and its impact upon organisations. The topics covered are:
Credits:
15.0
Pre-requisites:
None
Aims:
The course aims are to provide successful students with a foundational understanding of the problem of establishing requirements for information systems and with basic skills in applying Object Oriented System Analysis techniques through practical work with (small-scale) examples.
Fundamentals of Web Technology
Summary:This is a course designed to offer student practical skills as well as understanding of underlying principles of programming the World Wide Web. There will be two hours of lectures per week, and weekly timetabled lab sessions in the Information Technology Lab (ITL) for each student. Major topics include:
Credits:
15.0
Pre-requisites:
The students need to have taken a course on procedural programming.
Aims:
The aim of this course is to provide students with a basic understanding of the operation of the World Wide Web and teach students practical skills for programming the Web. In the course of doing so they will gain hands-on experience with the use of web programming languages and technologies. They will also develop an understanding of the important programming concepts such as a markup language for text layout design, and a scripting language.
Objectives:
At the end of this course students will have an understanding of:
Core Skills:
This course will help students develop a range of skills including analytic problem solving through exercises and coursework, communication skills through coursework and report writing, and team-working skills through discussing with TAs and other students.
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Object-Oriented Programming
Summary:There will be two hours of lectures per week, and each student will have a weekly timetabled lab session in the Information Technology Lab (ITL). In addition, students will be expected to spend further time outside scheduled lab periods in the lab (or at home machines if they are available), and to read textbooks and review notes.
Major topics include the concepts of class, object, method, subclass, inheritance and their use in programming. The relevance of the object oriented style with respect to concrete software problems will be stressed both in lectures and labs.
Credits:
15.0
Pre-requisites:
Procedural programming or an equivalent course.
Aims:
The course aims to improve the programming skills of students and to develop fundamental skills in reading, writing, describing, structuring and reasoning about programs. In particular, the course aims to develop these skills at the level of mid-level structure as seen in the object oriented style of programming.
Objectives:
At the end of the course the student should be able to use most of the object oriented concepts when writing programs. Given a description of a problem in English, the student should be able to:
Core Skills:
Ability to write basic programs using classes, inheritance, polymorphism, exceptions. Ability to read, understand and edit java code. Ability to design and implement code starting from a specification.
Books:
K.N.King: Java Programming From the Beginning. W. W. Norton 2000, 788 pages.
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Computer Systems and Networks
Summary:The course presents the concepts needed to understand typical computers at the level of their 'machine-code' instruction set, and to understand the basic concepts of computer networks.
The material covered includes
Credits:
15.0
Pre-requisites:
None
Aims:
The aim of this course is to provide students with a basic understanding of how a computer works, how programs are executed by the CPU at the machine level, and how computer networks function. They will gain this firstly by studying the major components of a computer, the interaction between them, and how computers communicate over networks. Secondly, they will learn how to use logic gates -- the computer's building blocks -- and put them together to build simple arithmetic and logic functions. Thirdly, students will learn some assembly language and understand how high-level programming concepts are related to their machine language implementation. Finally, they will learn how computer networks function, and will understand how low-level network traffic implements communication between computers.
Objectives:
Core Skills:
This course will help students develop a range of skills such as
Books:
David A. Patterson & John L. Hennessy, Computer Organisation and Design (Morgan Kaufmann 2012),
Procedural Programming
Summary:This is a laboratory-based course supported by lectures. Each student will have a weekly timetabled lab session. These sessions will be backed up by a weekly two-hour lecture.
Topics include the use of:
Credits:
15.0
Pre-requisites:
- None - .
Aims:
The major aim of this course is to teach you how to write simple programs fluently and correctly. In the course of doing this you will also learn to read and understand programs, and some basic use of an operating system. The course is given using Java under Linux, but the skills you will learn are intended to be transferable.
Objectives:
By the end of the module you will be able to: - write code at a procedural level fluently and accurately, - explain the functioning of your code to others and document it suitably, - read similar code written by others, understand it, track down errors, and make modifications. - explain technical programming concepts and discuss issues related to them.
Core Skills:
By the end of the module you will be able to: - solve problems by thinking algorithmically, - recognize when an algorithmic solution can be used to solve a range of problems - recognize the underlying logic within problems and solutions, - explain programming concepts, - compare and contrast related technical concepts - discuss issues: arguing a case based on evidence for both sides of the argument then drawing evidence-based conclusions. Programming develops a range of skills such as logical thinking and problem solving. The course also focuses on technical writing skills. These transferable skills are developed in the context of programming.
Economics for Business
Summary:Please see the School of Business Management website for information regarding this module.
Year 2
- Marketing
-
Marketing
Please see the School of Business Management website for information regarding this module.
Read More - Mangerial Accounting
-
Mangerial Accounting
Please see the School of Business Management website for information regarding this module.
Read More - Probability And Matrices
-
Probability And Matrices
This module covers
- Probability theory
- Counting permutations and combinations
- Conditional probabilities
- Bayesian probability
- Random variables and probability models
- Vector and matrix algebra
- Linear equations
- Vector spaces
- Linear combinations, linear independence
- Probability theory
- Counting permutations and combinations
- Conditional probabilities
- Bayesian probability
- Random variables and probability models
- Vector and matrix algebra
- Linear equations
- Vector spaces
- Linear combinations, linear independence
- introduce mathematical topics that are relevant to computer applications, including probability and basic linear algebra
- increase the students’ capability to think abstractly and rigorously.
- Be able to formalise and solve simple problems in probability.
- Be able to manipulate matrices and understand the representation of linear transformations using matrices.
- Appreciate the range of computing applications in which probability and matrix theory are used.
- Critical Thinking
- Problem Solving
- Schaum's Outlines: Probability (2nd edition), Lipschutz & Lipson
- Schaum's Outlines: Linear Algebra (3rd edition), Lipschutz & Lipson
- Database Systems
-
Database Systems
Introduction to databases and their language systems in theory and practice.The main topics covered by the course are:
- The principles and components of database management systems.
- The main modelling techniques used in the construction of database systems.
- Implementation of databases using an object-relational database management system.
- SQL, the main relational database language.
- Object-Oriented database systems.
- Future trends, in particular information retrieval and data warehouses.
There are 2 timetabled lectures a week, and 1 hour tutorial per week (though not every week). There will be timetabled laboratory sessions (2 hours a week) for approximately 10 weeks.
Read More - The principles and components of database management systems.
- The main modelling techniques used in the construction of database systems.
- Implementation of databases using an object-relational database management system.
- SQL, the main relational database language.
- Object-Oriented database systems.
- Future trends, in particular information retrieval and data warehouses.
- To give an understanding of the purpose, features and facilities of database management systems.
- To give an understanding of the various database models, and their interrelationships.
- To give an understanding of, and practical experience of using, the relational database language SQL.
- Describe the facilities and features of database management systems.
- Construct database models from informal descriptions, and translate between such models.
- Implement, manipulate and query relational databases.
- Be aware of advanced database technologies.
- Describe relevant professional issues, including the role of the system administrator in DBMS use and management.
- Team working
- Written and oral communication
- Time management
- Problem solving
- Awareness of professional issues
- Software Engineering
-
Software Engineering
Software Engineering is concerned with applying engineering principles to the production of software. In the first semester this module provides the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. The practical part of the semester 1 consists of lab assignments in which students use a range of relevant tools (a Java programming IDE, unit testing tool, configuration management tool, UML design tool, and project planning tool). In Semester 2 students (in pre-assigned groups of approximately six) will be presented with a significant software problem to solve. To meet the problem requirements and build a satisfactory system within the time constraints the students will have to apply the principles learnt in semester 1 and will have to work effectively as a team. Each team must choose a project manager and assign appropriate roles to each member. Course details, lecture slides and extensive supporting documentation are provided on the courseware page. .
Read More - Acquire technical knowledge: Understand difference between programming in the small and software system construction; Understand and use object oriented design techniques and software quality assurance methods; Produce a range of documentation necessary for software systems. Understand how to deliver systems incrementally;
- Acquire practical & managerial knowledgee: Work in a team environment to produce a high quality software system within budget & time while dealing with complexity and change; Understand the principles of risk management in software engineering and relevant ethical, professional and legal issues;
- Acquire highly marketable skills: become proficient in UML - the most widely used method for object oriented system design (and a case tool to support it); be able to build 'real- world' Java programs using a widely used programming environment;
- a range of interpersonal and communication skills through the work on the group project.
- a range of report writing skills, ranging from improving their technical report writing through to how to write up minutes of meetings
- project management, time management and planning, as well as legal, social and ethical and professional issues
- a range of problem solving skills
- how to arrange and conduct meetings
- a range of software documentation skills
- making presentations
- general office management IT skills (spreadsheets, word processing, presentation pacakges)
- object oriented programming
- Internet Protocols
-
Internet Protocols
This course examines the TCP/IP protocol suite from OSI layers 1 through to 4. Particular emphasis is placed on CSMA/CD LAN operation, Internet Protocol including Addressing, Routing and Subnetting and Transmission Control Protocol.
Read More - Graphical User Interfaces
-
Graphical User Interfaces
Computers are tools that people interact with and through for work and pleasure. Nowadays computers are ubiquitous and are fundamental to all sorts of devices such as washing machines, cars, mobile phones, airplanes, televisions, and musical instruments. However, it is still very difficult to design user interfaces which are simple, intuitive, and easy to use you only have to look at the number of help books (e.g. the proliferation of books with titles such as 'the idiots guide to ') and courses to realise that designers often simply fail to make interfaces usable.
This course introduces you to basic concepts of psychology and communication which inform the way in which interfaces should be designed.
The course comprises lectures, problem classes, and lab sessions.
Lectures
The lectures teach you the basics of:
- Cognitive psychology principles relevant to the design of GUIs
- A framework of GUI design guidelines which you can use to inform and evaluate GUI design
- An introduction to techniques for analysing artefacts and situations to inform the design of suitable GUIs
- An iterative design process
- Evaluation techniques with users, heuristics, and models
- Interaction beyond the visual modality
The lectures are also used to outline coursework to be completed in the lab sessions, and to provide feedback and discussion opportunities about the coursework as it evolves.
Problem classes
Problem classes provide you with a chance to develop your Java skills in order to develop the complex interactivity required in the coursework.
Lab sessions
The lab sessions are a time for you to complete programming exercises set in the early part of the course, and coursework as the course progresses. Lab sessions are compulsory as they are used to assess your progress and to identify problems that you are having. Interesting ideas, and pertinent problems will be discussed in the following lecture.
Exercises
You will undertake exercises individually to help develop your Java Swing capabilities for the first third of the course.
Coursework
The majority of the lab time is for the coursework which is itself strongly linked to the lecture material. You will work in small teams to complete coursework which is composed of three parts:
- Design iterative design of a GUI to support the key requirement(s) you identified in the requirements capture stage.
- Implementation of interactive prototype.
- Evaluation you will evaluate your own prototype and another groups prototype using methods taught in the lecture.
- Cognitive psychology principles relevant to the design of GUIs
- A framework of GUI design guidelines which you can use to inform and evaluate GUI design
- An introduction to techniques for analysing artefacts and situations to inform the design of suitable GUIs
- An iterative design process
- Evaluation techniques with users, heuristics, and models
- Interaction beyond the visual modality
- Design iterative design of a GUI to support the key requirement(s) you identified in the requirements capture stage.
- Implementation of interactive prototype.
- Evaluation you will evaluate your own prototype and another groups prototype using methods taught in the lecture.
- be able to construct GUIs
- understand basic principles of psychology and communication which inform the design of GUIs
- understand how to analyse activities and situations to inform the design of suitable GUIs
- understand, and have experienced, an iterative design process
- be able to evaluate your own and other peoples GUI designs
- be able to reflect upon different design and techniques and to critique their applicability
- Preece, J., Rogers, Y. and Sharp, H. Interaction Design. John Wiley and Sons (2001)
- Benyon, D., Turner, P., and Turner, S. Designing Interactive Systems. Addison-Wesley (2004) [note that this is also useful for the Interaction Design course]
- Raskin, J. The Humane Interface. Addison-Wesley (2000)
- H. Thimblebly, User Interface Design, ACM Press (1990)
- Operating Systems
-
Operating Systems
This course builds upon the Programming Fundamentals and Telecoms and Internet Fundamentals courses, introducing the students to the major internet applications. It focuses on the TCP/IP protocol suite from OSI layers 5 through to 7, though some appreciation is given to transport layer protocols as part of the socket-programming topic.
Read More
Marketing
Summary:Please see the School of Business Management website for information regarding this module.
Mangerial Accounting
Summary:Please see the School of Business Management website for information regarding this module.
Probability And Matrices
Summary:This module covers
Credits:
15.0
Pre-requisites:
None
Aims:
This course unit aims to
Objectives:
The principal objectives of this module are:
Core Skills:
Books:
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Database Systems
Summary:Introduction to databases and their language systems in theory and practice.The main topics covered by the course are:
There are 2 timetabled lectures a week, and 1 hour tutorial per week (though not every week). There will be timetabled laboratory sessions (2 hours a week) for approximately 10 weeks.
Credits:
15.0
Pre-requisites:
No formal prerequisites, but some experience of programming language(s), and an awareness of some aspects of operating systems and systems design.
Aims:
Objectives:
At the end of this course the student should be able to:
Core Skills:
Books:
Database systems, Elmasri and Navathe, 6th Edition,Addison-Wesley.
Database Systems, 5th or 4th ed, Thomas Connolly and Carolyn Begg, Addison Wesley.
On-line manuals for the relational database management system used for the practicals.
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Software Engineering
Summary:Software Engineering is concerned with applying engineering principles to the production of software. In the first semester this module provides the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. The practical part of the semester 1 consists of lab assignments in which students use a range of relevant tools (a Java programming IDE, unit testing tool, configuration management tool, UML design tool, and project planning tool). In Semester 2 students (in pre-assigned groups of approximately six) will be presented with a significant software problem to solve. To meet the problem requirements and build a satisfactory system within the time constraints the students will have to apply the principles learnt in semester 1 and will have to work effectively as a team. Each team must choose a project manager and assign appropriate roles to each member. Course details, lecture slides and extensive supporting documentation are provided on the courseware page. .
Credits:
30.0
Pre-requisites:
Students need to have passed the first year programming modules It is also assumed that students will either have completed Systems Analysis or will be doing it concurrently.
Aims:
To ensure students have the necessary understanding of the principles and tools needed to build and test large-scale software systems. To ensure students are able to work in a team environment to build robust, maintainable software systems
Objectives:
Core Skills:
Students will learn:
Internet Protocols
Summary:This course examines the TCP/IP protocol suite from OSI layers 1 through to 4. Particular emphasis is placed on CSMA/CD LAN operation, Internet Protocol including Addressing, Routing and Subnetting and Transmission Control Protocol.
Credits:
15.0
Pre-requisites:
ELE103
Aims:
The aim is to provide an in-depth knowledge of contemporary and widely-deployed Internet Protocols, providing the student with an insight into their functionality and inter-relationship. The material is sufficient to enable the student to design basic intranet and internet architectures, including both bridged and routed networks. Consideration is also given to different transport layer protocols to provide features not inherently present in the underlying network.
Objectives:
Explain the protocols that provide the Internet infrastructure, their role, how they operate and a number of implementation details. Design simple network architectures. Perform basic configuration and fault diagnosis in an Interior Gateway Routed environment using IOS-like scripts and utilities such as TCPDump, Ping and TraceRoute.
Books:
Internetworking with TCP/IP Vol 1: Principles, Protocols and Architecture by D. Comer; 5th Edition; Prentice Hall 2006; ISBN 0131876716
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Graphical User Interfaces
Summary:Computers are tools that people interact with and through for work and pleasure. Nowadays computers are ubiquitous and are fundamental to all sorts of devices such as washing machines, cars, mobile phones, airplanes, televisions, and musical instruments. However, it is still very difficult to design user interfaces which are simple, intuitive, and easy to use you only have to look at the number of help books (e.g. the proliferation of books with titles such as 'the idiots guide to ') and courses to realise that designers often simply fail to make interfaces usable.
This course introduces you to basic concepts of psychology and communication which inform the way in which interfaces should be designed.
The course comprises lectures, problem classes, and lab sessions.
Lectures
The lectures teach you the basics of:
The lectures are also used to outline coursework to be completed in the lab sessions, and to provide feedback and discussion opportunities about the coursework as it evolves.
Problem classes
Problem classes provide you with a chance to develop your Java skills in order to develop the complex interactivity required in the coursework.
Lab sessions
The lab sessions are a time for you to complete programming exercises set in the early part of the course, and coursework as the course progresses. Lab sessions are compulsory as they are used to assess your progress and to identify problems that you are having. Interesting ideas, and pertinent problems will be discussed in the following lecture.
Exercises
You will undertake exercises individually to help develop your Java Swing capabilities for the first third of the course.
Coursework
The majority of the lab time is for the coursework which is itself strongly linked to the lecture material. You will work in small teams to complete coursework which is composed of three parts:
Credits:
15.0
Pre-requisites:
A good working knowledge of Java.
Good written skills would be useful.
Aims:
The course aims to teach the basics of designing graphic user interfaces and to provide some understanding of what makes interfaces appropriate for their intended use and audience.
Through self-directed learning students will learn techniques for the construction of graphic user interfaces.
Objectives:
At the end of the course you should:
Core Skills:
Communication skills
1 Communicate effectively in writing in a style appropriate to the situation(may include visual/graphic media where appropriate)
Examination, exercises, design studio and coursework test such skills.
2 Close read and synthesise information from extended documents including abstract ideas/ arguments to extract lines of reasoning
The recommended course reading list provides the material to develop these skills.
3 Understand, interpret and use specialist vocabulary
An understanding of the basic principles of psychology and communication which inform the design of GUIs is acquired.
4 Make an oral presentation
Groups evaluate and defend their own and evaluate another group's prototype in studio practice.
Working with others
5 Establish and maintain co-operative working relationships and agree ways to overcome difficulties
Courseworks are done in small teams and facilitates the development of these skills.
6 Plan and agree group objectives , responsibilities and working arrangements
Courseworks enable students to develop and practice the above skills.
7 Interact effectively and create opportunities for others to contribute to discussions; exchange information and ideas and modify responses
Courseworks enable students to develop and practice the above skills. Groups have to evaluate another group's prototype. Lectures provide feedback and discussion opportunities.
8 Review work with others , including factors that influence the outcome.
Courseworks enable students to develop and practice the above skills. Groups have to evaluate their own prototype.
Problem Solving
9 Explore the problem, identifying key areas and compare and choose the appropriate tools/ methods for its resolution (and be able to justify that choice)
Lab sessions are an important means for problem exploration and resolution and are used to monitor progress.
10 Plan and implement methods, review progress and revise as necessary
Individual exercises help develop programming capabilities, group coursework have progress monitored as milestones of development.
11 Apply agreed methods to check the problem has been resolved
Evaluation of own and peer prototypes using evaluation methods taught in lectures consolidates such skills.
Numeracy
12 Select and use numerical information and methods appropriate to the discipline
Courseworks require students to select between programme options design
13 Carry out multi-stage calculations, including those of a large data set
The iterative design process will test such a skill.
14 Explain and justify the choice of methods and the results of calculations
Justification of design choices are part of the assessment process
The use of information technology
15 Search and select appropriate information from a range of sources based on judgements of relevance and quality
Courseworks enable students to develop and practice the such skills in a group setting, with feedback from peers and assessors.
16 Use a software package to manage references
Not applicable
17 Use a range of methods to explore, develop and exchange information
Courseworks enable students to develop and practice such skills in a group setting.
Learning how to learn, (improving own learning and performance.)
18 Develop appropriate research strategies & take responsibility for learning with minimum direction
Identification of user requirements and iterative design of a GUI enhance such skills. Understand how to analyse activities and situations to inform the design of suitable GUIs.
19 Manage learning using available resources
Online and library resources are used to support this courses learning infrastructure.
20 Evaluate strengths and weaknesses, challenge received opinion and develop own criteria and judgement
Evaluation of own and peer prototypes using methods taught in lectures consolidates such skills which are evaluated in presentations.
Personal & professional development
21 Collect, record and analyse data relating to potential occupational areas
Professional context and importance of good GUI is stressed
22 Reflect on and record development of own career ideas
Not applicable
Books:
Good books to read in conjunction with this course are:
Other relevant books are:
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Operating Systems
Summary:This course builds upon the Programming Fundamentals and Telecoms and Internet Fundamentals courses, introducing the students to the major internet applications. It focuses on the TCP/IP protocol suite from OSI layers 5 through to 7, though some appreciation is given to transport layer protocols as part of the socket-programming topic.
Credits:
15.0
Pre-requisites:
ELE103, ELE161
Aims:
The course aims to provide an in-depth knowledge of contemporary and widely-deployed Internet Applications, providing the student with an insight into their functionality and inter-relationship. This includes DNS, SNMP and traditional non-real-time data delivery services such as e-mail, file transfer protocol and telnet. In addition, new real-time and low access latency services including voice over IP, multimedia transport and multimedia retrieval technologies are addressed. The Internet Applications course is complementary to the Internet Protocols course as it is examining OSI layers 5-7, whilst the latter considers layers 1-4.
Objectives:
Explain the primary applications that are operating over the Internet infrastructure, their role and implementation. Describe the operation of these protocols. Explain the demands they place on the underlying infrastructure. Design simple internet applications using the socket construct.
Books:
Internetworking with TCP/IP Vol 1: Principles, Protocols and Architecture by D. Comer; 5th Edition; Prentice Hall 2006; ISBN 0131876716
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Year 3
- Communication Systems Electronics
-
Communication Systems Electronics
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Advanced Database Systems and Technology
-
Advanced Database Systems and Technology
Active Databases, database performance tuning and query optimisation, database administration and data dictionary, Databases for XML and XML query languages: DTD, model, native database, XPath, XQuery, mapping to object-relational DBMS; Data mining: the exploration of large quantities of data for the discovery of meaningful rules and knowledge; Distributed database architectures: client-server, distributed, federated; temporal-spatial and moving objects databases.
Read More - Artificial Intelligence
-
Artificial Intelligence
The course covers techniques used in Artificial Intelligence including agent modelling, problem formulation, search, logic, probability and machine learning.
Read More - Understanding of agent modelling;
- Understanding and practical experience of problem formulation;
- Understanding and practical experience of search-based problem solving;
- Understanding and practical experience of machine learning.
- Correctly formulate a problem for solution by an appropriate AI agent;
- Select and apply search techniques appropriate to a problem and its formulation;
- Explain how to perform automated classification of data;
- Explain the structure of a perceptron network, how to train it on data, and how to use it to predict data.
- Industrial and Professional Perspectives
-
Industrial and Professional Perspectives
This module is intended to equip students with a better understanding of the industrial and professional context of their subject area, to enable them to see more clearly the relevance of their studies, and to inspire them to become more proactive partners in both their studies and their subsequent career. It includes significant input from external industrialists and structured, themed opportunities for students to meet with them, as well as an integrating thread of academic content.
Read More - Financial Management
-
Financial Management
Please see the School of Business Management website for information regarding this module.
Read More - C++ For Image Processing
-
C++ For Image Processing
This course gives students a practical introduction to C++ and uses this programming language to examine applications in low level image processing. Areas covered include image representation examining perception, sampling and display, and image transforms and image enhancement using point and spatial operations. Also considered are image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.
Read More - Software Risk Assessment
-
Software Risk Assessment
The role of software is increasingly critical in our everyday lives and the accompanying risks of business or safety critical systems failure can be profound. This course will provide students with a framework for articulating and managing the risks inherent in the systems they will develop as practitioners. Likewise, students will learn how to build decision support tools for uncertain problems in a variety of contexts (legal, medical, safety), but with a special emphasis on software development. This course will make a distinctive offering that will enable our students to bring a principled approach to bear to analyse and solve uncertain and risky problems. Course contents: Quantification of risk and assessment: Bayesian Probability & Utility Theory, Bayes Theorem & Bayesian updating; Causal modelling using Bayesian networks with examples; Measurement for risk: Principles of measurement, Software metrics, Introduction to multi-criteria decision aids; Principles of risk management: The risk life-cycle, Fault trees, Hazard analysis; Building causal models in practice: Patterns, identification, model reuse and composition, Eliciting and building probability tables; Real world examples; Decision support environments.
Read More - Ability to quantify and reason about risk
- Ability to use in depth decision support tools
- Ability to analyse and design probabilistic risk models for a wide range of application areas
- Specific focus on software engineering risk
- Ability to reason about and control software engineering risk
- Quantify and reason about risk
- Ability to use in depth decision support tools
- Interaction Design
-
Interaction Design
Traditionally, interactive systems design has focussed on enhancing people's efficiency or productivity. For example, to increase the speed with which tasks can be completed or to minimise the number of errors people make. Economic and social changes have led to a situation in which the primary use of many technologies is for social interaction and fun; i.e. in which there is no quantifiable output and no clear goal other than enjoyment. Computer games, mobile music players and online communities are all examples where the quality of the experience is the primary aim of the interaction.
This course explores the challenges these new technologies, and the industries they have created, present for the design and evaluation of interactive systems. It moves away from a human-computer interaction model which is too constrained for real world problems and provides students with an opportunity to engage with theories relating to cultural dynamics, social activity, and live performance. It explores the nature of engagement with interactive systems and between people when mediated by interactive systems.
Read More - establish the importance of social context, aesthetics and experience for interaction design
- analyse the impact of technology on human relationships and social organisation
- identify novel uses of technology to aid interaction, creativity, performance and engagement.
- provide analytic perspectives, tools and techniques that support design for user experience.
- provide experience of programming for interactional data
- To explain the contrast between conventional HCI and interaction design.
- To compare Ethnomethodology, Activity Theory and Distributed Cognition as approaches to the analysis of social context
- To provide a basic grounding in the phenomenological analysis of user experience
- To introduce concepts and models for human social interaction
- To introduce performance methods, concepts and techniques as an approach to design
- To build and exhibit an interesting interactive artifact
- Computer Graphics
-
Computer Graphics
This course is concerned primarily with computer graphics systems and in particular 3D computer graphics. The course will include revision of fundamental raster algorithms such as polygon filling and quickly move onto the specification, modeling and rendering of 3D scenes. In particular the following topics may be covered: viewing in 2D,data structures for the representation of 3D polyhedra, viewing in 3D, visibility and hidden surface algorithms, illumination computations. Some attention will be paid to human perception of colour and interactive 3D such as virtual reality.
Read More - High Performance Computing
-
High Performance Computing
The 12 week module involves 2 hours of timetabled lectures per week. Laboratory sessions are timetabled at 2 hours per week, normally spanning half the semester only. The course syllabus adopts a hands-on programming stance. In addition it focuses on algorithms and architectures to familiarise students with message-passing systems (MPI) as adopted by industry.
Parallel computing, which implies the simultaneous execution of several processes for solving a single problem, is a mainstream subject with wide ranging implications for computer architecture, algorithms design and programming. The UK has been at the forefront of this technology through its involvement in the development of several innovtive architectures. Queen Mary has been actively involved with Parallel Computing for more than a decade. In this course, students will be introduced to parallel computing and will gain first hand experience in relevant techniques.
Laboratory work will be based on the MPI (Message Passing Interfaces) standard, running on a network of PCs in the teaching laboratory.
The syllabus mirrors the recommended text book very closely. Other text-books are also listed below as sources of additional reading.
The course should be of interest to Computer Scientists and those following joint programmes (e.g. CS/Maths, CS/Stats). It is also suitable for Chemistry and Engineering students and all those who are concerned with the application of high performance parallel computing for their particular field of study e.g. Simulation of chemical Behaviour.
Read More - Introduction to parallel computers,
- Introduction to message-passing systems,
- Introduction to parallel programming strategies,
- Methods for load balancing,
- Issues surrounding shared memory programming,
- An examination of parallel processing for numerical (e.g. parallel sorting) and image processing.
- Project
-
Project
Read More - The Management of Human Resources
-
The Management of Human Resources
Please see the School of Business Management website for information regarding this module.
Read More - Microwave and Optical Transmission
-
Microwave and Optical Transmission
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More
Communication Systems Electronics
Summary:New module under development for 2012/13. Information pertaining to this module will appear once approved.
Credits:
15.0
Aims:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Objectives:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Core Skills:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Extra Costs:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Advanced Database Systems and Technology
Summary:Active Databases, database performance tuning and query optimisation, database administration and data dictionary, Databases for XML and XML query languages: DTD, model, native database, XPath, XQuery, mapping to object-relational DBMS; Data mining: the exploration of large quantities of data for the discovery of meaningful rules and knowledge; Distributed database architectures: client-server, distributed, federated; temporal-spatial and moving objects databases.
Credits:
15.0
Pre-requisites:
DCS225 Database Systems (or equivalent module): NB Students who have already taken and passed DCS317 at undergraduate level 3 may not take this masters version.
Aims:
To provide students with a critical understanding of the models, architectures and language approaches underpinning recent advances in database technology.
To enable students to carry out critical comparisons between different development and implementation approaches.
To illustrate the application of extended database technology across a range of interesting and complex applications.
Objectives:
To be able to describe approaches to the storage and access of text and semi-structured data
To describe different architectures for the provision of distributed and mobile database technology
To discuss and apply techniques for tuning the performance of database schemas and queries To compare different approaches to data mining. To discuss concepts in the design of temporal, spatial and moving objects databases.
Critically evaluate the appropriateness of different approaches to database management problems in the areas outlined above.
Core Skills:
Group working, written communication, literature research, analytical problem solving.
Artificial Intelligence
Summary:The course covers techniques used in Artificial Intelligence including agent modelling, problem formulation, search, logic, probability and machine learning.
Credits:
15.0
Aims:
This module aims to supply the following knowledge and skills:
Objectives:
Books:
Russell & Norvig: Artificial Intelligence: A modern Approach (any edition)
Industrial and Professional Perspectives
Summary:This module is intended to equip students with a better understanding of the industrial and professional context of their subject area, to enable them to see more clearly the relevance of their studies, and to inspire them to become more proactive partners in both their studies and their subsequent career. It includes significant input from external industrialists and structured, themed opportunities for students to meet with them, as well as an integrating thread of academic content.
Credits:
15.0
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Financial Management
Summary:Please see the School of Business Management website for information regarding this module.
C++ For Image Processing
Summary:This course gives students a practical introduction to C++ and uses this programming language to examine applications in low level image processing. Areas covered include image representation examining perception, sampling and display, and image transforms and image enhancement using point and spatial operations. Also considered are image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.
Credits:
15.0
Pre-requisites:
DCS100, DCS104
Aims:
The main purpose of this course is to provide an introduction to basic concepts and methodologies for digital image processing.
Objectives:
Be able to use the C++ programming language Be able to implement low level image processing algorithms. Understand image file formats Implement contrast enhancement by histogram manipulation Know frequency domain transform methods Use filtering algorithms for image smoothing and sharpening
Core Skills:
This course will help students develop a range of skills such as problem solving through exercises and courseworks of increasing difficulty, written and oral communication skills and will improve their skills in working with others fostered through justification of their own approaches and choices in discussions with teaching assistants and other fellow students.
Books:
Text books: Digital Image Processing (2nd Edition), by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758. C++: The Complete Reference, (4th Edition), by Herbert Schildt, 1056 pages, McGraw-Hill Osborne Media, 2002, ISBN: 0072226803. Reading: Digital Image Processing using MATLAB, by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758. Simplified Approach to Image Processing, A: Classical and Modern Techniques in C, by Randy Crane, (Hewlett-Packard Professional Books), 336 pages, Prentice Hall, 1996, ISBN: 0-13-226416-1 Fundamentals of Digital Image Processing, by Anil K. Jain, 592 pages, Prentice Hall, 1988, ISBN: 0133361659. Algorithms for Image Processing and Computer Vision, by J. R. Parker, 432 pages(with CD-ROM), John Wiley & Sons, 1996, ISBN: 0471140562.
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Software Risk Assessment
Summary:The role of software is increasingly critical in our everyday lives and the accompanying risks of business or safety critical systems failure can be profound. This course will provide students with a framework for articulating and managing the risks inherent in the systems they will develop as practitioners. Likewise, students will learn how to build decision support tools for uncertain problems in a variety of contexts (legal, medical, safety), but with a special emphasis on software development. This course will make a distinctive offering that will enable our students to bring a principled approach to bear to analyse and solve uncertain and risky problems. Course contents: Quantification of risk and assessment: Bayesian Probability & Utility Theory, Bayes Theorem & Bayesian updating; Causal modelling using Bayesian networks with examples; Measurement for risk: Principles of measurement, Software metrics, Introduction to multi-criteria decision aids; Principles of risk management: The risk life-cycle, Fault trees, Hazard analysis; Building causal models in practice: Patterns, identification, model reuse and composition, Eliciting and building probability tables; Real world examples; Decision support environments.
Credits:
15.0
Pre-requisites:
Students need to have passed: DCS/235 Software Engineering, or equivalent, and some exposure to introductory statistics (E.g. A level)
Aims:
The role of software is increasingly critical in our everyday lives and the accompanying risks of business or safety critical systems failure can be profound. This course will provide students with a framework for articulating and managing the risks inherent in the systems they will develop as practitioners. Likewise, students will learn how to build decision support tools for uncertain problems in a variety of contexts (legal, medical, safety), but with a special emphasis on software development. This course will make a distinctive offering that will enable our students to bring a principled approach to bear to analyse and solve uncertain and risky problems.
Objectives:
Core Skills:
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Interaction Design
Summary:Traditionally, interactive systems design has focussed on enhancing people's efficiency or productivity. For example, to increase the speed with which tasks can be completed or to minimise the number of errors people make. Economic and social changes have led to a situation in which the primary use of many technologies is for social interaction and fun; i.e. in which there is no quantifiable output and no clear goal other than enjoyment. Computer games, mobile music players and online communities are all examples where the quality of the experience is the primary aim of the interaction.
This course explores the challenges these new technologies, and the industries they have created, present for the design and evaluation of interactive systems. It moves away from a human-computer interaction model which is too constrained for real world problems and provides students with an opportunity to engage with theories relating to cultural dynamics, social activity, and live performance. It explores the nature of engagement with interactive systems and between people when mediated by interactive systems.
Credits:
15.0
Pre-requisites:
GUI or Interactive System Design or by arrangement with course leader.
Good java/general programming skills.
Aims:
This course aims to:
Objectives:
Core Skills:
Communication skills
1 Communicate effectively in writing in a style appropriate to the situation (may include visual/graphic media where appropriate)
Examination, exercises, and coursework test such skills.
2 Close read and synthesise information from extended documents including abstract ideas/ arguments to extract lines of reasoning
The recommended course reading list provides the material to develop these skills.
3 Understand, interpret and use specialist vocabulary
An understanding of the basic principles of psychology, sociology, and ethnomethodology is acquired.
4 Make an oral presentation
There is scope for students to present and discuss work orally in lectures.
Working with others
5 Establish and maintain co-operative working relationships and agree ways to overcome difficulties
N/A
6 Plan and agree group objectives , responsibilities and working arrangements
N/A
7 Interact effectively and create opportunities for others to contribute to discussions; exchange information and ideas and modify responses
Courseworks enable students to develop and practice the above skills. Lectures provide feedback and discussion opportunities. In addition there is scope for students to present work and engage in discussion about the topics covered
8 Review work with others, including factors that influence the outcome.
Courseworks enable students to develop and practice the above skills, as does critical reflection in the lectures.
Problem Solving
9 Explore the problem, identifying key areas and compare and choose the appropriate tools/ methods for its resolution (and be able to justify that choice)
N/A
10 Plan and implement methods, review progress and revise as necessary
N/A
11 Apply agreed methods to check the problem has been resolved
N/A
Numeracy
12 Select and use numerical information and methods appropriate to the discipline
Courseworks require students to select between different analytic approaches.
13 Carry out multi-stage calculations, including those of a large data set
N/A
14 Explain and justify the choice of methods and the results of calculations
Justification of approach are part of the assessment process
The use of information technology
15 Search and select appropriate information from a range of sources based on judgements of relevance and quality
Courseworks enable students to develop and practice the such skills in a group setting, with feedback from peers and assessors.
16 Use a software package to manage references
N/A
17 Use a range of methods to explore, develop and exchange information
N/A
Learning how to learn, (improving own learning and performance.)
18 Develop appropriate research strategies & take responsibility for learning with minimum direction
Coursework is self-directed with students selecting from a range of open ended possibilities.
19 Manage learning using available resources
Online and library resources are used to support this course's learning infrastructure.
20 Evaluate strengths and weaknesses, challenge received opinion and develop own criteria and judgement
Coursework involves critical reflection on their own, and other's work using approaches covered in the course.
Personal & professional development
21 Collect, record and analyse data relating to potential occupational areas
N/A
22 Reflect on and record development of own career ideas
N/A
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Computer Graphics
Summary:This course is concerned primarily with computer graphics systems and in particular 3D computer graphics. The course will include revision of fundamental raster algorithms such as polygon filling and quickly move onto the specification, modeling and rendering of 3D scenes. In particular the following topics may be covered: viewing in 2D,data structures for the representation of 3D polyhedra, viewing in 3D, visibility and hidden surface algorithms, illumination computations. Some attention will be paid to human perception of colour and interactive 3D such as virtual reality.
Credits:
15.0
Pre-requisites:
It is essential that students have good programming ability, and a willingness to learn some mathematics.
Aims:
The aim of this course is to introduce the fundamental concepts of 3D computer graphics. This encompasses describing a 3D scene (modelling and data structures), constructing views, rendering, and illumination. This requires a thorough understanding of algorithms and graphics systems programming.
Objectives:
By the end of this course students will have constructed from scratch a program that encapsulates many of the major ideas of computer graphics. Students will understand and be able to reason about and implement many of the major algorithms of 3D computer graphics.
Core Skills:
This course will help students develop a range of skills such as problem solving through exercises and courseworks of increasing difficulty, written and oral communication skills and will improve their skills in working with others fostered through justification of their own approaches and choices in discussions with teaching assistants and other fellow students.
Books:
Essential text book: Foley, J.D., van Dam, A., Feiner, S.K., Hughes, J.F.,Phillips, R.L.,(1994) Introduction to Computer Graphics, Addison-Wesley publishers. A complete reading list is available in the web pages for this course.
High Performance Computing
Summary:The 12 week module involves 2 hours of timetabled lectures per week. Laboratory sessions are timetabled at 2 hours per week, normally spanning half the semester only. The course syllabus adopts a hands-on programming stance. In addition it focuses on algorithms and architectures to familiarise students with message-passing systems (MPI) as adopted by industry.
Parallel computing, which implies the simultaneous execution of several processes for solving a single problem, is a mainstream subject with wide ranging implications for computer architecture, algorithms design and programming. The UK has been at the forefront of this technology through its involvement in the development of several innovtive architectures. Queen Mary has been actively involved with Parallel Computing for more than a decade. In this course, students will be introduced to parallel computing and will gain first hand experience in relevant techniques.
Laboratory work will be based on the MPI (Message Passing Interfaces) standard, running on a network of PCs in the teaching laboratory.
The syllabus mirrors the recommended text book very closely. Other text-books are also listed below as sources of additional reading.
The course should be of interest to Computer Scientists and those following joint programmes (e.g. CS/Maths, CS/Stats). It is also suitable for Chemistry and Engineering students and all those who are concerned with the application of high performance parallel computing for their particular field of study e.g. Simulation of chemical Behaviour.
Credits:
15.0
Pre-requisites:
DCS/100 Procedural Progrmming, DCS/104 Object Oriented Programming, (DCS/218 Operating Systems or DCS/200 Essential Networks and Operating Systems), or close equivalents to these.
Aims:
To introduce students to the paradigm of Parallel Computing, an awareness of its advantages and current limitations and facilitate the development of practical programming skills in a parallel computing environment
Objectives:
Students will gain an understanding and practical knowledge of:
Core Skills:
Parallel Programming, Modelling systems for High Performance computation, Developing and testing parallel algorithms.
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Project
Credits:30.0
Extra Costs:
Particiapation of this module may require purchasing electronic components or other devices. A budget is provided, where this is necessary. The budget is sufficient to cover the cost of successfully completing the project. A student may choose to exceed the budget in which case the student would be liable to pay the difference between the budget limit and the cost of any components.
The Management of Human Resources
Summary:Please see the School of Business Management website for information regarding this module.
Microwave and Optical Transmission
Summary:New module under development for 2012/13. Information pertaining to this module will appear once approved.
Credits:
15.0
Aims:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Objectives:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Core Skills:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Extra Costs:
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Careers
This degree prepares you for a broad range of careers in the public and private sectors from charities and educational institutions to banking and finance. Graduates can become business analysts, business developers, database managers, operations managers and business finance administrators.
Entry Requirements
Specific Condition(s): GCSE Grade Mathematics grade B or higher required.
Student Projects
Steganography
This project was about steganography, (the word means hidden writing).
Read moreSteganography
Key Contacts
Undergraduate Admissions Administrator
Student Voices

Lila Harrar
MSci Computer Science"I love being at Queen Mary."
Read moreLila Harrar
"It's in the heart of East London and there’s a great atmosphere. It’s part of the University of London, which carries weight with prospective employers, and it has great facilities. There is a building completely dedicated to computing students, and it's open really late.
When I first started my degree, I didn't really understand the difference between computer science and computing, and the course was more mathematics-based than I expected. I still loved it though.
I started my third year not knowing much about multimedia, but by the end of the year I had found a vocation! For my final-year project, I developed software that teaches people British Sign Language (BSL). I contacted an established company who assisted me in filming the BSL videos and they also provided me with a large number of test subjects. They were extremely impressed with what I had achieved and offered me a contract to commercialise the product and future publications! It has been a real roller coaster of excitement and hard work, but in the end it has been an amazing experience. I now love designing and producing any kind of multimedia product, be it through programming or with the use of applications such as Macromedia Director."
Read more on Lila's project in issue 14 of Quad.
Read Lila's interview with the Guardian.

