International
Office

View International
Office Internal site
(campus only)

Study Abroad/Exchange Students Outside Europe

Incoming Students

Courses Available - Computer Science

Departmental Study Abroad Advisor: Dr Roy Crole
Web Site: http://www.cs.le.ac.uk/
Course Details: Course Module Database

For courses with pre-requisites students must either complete the appropriate pre-requisite at Leicester or at their home university before starting at Leicester. For details on course pre-requisites please go to: www.cs.le.ac.uk/Modules/CO-03-04/CO-03-04.html

Logic and Problem Solving

CO1001
Semester: One
Leicester credits: 20

Aims:This module teaches the very basic principles of logic in computer science and gives the student an understanding of the principles of logic programming and how these are applied to standard problems in AI.

Program Design

CO1003
Semester: One
Leicester credits: 20

Aims: Students should be able to demonstrate understanding of: the basic components of an object-oriented program including methods and attributes, the distinction between classes and instances, the structures required to write basic algorithms, and the components of simple text and graphics based interfaces. They should be able to undertake design using basic object-oriented design notation and demonstrate the applicability and effectiveness of various basic software testing techniques.

Data Structures and Development Environments

CO1005
Semester: Two
Leicester credits: 20

Aims: Students should be able to demonstrate an understanding of the fundamental types
of structured and dynamic data structure, their specification as abstract data types, and their implementation in Java. Students should be able to demonstrate an understanding of some of the main algorithms for processing dynamic datatypes, and to be able to write Java programs using these algorithms. Students should be able to analyse the behaviour of Java programs with the help of exceptions and structural testing. Students should be able to demonstrate an understanding of the programming and runtime environment of Java.

Study Skills and Professional Practice

CO1007
Semester: One
Leicester credits: 10

Aims: The aims of this moduel is to introduce students to professional bodies and aspects of computing law and ethics. At the end of this module, students will be able to describe the main features of professional bodies, law, social issues and ethics in Computing.

Discrete Structures

CO1012
Semester: One
Leicester credits: 10

Aims: At the end of this module, students should be able to:

Computer Systems

CO1016
Semester: One
Leicester credits: 20

Aims: Students should be able to: describe the memory-I/O model and top-level hardware; solve problems in computer arithmetic; give an account of, and solve problems, in propositional logic and digital circuit theory and practise; give a summary of, and solve simple problems, in the MIPS assembly and machine language, including addressing methods; summarise the technical details of an elementary processor.

Databases and Web Applications

CO1019
Semester: Two
Leicester credits: 20

Aims: Students should be able to demonstrate an understanding of the basic techniques
involved in data organisation, storage and retrieval based on the relational database model. They should be able to implement, maintain, and query simple databases using database management system software MySQL. The students should be able to create static web pages using XHTML and dynamic web pages with content obtained from a database. They will learn the need for sessions for interactive web applications and how to program sessions with PHP.

Computers and Society

CO1094
Semester: Two
Leicester credits: 20

Aims: At the end of this module, students should be able to:

Internet Computing

CO1097
Semester: One
Leicester credits: 10

Aims: At the end of this module, students will be able to: give a coherent account of the basic technology, organisation and architecture of the Internet and the World Wide Web. They will be able to discuss the issues of Internet security and relate these to a given scenario. Students will be able to use Internet search tools to find information. They will be able to create and write static web pages using appropriate layout and graphics etc. Students will be able to organise and maintain a web site of moderate size.

Information Management

CO1098
Semester: One
Leicester credits: 10

Aims: Basic computer literacy. Students will learn to understand and gain experience with a variety of components of the Windows 2000 operating system.

User Interfaces and HCI

CO2001
Semester: One
Leicester credits: 10

Aims: Students should be able to demonstrate an understanding of advanced object-oriented techniques such as Graphical User Interface concepts; and the event-driven model of programming, and threading. They should be able to construct GUIs and applets in Java. Students should be able to demonstrate a knowledge of and be able to apply basic HCI concepts.

Business and Financial Computing

CO2002
Semester: Two
Leicester credits: 10

Aims: The aim of this module is to introduce students to the fundamentals of financial and business computing, giving them a clear idea of financial principles, business organization, of software to support these domains, and some of the basic software engineering principles that support the development of such software.

Software Engineering and System Development

