Why choose this course?

Through development of new technologies and applications, computer science radically and continually changes the way we experience our world. This degree combines a major field in Computing with a minor field in Business. The Business field gives you a range of professional skills plus the ability to use them in a business context and to solve business problems.

Accreditation

This course is accredited by BCS, The Chartered Institute for IT.

What you will study

You will learn to build high-quality software applications to solve real world problems. You will study the fundamental principles underpinning computer systems, information systems, networks and the software development process.

Year 1 examines computer architectures and the range of tools and techniques used to build systems. Developing programming concepts and skills, you will become familiar with software development tools. You will learn principles, techniques and tools common to the analysis and design stages of software development. On your first business module you will learn basic business and economic concepts.

Year 2 continues core themes introduced in Year 1. The programming module extends your learning of the formal aspects of programming, including object-orientation, data structures, and algorithms, and ensures you are familiar with development environments, revision control systems and optimisation techniques. You will be introduced to the basic principles of networking and data communications, developing practical skills in network and IP addressing design. You will explore the essential features and operations of modern computer architectures and understand the principles and major functions of modern operating systems.

Data modelling is fundamental to the design of effective computer systems. You will learn to use UML design models to capture system requirements and learn to develop relational models and use SQL to develop database systems. Your second business module addresses efficient and effective management of human and financial resources for commercial advantage.

Year 3 has three core modules. The programming module enhances your programming skills and best practice, including the agile methodology, testing, and common coding standards design patterns. You will select two software ‘platforms' to enable you to develop your own specialism (eg Google Maps, frameworks for web development, .Net, and Swift Platform for mobile devices). The project module gives you the opportunity to show the knowledge and skills you have gained, applying them to a project of your choice and creating a key artefact for your CV. The business module explores the role of leadership and decision in organisations. You will also select one option module from computer science.

Module listing

Please note that this is an indicative list of modules and is not intended as a definitive list. Those listed here may also be a mixture of core and optional modules.

Year 1

Programming 1

Programming 1

This module will be taken by first year (Level 4) students enrolled on Computer Science, Software Engineering, Information Systems and joint honours degrees. It is not assumed that you have prior programming experience. The teaching and learning is split between several units, that will be directed at specific subsets of the above cohorts. This provides each cohort with a schedule of activity that is appropriate for their background and future needs, while allowing a general visibility and structure of material for the entire year.

IT Toolbox

This module is designed to provide the necessary underpinning of computer architecture as well as a wide range of tools and techniques to enable students to use and build systems, and to evaluate systems based on emerging technologies.

On successful completion of the module, you will be able to:

Produce personal demonstrations of the application of a range of modern IT technologies.

Describe the basic processes, principles and technologies working behind the scenes in current online IT environments including layers of abstraction in computing systems.

Discuss how current trends in online IT allow individuals, companies and organisations to operate online.

Select and use appropriate tools, systems and delivery technologies for web prototyping and developing simple online and mobile applications.

Describe some of the social, ethical and legal issues involved with modern IT environments.

Business Analysis and Solution Design

The module focuses on the principles, methods, techniques and tools commonly used in the analysis and early design stages of the software development lifecycle. You will work on a software design project in organised teams throughout the year to:

elicit, analyse and document requirements;

model early process and data requirements;

design the user interface of an interactive system with an emphasis on human-computer interaction;

produce, evaluate, and demonstrate its first medium fidelity prototype; and

Business Management

This module is designed to introduce you to the business function, with specific focus on marketing, data analysis, information systems, economics and the business environment. This module will equip you with the tools and skills to collect and analyse data, and present solutions to real-world problems based on marketing data. You will learn basic business and economic concepts and their application to current issues.

Year 2

Programming 2

Programming 2

This module extends your learning of the formal aspects of programming, including a comprehensive treatment of the object-oriented paradigm, selection and use of data structures, and algorithms for searching and sorting. The module enables you to become acquainted with the important tools available for programmers, such as development environments, revision control systems and code profiling and optimization techniques.

