Sie sind auf Seite 1von 4

COMPUTING-Huddersfield

You will be taught the knowledge and skills required of a professional software developer, designing and building
software that is robust, reliable and attractive to use, often co-operating with others as part of a development team.
You will work using first class computing facilities, Windows and Unix/Linux systems; teaching networks; a
wireless network; and a wide range of software, most of which we can supply under educational licenses. The
emphasis is on developing hands-on, practical skills in software development, as well as an understanding of the
human and social contexts of software systems.
Year 1
- Computing Science and Mathematics
This module will give you an introductory understanding of basic computing science and mathematical concepts
related to software development. Topics include set theory, graphs and trees, relations and functions, finite state
machines, grammars, propositional logic and searching and sorting algorithms. You will study the practical use of
the theoretical aspects of computation using a programming language such as Java and software that lets you
directly implement finite state machines.
Assessment is via one 2-hour exam (100%) at the end of the year. There are two formative assessments, one in the
first semester and one in the second, to help you check your understanding of the material covered and to prepare
for the exam.
- Hardware and Networks
How do computers and networks work? This module explores the components and structures of computers and
networks, from the basic buliding blocks to fully functioning systems. You will learn how computers execute
programmes, how data is stored, recognised and manipulated, and which hardware and software components are
used to achieve this. You will also learn how networks are constructed and what techniques (e.g. error detection
and correction, cryptography, routing) are used to ensure that data is transmitted correctly and securely through
them.
- Studio 1
Studio One departs from the usual lecture/tutorial paradigm and lends itself to a more intimate style of learning,
the studio approach. Your group will benefit from the guidance of a knowledgeable and skilled practitioner in the
production of prototypes and artefacts appropriate to your chosen study path. You will be introduced to the
concepts and principles of programming/scripting using an object-based language to control interactions, actions
and animations. Using this knowledge you will plan, design, implement, test and deploy solutions in response to a
requirement specification, ultimately producing a useful software artefact, whether it is a game, business or media
product, or entertainment feature.
The skilled practitioner leading your sessions will help you to develop sound development skills, solve problems
and accumulate a portfolio of your work to be delivered and assessed at the end of the module. The portfolio is the
only assessment on this module.
- Project 1
Working as part of a team you will plan, design and develop a prototype artefact relevant to your course. The
module aims to provide you with an understanding of hardware, software and industry best practices used by
businesses in the relevant market sector. Introductory experience of a product development cycle, technology
limitations, and possible future developments are covered. You will experience developing a software and/or
hardware artefact.