CO2006
Semester: One
Leicester credits: 20

Aims: According to a report of British Computer Society, only above 16% of IT projects can be considered truly successful and over 60% of the projects experience sever problems in. In many companies, software is still developed in an ad hoc way. The purpose of the module is to promote understanding of the conceptual and linguistic foundations of software development, its methods and techniques. In particular, the aim is to teach object-oriented methods for analysis, specification, design and implementation of large software systems.

Functional Programming

CO2008
Semester: One
Leicester credits: 10

Aims: The module will give the student a thorough grounding for programming in the functional style using the language Haskell. At the end of this module, students will be able to: develop skilled use of basic functions and techniques to solve problems in practical applications; understand and use polymorphism in designing functions which allow code re-use; understand the use of higher order functions in designing functions which allow code re-use; understand the basics of polymorphic type inference; understand Haskell's mechanism for defining new datatypes.

Automata, Languages and Computation

CO2011
Semester: One
Leicester credits: 20

Aims: The aim of this module is to give an understanding of the basic theory of language recognition motivated by applications in areas such as compiler design. The module will also aim to provide a general model of computation and thereby to illustrate the limits of the power of computers, both in terms of the problems for which a solution exists and also the problems for which a feasible solution exists. By the end of the module students should be able to comprehend some abstract models of the process of computation such as finite automata, pushdown automata and Turing machines. They should be able to follow basic mathematical arguments couched in terms of these models.

Software Project Management and Professionalism

CO2012
Semester: One
Leicester credits: 20

Aims: According to a report of British Computer Society, only above 16% of IT projects can be considered truly successful and over 60% of the projects experience sever problems in. In many companies, software is still developed in an ad hoc way. The purpose of the module is to gain a practical understanding of the software development process, to discuss the management, professional an ethical issues of software development, and get acquainted with industrial best practices in preparation of the software engineering group project.

Multimedia and Computer Graphics

CO2016
Semester: One
Leicester credits: 10

Aims: This module teaches the principles and technical details of multimedia data and 3D-environments. At the end of this module, students should be able to demonstrate understanding of: the basic representation and handling of multimedia data (sound, pictures and animation), the basic components of a 3D-environments.

Operating Systems, Networks and Distributed Systems

CO2017
Semester: Two
Leicester credits: 20

Aims: At the end of this module, students should be able to:

Analysis and Design of Algorithms

CO3002
Semester: Two
Leicester credits: 20

Aims: The module aims to introduce students to the design of algorithms as a means of problem-solving. Students will learn how to analyze the complexity of algorithms. Major algorithm design techniques will be presented and illustrated with fundamental problems in computer science and engineering. Students will also learn the limits of algorithms and how there are still some problems for which it is unknown whether there exist efficient algorithms.

Communication and Concurrency

CO3007
Semester: Two
Leicester credits: 20

Aims: This module provides students with an introduction to theories and applications of concurrency. In particular, it will familiarise students with the process algebras CCS (Calculus of Communicating Systems) and its operational semantics. The module will teach, via individual and collective work, how to specify, design and implement simple concurrent systems. Students will also learn how to verify correctness of concurrent systems using the Concurrency Workbench software tool. Students should be able to: understand the notions of concurrency, communication, and concurrent systems; have a good knowledge of CCS and its operational and axiomatic semantics; be able to develop informal and formal specifications of simple concurrent systems, and be able to produce systems' designs from specifications; able to reason about the behaviour of simple concurrent systems, both by hand and with the aid of the Concurrency Workbench, using the techniques of equational reasoning and bisimulation.

Mathematics and Computer Science Project

CO3014
Semester: One
Leicester credits: 20

Aims: The aim of the Mathematics and Computer Science project is for the student to combine skills acquired in the other Mathematics and Computer Science modules in the production of a substantial project. In doing this, the student will assimilate information from a variety of sources and demonstrate the ability to pursue independent study. It is intended that the project should produce some end product for users other than the author. A collection of course exercises, a literature search or a descriptive evaluation would not be suitable. During the first part of the semester, the student will establish the lines of enquiry to be followed and produce a plan of the work to be carried out. The rest of the semester will be devoted to designing and implementing the end product and writing a final report detailing the progress made. To carry out research into the background to the project undertaken. To establish the nature of the deliverables to be produced by the project, to plan the timescales involved in developing these, and to identify the design issues involved. To implement the end product. To test and evaluate the end product. To write a report on the project.