Apply an object-oriented methodology to make appropriate design decisions when creating and modifying computer programs, using class inheritance, association, aggregations, polymorphism, interfaces, encapsulation, access modifiers and class membership as necessary; select and use data structures such as arrays, lists, maps and trees to implement algorithms for searching and sorting based on container classes.

Include graphical user interface components in a computer program and ensure that they function as specified.

Explain the purpose and principles of tools available to programmers, such as revision control systems, integrated development environments, and code debugging, profiling and optimisation tools.

Understand the similarities and differences between the different execution environments in which computer programs are executed, such as the command line, the common gateway interface, applets, services and web server environments.

Understand the professional, legal and ethical issues associated with the creation and use of computer programmes.

Networking and Operating Systems

This module aims to enhance students' 'know-how' knowledge in modern computer systems from several classic perspectives such as computer organisations and architecture, operating systems, networking and parallel programming. The module builds upon basic concepts in computer architectures and computer networking and how modern operating systems work with developing an understand of operating systems, the importance of network protocols, distinguish OSI and TCP/IP models, as well as develop the skills of requirement analysis and network design.

On successful completion of the module, you will be able to:

Describe and differentiate between the essential features and operations of modern computer architectures.

Explain the principles and major functions of modern operating systems.

Develop an understanding of multi-processing techniques, concurrent programming and synchronisation.

Describe the basic concepts of data communications, networking and standard networking models, and to plan and design a computer network for specific usage scenarios.

Database and UML Modelling

Requirements and process modelling will be taken through the design stage with the development of different UML design models through to the implementation phase. The development of conceptual data models will be covered in more depth and developed for database design and implementation. Throughout, the module will focus on object-oriented analysis and design.

Managing Resources

This module considers the extent to which an efficient and effective management of human and financial resources can help organisations to achieve and sustain a competitive advantage. It examines key issues in human and financial resource management, using appropriate conceptual and analytical frameworks which can help to explain the choices available to organisations, and their likely reasons for adopting different approaches to the management of human and financial resources. The module examines key issues in strategic HRM. It demonstrates how various HRM policies and practices can be employed and intertwined to create an environment in which employees are satisfied and perform well. The module also explains the principles and construction of the key financial statements and prepares students to interpret financial information to make appropriate economic decisions and recommendations. In so doing, it provides opportunities for applied learning and professional development.

Optional sandwich year

Year 3/4

Programming 3

Programming 3

This module covers develops concepts gained at the previous level and applied to a number of important aspects of modern programming: the different modalities of I/O, document objects and the software release lifecycle.

On successful completion of the module, you will be able to:

Explain the similarities and differences in the operations necessary for input from and output to a file, a stream and a database.

Individual Project

This module allows students to demonstrate their skills and understanding gained through the application to a project of their choice. The project requires evidence of managing and developing the process of running a project, creating an artefact and reflecting critically upon the process and outcomes, as well as develop software for a real client.

On successful completion of the module, you will be able to:

Plan, manage and control a substantial project including its critical appraisal.

Investigate, analyse and define the problem either for a client or to support their own implementation, as appropriate.

Apply relevant techniques in systematically designing a solution to the problem independently identify, research and synthesise literature relevant to the problem.

Construction and presentation of a prototype leading to a solution and its suitable testing.

Report effectively on what has been achieved and to what extent the objective(s) have been reached.

Demonstrate competence in the production of supporting documentation for the work.

Management Strategy and Operations

This module considers the development of the role of management in organisations, the importance of strategic analysis and decision making to enable sustainable development and the different contexts in which organisations might operate. You will develop an understanding of the environment in which organisations operate and how organisations use internal resources and competences to achieve competitive advantage. The module examines the role of culture and management in organisations, and the options for growth and development.

One option module

You will have the opportunity to study a foreign language, free of charge, during your time at the University on a not-for-credit basis as part of the Kingston Language Scheme. Options currently include: Arabic, French, German, Italian, Japanese, Mandarin, Portuguese, Russian and Spanish.

We aim to ensure that all courses and modules advertised are delivered. However in some cases courses and modules may not be offered. For more information about why, and when you can expect to be notified, read our Changes to Academic Provision.