- Software Design and Development
This module provides an introduction to the design, development, and testing of large scale software systems. The
material includes introductory programming (in Java), program testing (using JUnit testing techniques), systems
modelling (using UML), GUI development, and rapid prototyping techniques. The module is assessed via a lab
book of exercises throughout the first term and a coursework involving a full software development exercise in
the second term.
Year 2
Core modules:
- Algorithms Processes and Data
In this module you will extend your first year programming skills to cover a range of standard data structures (e.g.
lists, trees and graphs; shared variables, semaphores and monitors) and algorithms (e.g. searching, sorting and
traversals; Dekker's algorithm, bounded buffer algorithms) for both sequential and concurrent systems. You will
also learn to analyse systems to determine their correctness and safety, and to calculate their efficiency. At the end
of this module you will be able to deploy a set of well established algorithms and data structures to solve a wide
range of problems. Assessment is by a single assignment, with an opportunity to partially submit your work for
formative feedback during the course of the year.
- Team Project
Working as part of a team, this module gives you opportunity to design and develop a software application related
to your course of study. You will explore theories and principles of team working and project management
through the development of your chosen application. Weekly tutorial sessions will allow your team to get regular
feedback and guidance on the progress of their project. Alongside your team work you will also explore important
legal and professional issues for people working in the IT industry. The assessment has two parts, the team project
worth 80%, and an online test on professional issues worth 20%.
- Relational Databases and Web Integration
This module will equip you with the knowledge and skills necessary to design, implement and query a relational
database. You will become familiar with the creation and maintenance duties of the Database Administrator.
Issues such as optimisation and database security are an integral aspect of learning on this module. You will gain
an understanding of the functionality necessary to enable web pages to interact with a database. You will become
familiar with web architectures and the design considerations necessary for implementing a database driven web
application. The module is assessed by two equally weighted assgnments, testing skills in database design and
management and secondly in web application integration.
Option modules include:
- Operating Systems and Language Translators
In this module you will learn about two related areas. Firstly, you will learn about the architectures of computer
operating systems, including how they deal with resource allocation, management and security, in both single
processor systems, and multiple distributed processor systems (networks). Secondly, you will learn about
language processing, a key operation in modern computer systems. You will learn about the structure of computer
languages, and about tools and techniques to automatically analyse them. This analytical process is fundamental
to the way compilers and interpreters work.
- Designing information Systems for People
One of the key determinants of a computer systems success is whether or not humans are able and willing to use
it. This module provides the necessary knowledge and skills for you to design, prototype and evaluate usable user
interfaces. The module explores the subjects of interaction design, information systems, user experience, social
media and how computer-based products fit into organisations, societies and culture. In the first assignment you
develop user requirements for an interactive device. In the second assignment you write up your user testing
results and reflect on what you have learnt from the module.
- Web Design and Programming
The module builds on Introduction to Web Programming to explore server-side web development. You will
develop the knowledge and skills necessary to build object oriented, database driven web applications. The
assessment is through a portfolio of small examples that demonstrate understanding of fundamental web
development concepts (50%), and the development of a complete web application that integrates the skills and
knowledge developed during the course of the module (50%).
- Computational Mathematics 1
This module sets the mathematical foundations required for scientific computing. You will be introduced to
fundamental concepts in algebra and you will develop an understanding of both analytical and numerical methods
for solving equations in one variable and for the interpolation and approximation of functions. There is a first
encounter with error analysis and proof. Numerical methods are typically applied using state of the art numerical
software tools. Assessment consists of one piece of coursework (40%) and one end of year exam (60%).
- Object-Oriented Systems Development
Have you ever wondered what programming language underpins the major operating systems, applications, the
Internet and the World Wide Web? If not you should not take this module. What started as a glint in the eyes of
Brain and Dennis way back in the early 1970s has spawned numerous programming languages and been
instrumental in all major information technology infrastructures.
You will already have some experience of procedural and object based coding and this will be further enhanced
and expanded with an introduction to 'C' programming leading into C++ programming with a nod toward
Objective-C. Armed with this skill set you will build a client-server system where the client could just as easily be
a Smartphone or Tablet as a desktop PC. This single assignment is the sole assessment on this module, careful
monitored by the lead tutor to ensure it built using progressive elaboration to ensure continuous formative
assessment.
The more adventurous amongst you will be given the opportunity to indulge in a little mixed language
programming, integrating components written in in C/C++ with Java, Objective-C and C#. Techniques for
accessing Object Request Brokers and Databases will be covered and the concept of Design Patterns will be
introduced; all wrapped up in a topical system development methodology using appropriate tools.
Year 3 sandwich
Supervised Work Placement (optional)
Year 3 full-time/Year 4 sandwich
Core modules:
- Large Systems Environments
You will be taken on a journey vicariously experiencing the trials and tribulations experienced by software
engineers in their attempts to deliver large-scale software development projects to time, budget and specification.
You will develop your abilities, acquire techniques and be challenged to pit your existing and newly acquired skill
against the software crisis that has brought may a well-intentioned and planed IT project to a disastrous multi-
million pound failure.
Opportunities for you to hone your skills and gain confidence in your growing prowess to solve seemingly
conflicting requirements during the journey by presenting you with craftily designed formative assessments and
team-based tutorial exercises led by a master craftsman in project management and software development.
Reaching journeys end presents you with the final opportunity to vanquish the demon summative examination,
the only assessed part of your trip, and emerge triumphant.
- Distributed and Client Server Systems
This module provides a detailed analysis of a range of techniques for the development of distributed and client-
server systems architectures. It includes socket programming, remote method invocation, CORBA, Web services,
and Tuple-Space based architectures. The module also examines some typical distributed systems, including
distributed file systems, distributed databases, and other common architectures. The module is assessed via two
courseworks, one in each term.
- Individual Project
In this module you are asked to select a problem to solve which is relevant to your degree, and of appropriate
scope and depth to be tackled within a timeframe of 30 weeks. Carrying out the project will enable you to develop
and demonstrate the ability to undertake research, manage time, use initiative, learn independently, discuss and
write cogently on a subject requiring independent learning, create a tangible product in an advanced or relatively
novel area of informatics, and perform a critical evaluation. A supervisor will support you along this journey.
You will utilise existing and acquire additional knowledge and skills as appropriate for making a contribution to a
solution of the identified problem. The project should include a significant amount of research and concept
development, and use of evaluation techniques and critical appraisal.
Assessment is based only on the final product developed and the project report describing the aims, scope and
motivation of the project, the research undertaken, the technical solution provided, including justification for
design and development decisions, its evaluation, the project management, possible future enhancements, and a
reflection of the knowledge and skills acquired.
Option modules include:
- Computational Mathematics 2
This module provides an understanding of computational perspectives of mathematics, with an emphasis on
matrix methods and data modelling. You will develop the ability to use both analytical and numerical techniques
for solving large systems of linear equations and then analyse the resulting algorithms in term of robustness,
performance, stability and accuracy. You will broaden your mathematical understanding by applying your
knowledge to real world problems where you will develop solutions to a range of computational challenges using
industry standard software such as Matlab. Assessment consists of one piece of coursework (40%) and one end of
year exam (60%).
- Modern Database Applications
The information needs of high performing organisations require a flexible approach to data management.
Focusing on non-relational data models, this module will deliver alternative approaches to modelling the
information needs of an organization. It also provides you with an opportunity to use non-relational databases and
database technologies to build robust and effective information systems. You will learn about advanced topics
such as document management systems and data warehousing. The module is assessed by two equally weighted
assignments, the first documenting the students progress through the module and secondly through practical tests
that will assess you knowledge of Modern Database Applications.
- Advanced Web Programming
The module studies some of the more advanced approaches to developing web applications, examining both client
and server side technologies. You will use structured approaches to web development and a modern web
framework, together with a range of contemporary development tools. As your understanding of the technologies
and approaches develops you will be able to critically evaluate them and assess the benefits and risks of using a
given approach or framework for a given task. The module is assessed by coursework (100%).

Das könnte Ihnen auch gefallen