BEng FT Electronic Engineering and Computing
- Duration:
- 3 Years
Description
This programme includes the digital circuit design elements of the electronic engineering programmes, while emphasising computer systems and software. You will also study the increasingly important areas of artificial intelligence and network computing, internet computing, and e-commerce engineering.
The MEng follows the same structure as the BEng, with an additional year of specialisation in advanced topics.
Modules
Year 1
- Professional and Research Themes
- Electronic Engineering Mathematics I
-
Electronic Engineering Mathematics I
This module covers linear algebra, vector algebra and analysis, and differential equations. Linear algebra includes: introduction to Matrices, addition of Matrices, multiplication of Matrices, Systems of Equations; Eigenvalues and eigenvectors. Differential Equations cover first and second order D.E, and vector algebra includes field operators and surface and volume integration in different coordinate systems. All topics will be related to engineering applications.
Read More - 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
- 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.
- Digital Circuit Design
-
Digital Circuit Design
The Course is concerned with the design of digital electronic circuits. The principles of combinational and sequential logic design and the fundamentals of digital hardware design are covered.
Read More - Signals and Information
-
Signals and Information
This first year module introduces the fundamentals of signals, Fourier Series, information theory and signal statistics. Topics covered include: signal fundamentals such as discrete versus continuous time signals; signal average, energy and power; orthogonality; Fourier Series. The module also provides an introduction to information theory, including the information measure, entropy and the binary symmetric channel. Basic ideas in statistics will also be introduced. It will be taught by a combination of lectures, tutorials and labs.
Read More - 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
Electronic Engineering Mathematics I
Summary:This module covers linear algebra, vector algebra and analysis, and differential equations. Linear algebra includes: introduction to Matrices, addition of Matrices, multiplication of Matrices, Systems of Equations; Eigenvalues and eigenvectors. Differential Equations cover first and second order D.E, and vector algebra includes field operators and surface and volume integration in different coordinate systems. All topics will be related to engineering applications.
Credits:
15.0
Pre-requisites:
Maths A level or equivalent
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.
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.
Digital Circuit Design
Summary:The Course is concerned with the design of digital electronic circuits. The principles of combinational and sequential logic design and the fundamentals of digital hardware design are covered.
Credits:
15.0
Pre-requisites:
A level Maths
Aims:
To introduce the basic theorems of digital logic; To present basic techniques for designing digital circuits; To provide the knowledge and understanding required to embark on level 2 courses concerned with digital systems and microprocessors.
Objectives:
Perform number base conversions; use complements to represent signed numbers and perform arithmetic operations with negative numbers Understand the difference between binary numbers and codes and error detection. Manipulate Boolean algebraic expressions using the Boolean postulates and theorems. Derive a Boolean function from the truth table of the function. Use a Karnaugh map to reduce a Boolean function to its minimum form. Express a combinational logic function as a logic gate circuit; convert expressions between the sum-of-products and the product-of-sums forms and implement in NAND or NOR gate form respectively. Use NAND gates to realise a half-adder logic circuit. Use the half adder as a building block for full-adders, parallel adders and multipliers. Understand the gate structure and applications of MSI logic chips such as code converters, decoders and encoders, multiplexers and demultiplexers. Devise test vectors to perform waveform analysis on combinational logic circuits. Understand how to use logic gates to build gated latches and flip-flops. Use characteristic tables and state diagrams to design sequential logic circuits. Use TTL integrated circuit logic chips to build combinational and sequential logic circuits in the lab.
Books:
Digital Design: Principles and Practices by John F. Wakerly; 4th Edition updated; Prentice Hall 2001; ISBN 0130898961
Signals and Information
Summary:This first year module introduces the fundamentals of signals, Fourier Series, information theory and signal statistics. Topics covered include: signal fundamentals such as discrete versus continuous time signals; signal average, energy and power; orthogonality; Fourier Series. The module also provides an introduction to information theory, including the information measure, entropy and the binary symmetric channel. Basic ideas in statistics will also be introduced. It will be taught by a combination of lectures, tutorials and labs.
Credits:
15.0
Aims:
To provide an understanding of the fundamentals of signals, Fourier Series, information theory and signal statistics, including how these are evaluated, and how they are used in a limited range of practical real-world scenarios.
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
Year 2
- 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
- Programming Fundamentals
-
Programming Fundamentals
The course stresses the importance and principles of computer algorithm design and structured programming techniques as a discipline for developing quality software. Fundamental concepts of software programming, including the use of pseudocodes, flowcharts and structured high-level programming languages are introduced. The C programming language is used as the high-level programming language.
Read More - Microprocessor Systems Design
-
Microprocessor Systems Design
The course examines the structure, applications and programming of microcontroller and similar devices. There will be practical work on using the devices as part of the module.
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)
- 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 - 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
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:
Programming Fundamentals
Summary:The course stresses the importance and principles of computer algorithm design and structured programming techniques as a discipline for developing quality software. Fundamental concepts of software programming, including the use of pseudocodes, flowcharts and structured high-level programming languages are introduced. The C programming language is used as the high-level programming language.
Credits:
15.0
Aims:
The course aims to give students unfamiliar with software programming: - a methodology for developing programs; - knowledge of the concepts of programming in a high-level language; - knowledge of the features of the C programming language; - practice in developing simple programs.
Objectives:
Design simple algorithms using top-down stepwise refinement. Describe the basic aspects of any high-level language. Describe the basic features of the C language. Write, debug and execute programs in the C language which fulfill a set of specifications.
Core Skills:
Manage their time effectively to prepare and finish the lab exercises. Produce written laboratory reports.
Books:
Beginning C by Ivor Horton; Wrox Press 1997; ISBN 1861001142
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Microprocessor Systems Design
Summary:The course examines the structure, applications and programming of microcontroller and similar devices. There will be practical work on using the devices as part of the module.
Credits:
15.0
Pre-requisites:
ECS412U
Aims:
- To impart an understanding of the architectures of microcontrollers and microprocessors.
- To impart an understanding of the design issues in using microcontrollers and similar devices.
- To enable students to make an informed choice of microcontrollers or similar device for a particular application.
- To enable students to use microcontroller devices in electronic circuits.
Objectives:
- Understand the architecture of microcontroller and microprocessor devices.
- Understand the timing, memory and data transfer limitations of using these devices.
- Be able to choose the right device for a particular application.
- Understand of the development cycle for the devices.
- Understand interfacing issues for the devices.
- Be able to write C code and assembly code for the devices.
- Use a microcontroller in an electronic circuit.
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:
The 8051 Microcontroller and Embedded Systems (2nd edition) by M A Mazidi and J Mazidi and R McKinlay; Prentice Hall 2006; ISBN 9780131194021
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.
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.
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
- Project
-
Project
Read More - Integrated Circuit Design
-
Integrated Circuit Design
The course introduces CAD, design methodology, architectures, circuit and fabrication techniques for integrated circuits. The main emphasis is on CMOS design.
Read More - Microprocessor Systems Design
-
Microprocessor Systems Design
The course examines the structure, applications and programming of microcontroller and similar devices. There will be practical work on using the devices as part of the module.
Read More - Digital Signal Processing
-
Digital Signal Processing
New module under development for 2012/13. Information pertaining to this module will appear once approved.
Read More - Distributed Systems and Security
-
Distributed Systems and Security
In this course we shall cover the basic technical elements of distributed systems, with a focus on basic technologies for security in distributed computing because of their technical and social significance. Concretely we discuss fundamental characteristics of distributed systems, including: openness, geographic distribution, heterogeneity, communication delay and failure; key elements for networking and internetworking, including: layered protocols (centring on the TCP/IP protocol suit), addressing and routing, naming service; server-client models, remote procedure calls (RPC) and remote method invocation (RMI), taking Java and CORBA as examples; basic ideas of distributed file service, including basic architecture/mechanisms, name space management, cache management and concurrency control; and finally models and mechanisms of security, in particular fundamental ideas of security, symmetric and asymmetric cryptography, authentication mechanisms, basic cryptographic protocols and algorithms, protection domains, access control, firewall, and real-world examples of security including web commerce and Kerberos.
Read More - symmetric and asymmetric cryptography
- authentication
- basic cryptographic protocols and algorithms
- access control (e.g. ACL, protection domains)
- flow control (in particular firewall)
- other basic security measures, real-world examples from web commerce and Kerberos
- 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
- 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
- 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 - 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 - Digital Signal Processing
-
Digital Signal Processing
This is a level 3 course which builds upon the signal processing theory introduced in ELE374, Signals and Systems Theory. The main part of the course covers the theory of digital signal processing techniques and digital filter design. The course concludes with an examination of some applications of digital signal processing.
Read More - Algorithms and Data Structures in an OO Framework
-
Algorithms and Data Structures in an OO Framework
Algorithms are "ways of doing something", data structures are ways of combining collections of data to form a coherent whole. Many algorithms are about processing collections of data, an obvious example being to re-arrange a collection to put it in some sorted order. This module will introduce the basic concepts of algorithms and data structures expressed using the Java programming language.
Java is an object-oriented language, and the object-oriented style is recognised as a good way of both breaking down a program into coherent parts, and generalising these parts so they may be re-used in a variety of contexts. So this module introduces algorithms and data structures in an object-oriented framework. A key theme is the idea of "abstraction": being able to separate out the way a program component works in interaction with other components from what goes on underneath to make it work.
Modern programming is as much about using code already provided as APIs as it is about using the core constructs of programming languages. This module follows that by including material on using the algorithms and data structures provided as the "Java Collections Framework" as well as coding your own algorithms and data structures.
Effective use of an abstract code framework requires a good understanding of the complexities of inheritance and generic typing. These are covered in this module.
The module covers two tricky topics, mastery of which has long been acknowledged as the mark of a skilled programmer: recursion and linked structures. There is also some coverage of algorithm efficiency analysis.
The module is intended for those who have already covered the basics of programming, and wish to move on to use and develop their programming skills for designing and constructing components of programs of a larger scale.
Read More - Using and defining objects
- Recursion and iteration
- Data abstraction
- Constructive and destructive abstractions
- Sorting and searching
- Efficiency
- Linked structures
- Implementing collection types
- Inheritance and generic typing
- Generalised coding using interface types
- Java's Collection Framework
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.
Integrated Circuit Design
Summary:The course introduces CAD, design methodology, architectures, circuit and fabrication techniques for integrated circuits. The main emphasis is on CMOS design.
Credits:
15.0
Pre-requisites:
ELE335 or equivalent
Aims:
To give an understanding of the technology used to manufacture integrated circuits and of the different fabrication technologies currently used. To introduce the CAD tools used in designing integrated circuits and to introduce students to the use of these tools. To explain some of the algorithms and file formats used in the CAD tools. To explain techniques used in circuit design for integrated circuits. To give students an understanding of the state of the art in integrated circuit design. To give students an understanding of IC test techniques and the importance of considering testing from the beginning of the design process.
Objectives:
Recall factual knowledge and be able to apply it in familiar and unfamiliar situations. Employ scientific, mathematical and software 'tools' to a familiar or unfamiliar situation; Interpret information presented in the form of technical circuit-diagrams, flow-charts and high-level languages. Use laboratory test equipment. Critically appraise a particular topic. Express the financial background against which decisions are made in Industry.
Core Skills:
Use CAD software Write a report on an electronic design
Books:
CMOS VLSI Design: A Circuits and Systems Perspective by N.H.E. Weste and D. Harris; 3rd International Edition; Addison-Wesley 2005; ISBN 0321269772
Microprocessor Systems Design
Summary:The course examines the structure, applications and programming of microcontroller and similar devices. There will be practical work on using the devices as part of the module.
Credits:
15.0
Pre-requisites:
ECS412U
Aims:
- To impart an understanding of the architectures of microcontrollers and microprocessors.
- To impart an understanding of the design issues in using microcontrollers and similar devices.
- To enable students to make an informed choice of microcontrollers or similar device for a particular application.
- To enable students to use microcontroller devices in electronic circuits.
Objectives:
- Understand the architecture of microcontroller and microprocessor devices.
- Understand the timing, memory and data transfer limitations of using these devices.
- Be able to choose the right device for a particular application.
- Understand of the development cycle for the devices.
- Understand interfacing issues for the devices.
- Be able to write C code and assembly code for the devices.
- Use a microcontroller in an electronic circuit.
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:
The 8051 Microcontroller and Embedded Systems (2nd edition) by M A Mazidi and J Mazidi and R McKinlay; Prentice Hall 2006; ISBN 9780131194021
Digital Signal Processing
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.
Distributed Systems and Security
Summary:In this course we shall cover the basic technical elements of distributed systems, with a focus on basic technologies for security in distributed computing because of their technical and social significance. Concretely we discuss fundamental characteristics of distributed systems, including: openness, geographic distribution, heterogeneity, communication delay and failure; key elements for networking and internetworking, including: layered protocols (centring on the TCP/IP protocol suit), addressing and routing, naming service; server-client models, remote procedure calls (RPC) and remote method invocation (RMI), taking Java and CORBA as examples; basic ideas of distributed file service, including basic architecture/mechanisms, name space management, cache management and concurrency control; and finally models and mechanisms of security, in particular fundamental ideas of security, symmetric and asymmetric cryptography, authentication mechanisms, basic cryptographic protocols and algorithms, protection domains, access control, firewall, and real-world examples of security including web commerce and Kerberos.
Credits:
15.0
Pre-requisites:
DCS218 Operating Systems
Aims:
This course aims at offering students the basic knowledge and understanding of the fundamental ideas on distributed computing systems, a norm in today's computing environments. The course will emphasise elucidation of fundamental concepts and mechanisms underlying essential technical elements of distributed systems and their security: what problems they solve and how, as well as what their limitations would be.
Objectives:
-
An understanding of
Core Skills:
Coding & testing algorithms for distributed systems, Writing basic distributed Java programs, Using web while understanding the underlying mechanism.
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.
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.
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.
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.
Digital Signal Processing
Summary:This is a level 3 course which builds upon the signal processing theory introduced in ELE374, Signals and Systems Theory. The main part of the course covers the theory of digital signal processing techniques and digital filter design. The course concludes with an examination of some applications of digital signal processing.
Credits:
15.0
Pre-requisites:
ELE374
Aims:
To introduce students to the advanced concepts of processing signals that are represented as finite-precision number sequences, and to examine the role of digital signal processing techniques in digital storage and transmission.
Objectives:
Explain the principles of analogue-to-digital and digital-to-analogue conversion of band-limited signals, and be aware of the limitations and imperfections of real systems. Describe the discrete-time representation of sampled signals. Explain the concepts of linearity, time-invariance, stability, causality, discrete-time convolution and linear-coefficient difference equations. Explain the principles, theory and properties of the DTFT, the DFT and the z-transform. Understand the principles of discrete time filters (FIR and IIR). Design simple FIR linear-phase filters using the window method or by frequency-sampling design. Design computational structures for the realization of DSP algorithms for filters.
Books:
Digital Signal Processing Concepts and Applications by B. Mulgrew, P Grant and J Thompson; MacMillan 2003; ISBN 0333963563
Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Algorithms and Data Structures in an OO Framework
Summary:Algorithms are "ways of doing something", data structures are ways of combining collections of data to form a coherent whole. Many algorithms are about processing collections of data, an obvious example being to re-arrange a collection to put it in some sorted order. This module will introduce the basic concepts of algorithms and data structures expressed using the Java programming language.
Java is an object-oriented language, and the object-oriented style is recognised as a good way of both breaking down a program into coherent parts, and generalising these parts so they may be re-used in a variety of contexts. So this module introduces algorithms and data structures in an object-oriented framework. A key theme is the idea of "abstraction": being able to separate out the way a program component works in interaction with other components from what goes on underneath to make it work.
Modern programming is as much about using code already provided as APIs as it is about using the core constructs of programming languages. This module follows that by including material on using the algorithms and data structures provided as the "Java Collections Framework" as well as coding your own algorithms and data structures.
Effective use of an abstract code framework requires a good understanding of the complexities of inheritance and generic typing. These are covered in this module.
The module covers two tricky topics, mastery of which has long been acknowledged as the mark of a skilled programmer: recursion and linked structures. There is also some coverage of algorithm efficiency analysis.
The module is intended for those who have already covered the basics of programming, and wish to move on to use and develop their programming skills for designing and constructing components of programs of a larger scale.
Credits:
15.0
Pre-requisites:
The module assumes students have taken at least an introductory module in programming using Java, such as DCS100 Procedural Programming. It is also recommended to have taken a second module in Java covering the basic object-oriented aspects of the language, such as DCS104 Object Oriented Programming.
Aims:
Although the module centres on programming in Java, it moves towards the appreciation of programming as more than knowing the constructs of a particular programming language. It develops familiarity with common patterns of storing and manipulating data to solve problems, and the ability to choose or design appropriate patterns when faced with a new programming task. Appropriate here will mean both efficient in computer time and memory usage, and well structured for efficient use of programmers' time in maintenance and development.
Objectives:
Topics covered will include:
Core Skills:
A key aspect of the module is being able to describe algorithms clearly in English, and to understand the precise language used to describe algorithms. It also introduces the specialist vocabulary used to describe algorithms and data structures. In this way, it develops communication skills.
Problem-solving skills are at the heart of the module. It covers rigorous techniques for analysing problems and developing well-structured computer programs for solving them. It will enable you to explain and justify the choice of techniques used when building a computer program.
The module requires and develops self-discipline to progress through the examples used, and to complete exercises in time and learn from them. It introduces the idea of researching and making use of the code libraries provided with Java.
The module will further the professional development of students. Those who enjoy it and do well on it will be particularly suited to careers in software development. It also provides useful background knowledge for those working in other areas which use software. Its use of precision and the concept of abstraction will help more generally in developing clear patterns of thought.
Books:
Recommended purchase:
Paul T. Tymann and G. Michael Schneider 'Modern Software Development using Java' (2nd edition) Thomson ISBN-13: 978-14239-0123-5Extra Costs:
There are no additional costs to study this module, unless you exceed your print credit and choose to purchase additional print credit.
Entry Requirements
Specific Condition(s): A-level or equivalent Mathematics.
Student Projects
Steganography
This project was about steganography, (the word means hidden writing).
Read moreSteganography
Key Contacts
Undergraduate Admissions Administrator
Student Voices
Daniel Fiegenschuh
BSc Computer Science and Multimedia"I found my lecturers very engaging and enthusiastic about the subjects they taught."
Read moreDaniel Fiegenschuh
I decided to go to Queen Mary, as it is part of the University of London and a UCAS student advisor recommended it to me. Having taken a closer look at the campus, I really liked its close proximity to the centre of London, the liveliness of the halls of residence and the diversity of people at the university.
The Computer Science Department is a great place to study. From the staff in the student administration and system support teams, to the lecturers and professors, all are excellent at their jobs and are very helpful. The course provides a good mixture of theoretical grounding and practical expertise. It offers students a good foundation in the core principles of computer science and then the option to focus more on specific subject areas in later years.
My experiences with Queen Mary lecturers and professors have been positive throughout. I found my lecturers very engaging and enthusiastic about the subjects they taught. For me, that is the most important thing, to be surrounded and taught by people that inspire you with their interest and knowledge of a subject.
One of the most interesting things I have done on the course was my final year project. My project was selected by the university to be considered for a patent application and commercialisation. This involved working with my supervisor and the university’s technology transfer team to develop the patent application and start approaching companies that might be interested in licensing the technology.
The Queen Mary campus offers a unique atmosphere. It’s a great mixture of a safe and relaxed space situated in an exciting area full of possibilities for day and night time activities. My favourite place is the bank of Regent’s Canal behind the student halls.
There are a lot of extra-curricular activities on offer at Queen Mary. I volunteered to take part in the Peer Assisted Study Support programme as a PASS Mentor during my final year. It was a really enjoyable experience and I think the skills I learned through the PASS training programme and running PASS sessions are extremely valuable. It’s a good way to get in contact with other enthusiastic people in the department and work together with them. I hope to continue these activities at Oxford University where I am now doing a postgraduate degree.
If I had to describe a typical Queen Mary student, well that might be difficult, as Queen Mary has a widely diverse student population. You meet people from all over the world, coming from very different cultural backgrounds but who are equally open minded and interested in new experiences.