Computer Science Project

CO3015
Semester: One and Two
Leicester credits: 40

Aims: Students will select a project topic chosen from an area of Computer Science that interests them, and then conduct two semesters worth of individual study of that topic, resulting in a substantial written dissertation. Projects should be of a problem solving nature; typically they will provide a software solution to a practical computing problem.
It is intended that the project should also produce an end product, usually a software system, for users other than the author. Further, a theoretical essay, a literature search, or a descriptive evaluation, by themselves, would not be suitable.

Distributed Systems and Applications

CO3090
Semester: Two
Leicester credits: 20

Aims: At the end of this module, students will be able to: tackle distributed programming issues and analyse problems that require distribution of resources/computations; analyse and choose among the middleware models described in the course; understand and tackle issues like multi-threading and transactional interactions in distributed application;
apply principles of component-based distributed programming (e.g., with respect to technologies like Java RMI, J2EE, CORBA, technology).

System Modelling

CO3094
Semester: One
Leicester credits: 20

Aims: This module aims to give students a hands-on experience with methods, languages and software tools used in industry for the specification and design of a wide range of systems (software, hardware, business process/workflow, embedded systems, etc.). Two different type of specification languages will be chosen that are often used in conjunction
for describing different aspects of systems: the notation Z (extended with OO and time), which is suitable for describing transformational aspects, i.e. how the actions of a system operate on data; CSP is a process language that allows to describe the reactive behaviour of systems, i.e. the processes as part of which actions are executed and the communication channels through which processes communicate.

Software Measurement and Quality Assurance

CO3095
Semester: One
Leicester credits: 20

Aims: The module approaches the issue of quality assurance in the software development process at an advanced level. This includes a rigorous account of the strategies for software testing and quality control, and the introduction of software metrics for quality assurance and project cost estimation. The module is focussed around the notion of software process improvement. Students understand how quality issues affect each aspect of the software development life-cycle. They will know appropriate strategies for software testing and validation, and how to implement them. They will understand the theory of software metrics and have some experience of making software measurements in practice. They will be able to relate quality to the current standards for process improvement.

Compression Methods for Multimedia

CO3096
Semester: One
Leicester credits: 20

Aims: To study methods for compression of symbolic data as well as audio, image and video data. To gain an appreciation of the ubiquity and importance of compression technologies. Students should achieve: broad knowledge of compression techniques as well as the mathematical foundations of data compression; factual knowledge about existing compression standards or commonly-used compression utilities; understanding of the ubiquity and importance of compression technologies in today's environment; elementary understanding of the need for modelling data and the underlying issues.

Web Technologies

CO3098
Semester: One
Leicester credits: 20

Aims: The aim of this course is to teach the students the technologies and techniques for creating largescale systems on theWWW.We consider these large scale distributed systems in the context of how they emerged before concentrating on two specific aspects: Java servlets and XML data representation and processing. At the end of the course the student should be able to: Understand the architectural foundations forWeb Technologies, use XML based techniques appropriately to create documents and handle data, be aware of security and session handling issues and use supporting techniques, understand Java servlet technolgy and use it to create web applications.

Cryptography and Internet Security

CO3099
Semester: Two
Leicester credits: 20

Aims: This course will equip students with the knowledge required to build cryptographically secure applications in Java, and the knowledge of common security problems and solutions in Internet applications. At the end of this module, students will be able to: describe the working principles of modern public-key cryptosystems; build cryptographically secure network applications using Java’s cryptographic extensions; and describe the basic security principles of some internet applications relying on cryptographic mechanisms.

Computer Science with Management Project

CO3120
Semester: One and Two
Leicester credits: 20

Aims: Students will select a project topic chosen from an area of Computer Science (possibly with connections to Management or Business) that interests them, and then conduct thirty credits worth of individual study of that topic, resulting in a substantial written dissertation. Projects should be of a problem solving nature; typically they will provide a software solution to a practical computing problem. It is intended that the project should also produce an end product, usually a software system, for users other than the author. Further, a theoretical essay, a literature search, or a descriptive evaluation, by themselves, would not be suitable.

UPDATED: 15 May 2009
MAINTAINER
This document has been approved by the head of department or section.