BEng FT Electronic Engineering and Computing

HI61 / BENG HONS
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

Read More
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

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

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

Entry Requirements

Specific Condition(s): A-level or equivalent Mathematics.


Similar Courses

Student Projects

Steganography
Steganography

This project was about steganography, (the word means hidden writing).

Read more