Information Technology and Professional Skills
Information systems and the use of databases is a key element to success of many businesses as is the use of technology for planning, communication data storage, presentation. This introductory module is designed to demonstrate the role of business and office software systems in organisations. The module explores such computer course topics as data management systems, word processing, spreadsheets, HTML, Email, Web browsing and searching, instant messaging, newsgroups, operating systems, graphics, current IT platforms, PERT and Gantt charts, intellectual property rights, Data Protection and Computer Misuse Acts, professional ethics, group working and communication skills.
Software Engineering and Human Computer Interaction
This module examines how software systems are designed. Computer course students analyse the elements of human/computer interaction to understand how to engineer software in order to produce useable, testable and verifiable systems. Case studies and practical business examples are studied in order to identify and solve problems in allocating tasks between people and computers. The module concentrates on such areas as the nature of current software engineering; the software lifespan and development process: specification; design; testing and debugging, and software project planning.
This module introduces the basic skills of object orientated programming. Students develop programmes in the C++ programming language and identify methods of using relevant programmes to solve business problems. The module covers the following areas: C++ programme analysis and specification; other programming languages; programme construction; data types; primitive and reference variables in C++, statements, blocks, conditions, loops, input and output; program design: methods, structures, objects; problem analysis and solution; presentation of solutions; and data processing.
The module reinforces fundamental concepts and develops an awareness of the issues involved in implementing larger-scale software projects, and introduces the concepts and principles of abstract data types. It develops an ability to design and express algorithms and introduces concepts of space and time complexity. Selected generic algorithms and techniques for data manipulation will be explored. The module covers data and programme structures; physical, logical and abstract views; abstract data types; algorithms: abstraction, refinement and expression in pseudo code; introduction to analysis and complexity; appreciation of recursive techniques; methods for sorting, searching and merging; object oriented programming: use of objects in C# to represent data, and to manage the user interface; exploration of more advanced techniques for structure and control of OO program processes; deployment of container classes and collections; integrated development environment: pragmatics of developing and deploying applications; examples of automatic code generation, with tools such as GUI builders; practical use of an IDE in creating programs.
Quantitative Methods for Computing
This module introduces the basic mathematical techniques relevant to computer science applications and explores ideas of proof and logic. Concepts such as set theory and applications are explored, as are maps, graphs of functions; calculus and logic; Boolean expressions; basic algebraic techniques for rearranging expressions; the solution of simple equations; simple inequalities; permutations and combinations; number systems and notations; index laws, fractional and negative powers; square root exponents; exponential function; logarithms and bases; trigonomical concepts, co-ordinates and vectors and matrices.
This module provides an analysis of computer systems, including key components, processes and functionality. It demonstrates the main features of both hardware and software, and the features of data presentation and memory. It also explores the nature of device management, memory management and files management, and provides an overview of operating systems. The module also illustrates processes and scheduling of data protection and security procedures and controls. The module explores such concepts as: types of processors and their functionality; program representation and execution; types of memory; virtual and protected memory; connectivity; data representation; number systems; peripherals; operating systems: processes, scheduling; resource management, device management, memory management, file management; user interfaces; protection and security: access controls, virus protection.
Internet Development: Coding and Programming
To introduce common approaches used in the coding phase of software development. To promote an understanding of programming concepts in a simple scripting language. To relate organisational goals and tasks to the programmes produced and to website design.
The module aims to introduce the basic principles of Artificial Intelligence. These include symbolic programming, knowledge representation, non-linear data structure manipulation, state-based search, planning and neural networks. The emphasis on the practicalities and the implementation of the techniques are also a feature of this module.
This module introduces the key concepts that underpin computer graphics and develops an awareness of 2D and 3D graphics application programming interfaces. Graphics algorithms, vectors and matrices, modelling and rendering are introduced and an understanding of how to apply them to implement graphical solutions developed.
Telecommunications and Networking
To identify the uses and benefit of telecommunications and networking and to determine methods of introducing systems development technology. To demonstrate methods of creating secure networks and data pathway. To demonstrate the importance of the internet and the design of web pages in computer courses and the real working world.
Systems Analysis and Design
The aims of this module are to introduce the tasks of elicitation, modelling and validation of the requirements of an information system, and to provide practical experience of implementing a completed system from an object orientated design. It also aims to develop knowledge of software engineering in terms of the management of software development and quality issues including reliability, safety, security and utility of computer systems.
Database Systems Management
This module aims to develop an understanding of the purposes of databases and the methods by which they are established and developed. It also aims to highlight the architecture and uses of databases on the internet and how they improve decision-taking processes in practice. Thus a central aim is to demonstrate the nature of database systems and the technical problems of maintaining and developing their effectiveness.
Mobile Devices and Applications
Mobile computing devices have become vital tools for many enterprises. This module
introduces these devices and considers their functions and unique characteristics. It will
also examine the nature of operating systems and software for such devices, as well as the issues of human interaction with them.
This module aims to demonstrate the purpose and scope of e-commerce and the technology involved in its introduction. It also aims to identify the commercial and legal constraints to its development and its potential benefits and profitability. The significance of the internet and collaborative working is also demonstrated.
Choose one of the following modules:
This module considers one of the major entertainment arenas of the 21st Century,
combining the major forms of media with advanced computer programming. It will develop
relevant programming skills whilst also considering the technologies, techniques and
strategies to develop and evaluate games on various platforms.
This module aims to demonstrate the foundations of object orientated principles and the
C++ programming environment. It also aims to illustrate the methods of preparing structured programs in C++ and to apply the concepts across the class of object orientated languages. It will additionally develop an understanding of the methods of writing programs relevant to practical business situations.
The module provides practical experience in the analysis and design of complex software systems, with CASE tool support, and introduces the use of frameworks, components and patterns to the design process. It also aims to develop the ability to identify patterns, manipulate designs and create software components that can be utilised to resolve development issues. The module investigates: libraries, standardization; component-based design: standards in component architectures; the Java Enterprise and .NET component frameworks and infrastructure; patterns: patterns in software development; identifying and deploying pattern based solutions; re-factoring and overview of techniques.
Project and Project Management
A major skill relevant to business organisations is that of managing projects, an aspect that our computer science courses strive to capture. It frequently entails using teams in which individual responsibilities need to be coordinated to ensure that objectives are met. The module explores the basis of an effective planning process through the appropriate scheduling of resources and offers the opportunity to final year undergraduates to demonstrate their skills in the preparation of a research project. The project should focus upon a particular business problem or opportunity. Typically, course members will choose a case study and make a critical appraisal in the light of related business theories. The benefit of this study is that it provides a real possibility that the conclusions of the project could make a contribution to business efficiency.
If you choose our 2 or 3 year degree with year 0 you will study the following courses on your first year:
Principles of Management
Advanced Critical Writing Skills