BSc(Eng) FT Information and Communication Technologies
- Duration:
- 3 Years
Description
This programme includes programming and software engineering with an emphasis on applied topics such as systems, security, and business management. You will gain a broad range of skills that will equip you for a career in a variety of sectors, including management and consulting, finance, government and the media.
Modules
Year 1
- 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.
- Business Modelling
-
Business Modelling
Introduces students to the development of quantitative models and associated processes for problem solving and decision making. The module provides a grounding in mathematical concepts and practical experience in developing quantitative models and solutions methods. A case study approach is taken to the application of quantitative analysis and modelling of a range of engineering activities. Examples of modelling approaches may include linear programming and network optimisation.
Read More - To introduce students to the key issues associated with quantitative models and associated processes that support problem solving and decision making.
- To develop the quantitative skills and knowledge needed to underpin such problem solving whilst modelling systems.
- To give familiarity and confidence in applying both mathematical notation and quantitative problem solution methods.
- To demonstrate, using case studies, the application of mathematical models to a range of engineering activities.
- 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
- Introduction to Multimedia
-
Introduction to Multimedia
This module gives students an introduction to the representation, analysis and processing of digital multimedia.
Read More - 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
- Communications and Networks
-
Communications and Networks
The course provides an introduction to the principles of telecommunications embracing fundamental concepts in communication systems and the transmission of information.
Read More - 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
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.
Business Modelling
Summary:Introduces students to the development of quantitative models and associated processes for problem solving and decision making. The module provides a grounding in mathematical concepts and practical experience in developing quantitative models and solutions methods. A case study approach is taken to the application of quantitative analysis and modelling of a range of engineering activities. Examples of modelling approaches may include linear programming and network optimisation.
Credits:
15.0
Aims:
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.
Introduction to Multimedia
Summary:This module gives students an introduction to the representation, analysis and processing of digital multimedia.
Credits:
15.0
Aims:
This module aims to provide students with: - an overview of the various types of multimedia, including images, audio and video - a basic knowledge of discrete-time signals and systems - an introduction to frequency-domain representation of signals and systems - knowledge of the theory and practice of quantisation and sampling of multimedia signals - an overview of visual and auditory perception as they relate to multimedia - an understanding of digital representations of images, audio and video including various colour space representations - an introduction to multimedia processing systems - a high-level view of the applications of practical multimedia systems
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),
Communications and Networks
Summary:The course provides an introduction to the principles of telecommunications embracing fundamental concepts in communication systems and the transmission of information.
Credits:
15.0
Pre-requisites:
None
Aims:
The course aims to give each participant a broad overview of telecommunications and internet systems, knowledge of fundamental principles and concepts for transmitting information, techniques for representing telecommunications traffic.
Objectives:
Name the major components of all communications systems. Explain the principles of data communications. Explain the principles of internetworking. Describe the basic operation of internet applications (such as email, ftp, web, etc.). Describe the process of establishing a telephone call. Explain the principles of resource sharing in telecommunications networks.
Books:
Data and Computer Communications by William Stallings; 6th Edition; Prentice-Hall 2000; ISBN 0130843709Telecommunications Principles by O'Reilly, John J; 2nd Edition; Chapman & Hall 1989; ISBN 0412437007Data Communications and Computer Networks by Michael Duck and Richard Read; Pearson 2003; ISBN 0130930474
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.
Year 2
- 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)
- 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
- Business Information Systems
-
Business Information Systems
The module will cover-
- Introduction to information systems
- Types of information system
- Uses of Information systems
- Information systems in e-commerce and e-business
- Information system design and development
- Information Systems within and between organisations
- Case studies of business information systems
- The human factor in information systems
- Legal and ethical issues in Information systems
- Introduction to information systems
- Types of information system
- Uses of Information systems
- Information systems in e-commerce and e-business
- Information system design and development
- Information Systems within and between organisations
- Case studies of business information systems
- The human factor in information systems
- Legal and ethical issues in Information systems
- Understand how organizations use information systems.
- Be familiar with the basic theories, concepts, methods, and terminology used in information systems.
- Be acquainted with the kinds of information systems used in organizations.
- Be able to distinguish between different types of information systems.
- Be able to describe how information systems are used strategically and tactically in business.
- Be able to describe the typical hardware, software, data, and telecommunications used in information systems.
- Be able to conduct an ethical analysis of an information systems issue and take responsible action
- ICT Group Project
-
ICT Group Project
New module under development for 2013/14. Information pertaining to this module will appear once approved.
Read More - Software Engineering Theory
-
Software Engineering Theory
Software Engineering is concerned with applying engineering principles to the production of software. 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 module 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).
Read More - Understand the difference between programming-in-the-small and programming-in-the-large.
- Understand different software life-cycles, including how to deliver systems incrementally
- Understand and apply a range of project management techniques and tools, including planning, configuration management running effective meetings, and risk management
- Be able to use a Java IDE to develop and test programs. Understand the principles of object oriented design and UML and how to use a UML tool to document various aspects of their designs.
- Understand and apply basic software design patterns
- Understand the importance of software quality assurance and metrics, including a range of testing methods
- Be able to produce a range of documentation necessary for software systems.
- A range of interpersonal and communication skills
- 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
- A range of problem solving skills
- How to arrange and conduct meetings
- A range of software documentation skills
- General office management IT skills (spreadsheets, word processing, presentation packages)
- Object oriented analysis and design
- Web Site Design And Authoring Tools
-
Web Site Design And Authoring Tools
The module examines the principles and the tools that can be used for website design, implementation and evaluation. The students apply their knowledge during labs.
Read More - Telecom Systems
-
Telecom Systems
This course provides a broad background to modern telecommunications systems and the underlying theory, including wireless networks and the Internet.
Read More - Interactive Media Design and Production
-
Interactive Media Design and Production
This unit will provide principles of interactive media production and design using conventional media processing tools.
Read More - Internet Applications
-
Internet Applications
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
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.
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.
Business Information Systems
Summary:The module will cover-
Credits:
15.0
Pre-requisites:
None
Aims:
This unit aims to provide students with fundamental knowledge on the context and usage of information systems in business, with emphasis on organisational, ethical and human factors in successful information system deployment.
Objectives:
On completing the module students will
Core Skills:
Analytic and writing skills, business analysis skills
Books:
Business Driven Information Systems, 2nd edition, by Paige Baltzan and Amy Phillips, published by mcgraw-hill
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
ICT Group Project
Summary:New module under development for 2013/14. Information pertaining to this module will appear once approved.
Credits:
15.0
Aims:
New module under development for 2013/14. Information pertaining to this module will appear once approved.
Objectives:
New module under development for 2013/14. Information pertaining to this module will appear once approved.
Core Skills:
New module under development for 2013/14. Information pertaining to this module will appear once approved.
Extra Costs:
New module under development for 2013/14. Information pertaining to this module will appear once approved.
Software Engineering Theory
Summary:Software Engineering is concerned with applying engineering principles to the production of software. 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 module 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).
Credits:
15.0
Pre-requisites:
First course in Java
Aims:
To ensure students have the necessary understanding of the principles and tools needed to build and test large-scale software systems. In particular, it provides the necessary background for students to undertake a significant group project assignment in subsequent modules or employment.
Objectives:
Core Skills:
Books:
Jia X, 'Object-Oriented Software Development Using Java, 2nd Edition' , Addison-Wesley Pub Co; ISBN: 0-201-73733-7, 2003
Horstmann C "Big Java", 2nd Edition, Wiley 2005, ISBN ISBN 0-471-69703-6
Web Site Design And Authoring Tools
Summary:The module examines the principles and the tools that can be used for website design, implementation and evaluation. The students apply their knowledge during labs.
Credits:
15.0
Pre-requisites:
ELE105
Aims:
To introduce the principles of website design To give students an understanding of the use of software tools in website design and development To give students experience of designing and implementing websites.
Objectives:
Understand the essentials of user-centred design principles. Design a website that is easy to use by a variety of different user groups Explain the function of various software tools that can be used for website development Explain the strengths and weaknesses of the design of a particular website Implement a website Use website development tools
Core Skills:
Understand and apply website design principles Understand and apply website evaluation principles
Books:
(UCWD) User-centered web development: An HCI approach by D.D. McCracken and R.J. Wolfe; Pearson Prentice Hall; 2004
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Telecom Systems
Summary:This course provides a broad background to modern telecommunications systems and the underlying theory, including wireless networks and the Internet.
Credits:
15.0
Aims:
The course aims to: equip participants with a basic understanding of modern digital communications, show how communications networks are evolving, introduce important fundamental topics in coding and information theory, and provide experience in searching for information, filtering that information and presenting a summary.
Objectives:
Explain the principles of operation and architectures of circuit-switched and packet/cell-switched network; wired and wireless. Describe the operation of transmission. Calculate simple numerical problems on aspects of source coding, error-control coding, Queuing Theory and Information Theory.
Core Skills:
Assemble information on new topics. Evaluate information found.
Books:
Digital Communications (2nd Edition); I. A. Glover and P. M. Grant; Pearson; 2004; ISBN 0-130-89399-4
Interactive Media Design and Production
Summary:This unit will provide principles of interactive media production and design using conventional media processing tools.
Credits:
15.0
Pre-requisites:
ELE105, ELE207
Aims:
To study human aspects and interaction in the creation of artistic and informative media structures using commercial tools To practice presentation and design using interactive media tools To learn about different aspects of tools for interactive media To introduce optimizing principles for web images To discuss principles of image, video and graphics
Objectives:
Explain the fundamentals of hypermedia analysis and comprehension Demonstrate the skills needed for interaction in the creation of artistic and informative media structures Demonstrate skills in presentation design according to human thinking, action and creative dimensions Explain different aspects of interactive media dimensions including combinations of media production and information sciences, arts subjects, marketing, administrative sciences and education Interpret models through which interactive media can be analysed Explain how interactive multimedia is produced Demonstrate skill in producing interactive multimedia Explain how interactive multimedia is managed.
Core Skills:
Analyse information in the literature. Present a coherent report on a topic that is initially unfamiliar. Assess information and produce a summary.
Books:
Digital Multimediaby Nigel Chapman, Jenny Chapman
Internet Applications
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
- 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 - Network Planning, Finance and Management
-
Network Planning, Finance and Management
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Entrepreneurship in Information Technology
-
Entrepreneurship in Information Technology
The aim of this module is to increase your awareness of the commercial opportunities available to you in the area of Information Technology. We examine how to cultivate an entrepreneurial mind set and discuss the routes available for turning your ideas into business ventures. The course provides an introduction to a number of crucial business skills such as financial planning, business planning and how to sell yourself and your ideas.
Please note that numbers on this course are limited. Priority will be given to Computer Science students who have this course on their recommended programme.
Read More - Highlight the importance of commercialisation of technology-based ideas both in the University and the industrial environment.
- Creatively explore commercial opportunities within information technology.
- Introduce the different routes available to take an idea to market.
- Develop the skills required to start a business venture.
- Explain the key considerations involved in intellectual property and idea protection.
- Introduce the key aspects of financial management required in the development of a business venture.
- An understanding of entrepreneurship and the enterprise culture.
- Demonstrate knowledge of the elements required to generate opportunities and to commercialise technology-based ideas.
- An understanding of the process involved in protecting and validating ideas.
- Demonstrate knowledge of the importance of business and financial planning and how to develop a business plan.
- Identify the sources available to fund ideas.
- Work through problems as an effective team member.
- Evaluate and present outcomes through oral presentation.
- Independently manage learning and the use of a wide range of resources with minimal guidance.
- Critically appraise progress of independent work.
- Make informed decisions about career choice and applications for jobs or further study.
- Distributed Systems and Security
-
Distributed Systems and Security
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Data Mining
-
Data Mining
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Communication Systems Electronics
-
Communication Systems Electronics
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Security and IT
-
Security and IT
New module under development for 2012/13. Information pertaining to this module will appear once approved.
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
- Enterprise Management
-
Enterprise Management
Introduction to business and management concepts and theories. Development of these concepts and theories in an engineering/technology context.
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
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.
Network Planning, Finance and Management
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.
Entrepreneurship in Information Technology
Summary:The aim of this module is to increase your awareness of the commercial opportunities available to you in the area of Information Technology. We examine how to cultivate an entrepreneurial mind set and discuss the routes available for turning your ideas into business ventures. The course provides an introduction to a number of crucial business skills such as financial planning, business planning and how to sell yourself and your ideas.
Please note that numbers on this course are limited. Priority will be given to Computer Science students who have this course on their recommended programme.
Credits:
15.0
Pre-requisites:
None
Aims:
Objectives:
Core Skills:
Concise and effective presentation: presentation and written reports. Teamwork.
Distributed Systems and Security
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.
Data Mining
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.
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.
Security and IT
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.
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.
Enterprise Management
Summary:Introduction to business and management concepts and theories. Development of these concepts and theories in an engineering/technology context.
Credits:
15.0
Aims:
This is a module aimed at giving students an initial understanding of key business concepts that will then be developed further both in this module and in subsequent modules taken on the above degrees. The QAA in its Engineering Benchmark statement and the industry recommend that Engineering students take at least one business module as part of their degree programme in order that they obtain key skills. This module has been specifically designed to fulfill the needs of Electronic Engineering students based in the UK. The case studies and examples used in the module will be representative of the International Business environment.
Objectives:
Demonstrate relevant knowledge and understanding of organisations, the external environment in which they operate and how they are managed. Demonstrate relevant knowledge and skills that can be applied in an organisation to respond to change in both the internal and external environment. Explain each of the areas of business covered in the module and how they interact. Apply knowledge to practical and 'real-life' management situations. Apply knowledge of management to business scenarios in the International market
Core Skills:
Research a topic; Work as part of a team in organising time and sharing tasks; Manage time effectively and produce written progress reports and a final report on time; Write an essay that communicates a reasoned argument in a structured, clear, concise and well-presented manner; Demonstrate skills of critical thinking, analysis and synthesis in class discussions and assessment.
Books:
A. Palmer and B. Hartley (2009), The Business Environment, 6th Edition, published by: McGraw-Hill; 007711972X
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
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.
Entry Requirements
Specific Condition(s): GCSE Grade Mathematics grade B or higher required.
Student Projects
Seesawing robots
In this project two robots were built from Lego Mindstorm kits and software
Read moreSeesawing robots
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.

