Computer science is an integral part of modern society and particularly in the large companies of the commercial and industrial worlds where the specialist skills of the computer scientist are put to the greatest use. A successful career in the computer industry relies on both sound technical skills and the experience of applying them in the real world. This course has been designed to develop your practical and applied skills and to support you in gaining the experience needed to apply these skills effectively. This will make you highly employable in a wide range of industries.
In the recent Salford NUS Student Experience Survey, for semester 1 2011-12, this course received a Gold Star for overall student satisfaction.
This course will provide you with a broad understanding of the field of computing but with a specialisation in programming, and with an appreciation and understanding of the role of theory in analysing algorithms. There are a range of options available that will allow you to undertake detailed study in specialist areas.
You will develop an in-depth understanding of methodical approaches to the analysis, design, development, testing and maintenance of object-oriented systems using the Java language on this course. You will graduate with a range of programming skills and a critical awareness of how to select the appropriate skill for a particular task, taking into account the issues of professionalism and ethics.
On this course, as well as gaining and developing a wide range of computer science knowledge and skills, you have the option to spend a year in industry between the second and third year of the course. This is an excellent opportunity to expand your CV and will give you the opportunity to apply your academic knowledge and interpersonal skills in a real-world environment, and to reflect on your own personal development and career choices. Successful completion of an industrial placement year will add 'with Professional Experience' to your degree title.
Year 1
Programming
This module will give you an in-depth experience of object-oriented programming. You will be introduced to a systematic approach to programming and the use of an integrated programming environment. You will also develop, among other skills, an appreciation of the software development cycle, good programming practice through design, implementation and testing, knowledge of dynamic data structures and the ability to test and debug code.
close
Computer System Internals and Linux
This module will provide you with an in-depth low-level knowledge of computer systems, concentrating on computer architecture, operating systems and communications technology. You will also start develop skills in the use of Unix-like operating systems at command-line level, writing and using simple scripts and batch files and the simple system administration of a standalone Linux PC.
close
Database Systems
This module will give you a fundamental knowledge of database management systems, their design, implementation and applications. It will develop your knowledge and understanding of the underlying principles of relational database management system, and how to implement and maintain an efficient database system using emerging trends.
close
Professional Development and Practices
This module introduces you to the business context and the work of the computing and information systems professional through an understanding of the societal, professional, ethical and legal issues surrounding business practices and the theory and process of project execution to a professional standard
close
Web Development and Human Computer Interfaces
You will be introduced to theory and practice of website design and development and develop knowledge and understanding of human-computer interaction and techniques for designing and analysing user interfaces. You will also gain skills and practical experience of designing, developing and testing a website using HTML5 and Cascading Style Sheets (CSS).
close
Year 2
Server Side Programming
In this module you will gain the knowledge and understanding to develop data-driven, interactive websites using industry-standard programme development techniques. You will develop the skills in the practical use and application of different server technologies and the programming languages available to support these technologies.
close
Software Project with Agile Techniques
This module combines technical work in computer programming with personal development planning. You will work in a group to design, develop, document and demonstrate a solution to a problem, working to a professional standard using Java programming. This module also introduces agile techniques and methodologies and provides an opportunity for applying, evaluating and reflecting on these techniques.
close
AI and Data Mining
In this module you will be introduced to Artificial Intelligence (AI) and Data Mining (DM) techniques for problem solving. You will become familiar with AI techniques and terminology for knowledge representation and searching, and gain an understanding of DM algorithms, and learn how these techniques are used in real world applications.
close
Data Structures and Algorithms
In this module you will first be introduced to some of the most important data structures used in the design and implementation of computer software and shown how these are implemented using Java. You will then learn to analyse the requirements of algorithm resources to allow you to provide a sound basis for objective choice when dealing with competing algorithms.
close
Networking
You will gain a thorough understanding of how the internet works along with the issues involved in setting up a network of PCs, getting them networked using TCP/IP and troubleshooting the network. You will also be given practical experience of installing and configuring network hardware and software and considering issues of network implementation.
close
Software Development Techniques
A broad overview of software development methods and techniques and the various stages of the software development life cycle will be given to you in this module. You will also be introduced to various modelling and design approaches that include object-oriented techniques and structured analysis and design.
close
Year 3
Project for Computer Science
You will undertake an individual project that will demonstrate your understanding of computer science. You can select your own area of study, identify and develop a realistic problem and, working independently and in a professional manner, organise, sustain and report on your project in a way which is both detailed and reflective.
close
Computer Graphics
Computer graphics provides an advanced and appropriate environment in which your transferrable skills can be developed, and in which real-world applications can be demonstrated. This module allows you to transfer your existing knowledge of object-oriented programming into to a new and specialised environment using high-level real-time 3D graphics toolkits, and your knowledge of Java will be built-on to allow use of the C++ programming language.
close
Software Quality Management
In this module you will study the idea of quality and its importance in the software development process. Using a variety of metrics, prediction systems and models you will build an appreciation of the worth of quality in any software development project. This will help you become a confident user interface developer through the use of appropriate and rigorous usability engineering techniques and guidelines.
close
Optional Modules (choose two)
Ajax and Smartphone Development
In this module you will be introduced to the key technologies used to provide interactive websites and interactive applications for use with mobile devices, taking into account the unique environment in which these applications operate. Consideration is given to how to use these technologies while still maintaining web standards and particularly accessibility.
close
Document Analysis and Semantic Web
This module introduces you to the process of analysing documents to extract the information contained in them, and extend this process to labelling and analysis of web-accessible data. You will also learn document engineering concepts and methodologies, key issues in document representation, and to examine the theoretical and practical issues involved in designing document analysis and recognition systems by studying real-life applications.
close
Internet Security and Computer Forensics
In this module you will think about the security implications of internet-based computer systems and develop a critical appreciation of both the theoretical and practical issues in the field of computer forensics. You will also develop the necessary skills, methodologies and processes to conduct a basic computer forensics investigation within an organisation.
close
Virtual Reality and 3D Games
This module will provide you with a comprehensive understanding of the principles, practices and measures of virtual reality technology and the development of interactive 3D worlds. Applications of the technology that will be used are from across sectors including the computer games industry, medicine, energy, engineering and science. You will develop your programming to an advanced level of understanding and experience of modern interactive 3D engine development.
close