Computer Science BSc (Hons)
About the course
One of a range of degrees from the Undergraduate Programme at the School of Computer Science
Distinguishing Features
The BSc (Hons) Computer Science degree has a technology and software development focus to provide you with in-depth technical skills and knowledge. Throughout the course, but especially in later years, you have the freedom to construct your own programme from a wide range of modules and graduate with a broadly based honours degree. This keeps your career options flexible, providing the broad base that most employers are looking for.
Year 1
All students study the same four modules in the first half-year (semester), giving you a thorough grounding in key areas of academic and professional computing including computation, programming, databases/ data structures and multimedia.
In the second semester, three of the modules you study will be specific to the Computer Science theme: on programming, networks and computer systems.
The fourth module is an option, chosen from the other theme or one of two further modules.
Year 2
In the second year, you will expand on your knowledge of programming and networks, while developing practical skills and professional awareness in systems development. You study four double (30 credit) modules that are taught over both semesters. Three of the modules will be specific to the Computer Science theme and the fourth is an option.
Final Year
In the final year (Year 4 on a sandwich course, Year 3 if full-time; shown as Year 4 in the Course Structure tab), you extend your knowledge and professional awareness.
In the first half-year (semester) you study a core single (15 credit) module, and three options shown with an "A" in the list from the Course Structure tab. In the second semester you continue with two of these (shown with a "B") plus a core double (30 credit) module project.
The core Professional Issues module examines the issues affecting IT Professionals, enhancing your value to employers. For the options, you initially choose three from the list of those offered, to fit in with your interests and career direction. If you wish, one of them can be taken from the list for our BSc Information Technology.
The project is a substantial piece of practical or investigative work that will enable you to apply your academic studies in a specific context. You choose the topic from a wide range of suggestions, or you can propose it yourself.
Other Opportunities
In additional to your formal studies, we offer a number of optional activities, currently including certification classes for Cisco (CCNA1-4), research seminars, and participation in national student competitions such as the Microsoft Imagine Cup and Robocup Soccer.
Why choose this course?
- With our BSc (hons) Computer Science degree you choose from a wide range of options to build your own broadly based custom programme, with a focus on technology and software development.
- Prepare yourself for a career in the IT industry through a mix of academic, professional and practical work, with opportunities for industry certifications and a paid placement year.
- Study at a highly-regarded, well established computer science department with excellent facilities, strong links to both business and research, and a track record of graduate success.
- Also consider other degrees in our range: you can choose between two themes and have the opportunity to specialize or to retain flexibility.
Entry requirements...
Minimum 260 points. Plus GCSE English Language and Mathematics at Grade C or above. Or equivalent.
IELTS 6.0, TOEFL 550 (213 CBT) if your first language is not English.
Study routes
- Sandwich, 4 Years
- Full Time, 1 Years
- Sandwich,
- Full Time,
- Full Time, 3 Years
Locations
- University of Hertfordshire, Hatfield
Careers
Several thousands of UH computer science graduates have moved into a wide range of careers; many are now in senior positions in the UK and throughout the world.
Initial job roles have included programmer, software developer, business analyst, software engineer, webmaster, database administrator, network designer, and technical consultant.
This particular degree title retains flexibility and hence is preparation for a wide variety of careers in many areas of computing or software development.
Teaching methods
Classes consist of lectures, small group seminars, and practical work in our well-equipped laboratories. We use modern, industry-standard software wherever possible. There are specialist facilities for networking and multimedia.
In addition to scheduled classes, about 16 hours per week in Year 1, you will be expected to spend the same amount of time in self-study taking advantage of the extensive and up-to-date facilities. These include the Learning Resource Centres, open 24x7, with 1,500 computer workstations and wifi access, Studynet our versatile online study environment accessible on and off campus, and open access to our labs .
Work Placement
You have the opportunity to undertake an optional professional placement for your third year. We encourage you to take advantage since research has shown that on average placement students have a greater chance of finding good employment after graduation and achieve higher grades in their final year.
Work placements are spent in a paid job relevant to your degree. You apply in the second year, with support from the University using our extensive contacts with employers.
Recent placement students have worked at large organisations such as Xerox, Chevron-Texaco, and Microsoft. Others have worked for small companies, perhaps family-run or near home.
Professional Accreditations
British Computer Society (BCS) accreditation applied for.
Structure
Year 1
Core Modules
-
Programming Principles
This module is primarily concerned with developing basic skills necessary to produce computer-based solutions to simple problems in a high level language. The emphasis will be on basic programming principles : the structure and syntax of a program in the given programming language, variables and data types, operations and the evaluation of expressions, control structures (sequence, selection, iteration and subroutine call),modularisation(including procedures/functions). Program code will be expected to perform according to specification, be readable, maintainable and well designed. Although the given problems will be relatively simple, there will also be an appreciation of how simple solutions can be used in the solution of more complex problems. A more detailed description of the module content is provided in the module delivery information for students.
-
E-Media Design
There is a long tradition on computer science programmes of teaching about the relationship between data structures and algorithms. Data these days are commonly images, animations, sounds and video, as well as text and numerical characters, and the ways of putting these data together are more varied than ever before. Yet the choice of data construct still depends on the processes you intend to use on that data and the processes you can apply depend on the choice of data structure. On this module, we will examine what motivates design decisions, the importance of creating systems that are fit for their intended purpose and enable students to make straightforward design decisions of their own. Students are referred to the document entitled 'Information for Students' that is issued each year to students on the module for a more detailed description of the syllabus. A more detailed description of the module content is provided in the module delivery information for students.
-
Programming and Program Design 1
This module is concerned with developing further the skills necessary to produce a computer-based solution to more complex specified problems in a high level language. Students will gain an appreciation of some of the issues in program design and will be given the opportunity to make informed decisions in their practical work based on some of the principles of good program design. There will also be emphasis on professional issues such as adequate testing, use of de-bugging techniques and documentation. Program code will be expected not only to meet given specification, but also to be readable, maintainable and well designed. A more detailed description of the module content is provided in the module delivery information for students.
-
Systems Requirements
This module focuses on the rationale, processes and outputs of requirements engineering activities. This requires students to focus on how organisations ensure that systems meet the requirements of all their stakeholders by using appropriate software engineering techniques. This approach will be used to cover the various processes such as eliciting, modelling, and validating requirements. At the elicitation stage this could include individual techniques such as bench marking and interviewing. Other techniques such as the use of prototypes or scenarios will be considered in the context of multiple processes, for example both modelling and validating requirements. A more detailed description of the module content is provided in the module delivery information for students.
-
Principles of Network Systems
Computer networks underpin almost every form of computing application, so it is important to appreciate the principles of operation these networks. But computer networks are also extremely complex and hard to understand. This module looks at network applications, and the requirements that different kinds of application demand of the underlying network, and how those requirements may be characterised. It then looks at the performance of networks, and why the network so often seems to be a bottleneck in computer applications. This will lead us into an increasingly detailed examination of what happens when network applications are executed, and introduce some of the more important terminology and principles of the subject. A more detailed description of the module content is provided in the module delivery information for students.
-
Professional and Academic Skills for Computer Science and Information Technology
The module will comprise a set of practical exercises, supported by a set of lectures and meetings with tutors. The practical exercises are intended to provide students with opportunities to tackle challenging tasks in Computer Science or IT. These tasks will require students to practice and develop their technical, organizational and professional skills, and to develop their knowledge and understanding of professional and ethical issues. In the meetings with tutors students will be encouraged to discuss issues arising from the lectures and practical exercises and the way this module relates to the other modules they are studying, to gain feedback on the work they have done, and to help them plan for the future. Lectures will be used to 'set the scene' for the practical exercises, to identify relevant professional and study skills, and to introduce students to the professional and ethical standards to which they are expected to adhere.
-
Foundations of Computation
This module aims to introduce students to a number of principles that underlie computation and computer-based systems, and how they may be modelled. Both the static and dynamic aspects of systems are considered, with computation being viewed both in functional terms, and as a series of state transitions defined over abstract or virtual machines. The module is intended to provide students with a clear concept of a formal approach to the modelling and specification of computational systems, and to introduce basic formalisms of importance throughout computing. The module will also seek to illustrate some of the ways in which the use of formalisms in modelling and specification can aid those involved in the design, development and operation of computer-based systems.
-
Data Driven Systems
This module provides an introduction to database systems. It takes a practical approach using example applications or case studies. It then builds on this application experience to cover questions of why and how databases are designed and used. This will include practical experience of using a database management system, in particular of using simple SQL to query a database, and thus facilitating the view of the database as part of a larger system. Later in the module underlying formalisms will be studied but from an application-down standpoint -to inform understanding rather than as a subject for study in its own right. A more detailed description of the module content is provided in the module delivery information for students.
Optional
-
Principles of AI and Artificial Life
This module provides an introduction to Artificial Intelligence and Artificial Life. A variety of recent AI and A-Life models, such as games playing, mobile robots and problem solving, will be used. A more detailed description of the module content is provided in the module delivery information for students. A more detailed description of the module content is provided in the module delivery information for students.
-
Programming and Program Design 1
This module is concerned with developing further the skills necessary to produce a computer-based solution to more complex specified problems in a high level language. Students will gain an appreciation of some of the issues in program design and will be given the opportunity to make informed decisions in their practical work based on some of the principles of good program design. There will also be emphasis on professional issues such as adequate testing, use of de-bugging techniques and documentation. Program code will be expected not only to meet given specification, but also to be readable, maintainable and well designed. A more detailed description of the module content is provided in the module delivery information for students.
-
Computer Systems Architecture
The module seeks to provide students with a basic knowledge and understanding of the underlying hardware and software components of typical computer systems, and how these interface. A more detailed description of the module content is provided in the module delivery information for students.
-
Internet Technologies
This module introduces the underlying infrastructure of the Internet and World Wide Web (WWW). In addition, students will examine how the client-server model works and how it is applied to Internet applications. To this end, students will implement straightforward static and dynamic web pages. Dynamic web pages may also include data retrieved from a database. This module includes basic concepts of: Internet Protocol (IP), TCP (Transfer Control Protocol), HyperText Transfer Protocol (HTTP), Internet Service Providers (ISPs), the Domain Name System (DNS), client-server model, mark-up languages, client-side programming and server-side programming. At the end of the course, successful students will be able to solve simple problems in the implementation and maintenance of applications for the Internet environment. Further details on how the learning outcomes of the module will be achieved will be described in the module information for students. A more detailed description of the module content is provided in the module delivery information for students.
-
Business Information Systems
This module will partly lead on from the databases module run in Semester A however its primary focus will be what types of systems are used in business, how they are used and how they might be built. A range of business systems will be explored both in terms of the business need for which they were developed and the sector and legal context. Some tools and techniques that might be used to assist with transferring the business needs to an application specification will be explored and a range of process models will be presented to match the varying requirements. Students will have an opportunity to develop their understanding of the process of building IS business applications skills through the requirements analysis phase for a given case study. A more detailed description of the module content is provided in the module delivery information for students.
-
The Human, the Screen and their Interactions
This module will provide students with an introduction to, and overview of, the process of the design, development and evaluation of interactive systems with a particular focus on human computer interaction. The intention is to enable students to understand the process, to carry this out in a collaborative team environment creating a small interactive system and to enable students to evaluate the effectiveness of the approach used. Students will use case study examples relating to a real world environment. Topics will include; user modeling, task analysis, methods for designing interfaces, evaluation methodologies, collaborative working and computer supported co-operative working. A more detailed description of the module content is provided in the module delivery information for students.
-
Principles of Network Systems
Computer networks underpin almost every form of computing application, so it is important to appreciate the principles of operation these networks. But computer networks are also extremely complex and hard to understand. This module looks at network applications, and the requirements that different kinds of application demand of the underlying network, and how those requirements may be characterised. It then looks at the performance of networks, and why the network so often seems to be a bottleneck in computer applications. This will lead us into an increasingly detailed examination of what happens when network applications are executed, and introduce some of the more important terminology and principles of the subject. A more detailed description of the module content is provided in the module delivery information for students.
-
Data Driven Systems
This module provides an introduction to database systems. It takes a practical approach using example applications or case studies. It then builds on this application experience to cover questions of why and how databases are designed and used. This will include practical experience of using a database management system, in particular of using simple SQL to query a database, and thus facilitating the view of the database as part of a larger system. Later in the module underlying formalisms will be studied but from an application-down standpoint -to inform understanding rather than as a subject for study in its own right. A more detailed description of the module content is provided in the module delivery information for students.
Year 2
Core Modules
-
Computer Science Development Exercise
This module provides students with the opportunity to create a system in a professional manner, using and developing an appropriate range of skills and knowledge. The system to be developed will typically be a simulation system and the development approach will be based on the use of exploratory design, technical feasibility and agile methods although reference will be made to structured analysis methods. Personal aspects covered will include communication and group working, while the technical skills will focus on programming and program design, building upon those gained in level 1. Successful completion of this module should equip a student with sufficient skills and knowledge to enable them to successfully apply for and complete an industrial placement. A more detailed description of the module content is provided in the module delivery information for students.
-
Programming and Program Design 2
This module takes a broad view of the nature of programming, exploring a number of different approaches (e.g: procedural, object-oriented, event-driven, functional and logic-based) and the characteristics which make these approaches suitable for different types of problem. The module addresses the program components found in different types of language, how these are related and how programs are constructed using them. Common data structures and algorithms to manipulate them are studied, as is the use of concurrency in program design and implementation. Procedural, object-oriented and event-driven paradigms are likely to be covered in rather more depth than the others, as these are currently employed in the widest range of different contexts.. Professional approaches to program design, construction, documentation and verification are further encouraged. A more detailed description of the module content is provided in the module delivery information for students.
-
Operating Systems and Computer Networks
This module introduces some principles of system software- operating systems, networking, and other system software. Students investigate the application of these principles through a system programming task on a workstation. Theoretical issues are covered in the lectures to the extent necessary for the successful completion of the practical part. Some issues, arising either from the lectures or from tutorial question sheets, are discussed in further detail during tutorials. Students' independent study is mostly dedicated to working on hands-on programming exercises on a workstation. A more detailed description of the module content is provided in the module delivery information for students.
-
Preparation for Professional Placement in Computer Science
The module will explain the benefits of the Supervised Work Placement and encourage students to apply. It will support students in their application by informing them about the types of employer and job role available, helping them select the most appropriate for their strengths and weaknesses, and how employers conduct the recruitment process. The module will assist students to make an application, throughout the entire process, via a series of lectures, seminars, individual guidance and online communication. This includes writing of CVs and letters of application, preparation for psychometric and other forms of assessment, and development of interview technique. For those who are successful in securing a placement there will be further help in preparing for employment.
Optional
-
Information Technology for Business
This module leads on from the Business Information Systems 1 module. It introduces students to the way in which a range of organisations operate and the necessary support that IS/IT provides to the environment of a 21st century organisation. Through the development of a business plan and the use of case study material, students will understand the interrelationships between different business functions and the support required from appropriate business systems, both new and existing, for a successful organisation to compete in the business environment.
-
Data Management and Applications
This module provides an in-depth study of the design and implementation of relational databases. The module views database systems from two perspectives, one being the architecture and functionality of the database management system, the other being the representation of the data managed by the database management system. The module provides the principles and techniques needed to develop relational database systems, together with the database theory on which these principles and techniques are founded. There is a large practical element that allows students to gain experience of using a shared multi-user system in the various roles of a database designer, database administrator and end user. The module also raises an awareness of areas where new types of database are emerging. A more detailed description of the module content is provided in the module delivery information for students.
-
Computer Architecture
High performance processors exploit instruction level parallelism (ILP) by overlapping the execution of sequential instructions (pipelining) and by multiple instruction issue (MII) in each clock cycle. Although these approaches improve processor performance, they do not improve performance of the memory subsystem. We will therefore study the memory hierarchy with a view to solving the so called memory wall problem . The Architecture of this module focuses on ways by which ILP and MII can be exploited, and on ways to improve both data processing and data access time of the memory subsystem. A more detailed description of the module content is provided in the module delivery information for students.
-
Interaction and Games Design
Students will be introduced to the convergence of disciplines which inform contemporary practice in the design and realisation of a computer game. The course will focus on the design, creation, testing and evaluation of computer games. Particular attention will be paid to the role of the user, and to the 'playability' of a game. Instruction will be given in the use of an authoring tool such as Adobe Macromedia Flash, which is capable of producing games for a variety of media, including hand-held devices, as well as the Internet. A more detailed description of the module content is provided in the module delivery information for students.
-
Artificial Intelligence and Robotics
This module is intended to build upon the fundamental principles identified in the Level 1 module Principles of AI and ALife. Students will be given opportunities to further develop their knowledge of the principles of artificial intelligence and robotics, and to gain practical experience of the design, programming and behaviour of intelligent systems and simple robots.
Year 3
Core Modules
-
Professional Work Placement in Computer Science
Supervised work experience provides students with the opportunity to set their academic studies in a broader context, to gain practical experience in specific technical areas and to strengthen their communication and time-management skills. It greatly assists them in developing as independent learners, so that they will be able to gain maximum benefit from the learning opportunities afforded by the study programme at level 3. It gives them opportunities, according to the nature of the placement experience, to acquire the basis of technical expertise in specialist areas, which they may be able to enhance through study at level 3, especially in the final project.
- Year Abroad
Optional
Year 4
Core Modules
-
Professional Issues in Computing A
Typically the module content will include: * Data Protection Act; * Computer Misuse Act; * copyright; * ethical issues in the use of computers and data; * good practice in systems design; * interrelationship between computers, their use in society. The basis of the legal elements of this module will be English Law, but no prior knowledge of this legal system is expected of students.
Optional
-
Quantum Computing A
Quantum information processing continues to be an extremely active research area exploiting fundamental quantum phenomena in new applications from computation, secure data communication and information processing. A major paradigm shift, the area is of significant interest and potential benefit to computer scientists, mathematicians and physicists. This module will be theoretical in nature, exploring concepts and applications from the area of Quantum Information Processing with an emphasis on Quantum Computing. Content will vary according to current research directions.
-
Data Mining & Visualisation A (warehousing)
This module will introduce students to the subject of knowledge discovery, or as it is more traditionally described: data warehouses and data mining. The key components of such systems will be explored, and the various methods that can be used to analyze the data, and interpret the results. The module will also consider how to "clean up" poor data, or handle more complex data such as spatial databases, multimedia databases, time-series or sequential data and data from the World Wide Web.
-
Programming Language Design and Implementation B
This module will build on the material studied in PLDI-A by introducing students to algorithms relating to the implementation of compilers for languages, such as parsing, type-checking or optimisation. Students will be introduced to the algorithms underlying the interpretation and compilation of computer languages, developing a more detailed appreciation of the relationship between languages and their likely development.
-
Principles and Applications of Web Services B (architecture)
The World Wide Web Consortium (W3C) identifies web services as a way of delivering "service oriented architectures" (SOA). In turn, SOA is a form of distributed systems architecture that views services as "an abstracted, logical view of actual programs, databases, business processes, etc." The module objectives are achieved in part by contrasting "Big" web services architectures (as characterized by the use of SOAP, WSDL and Enterprise Service Buses) with smaller-scale designs, for example those built using RESTful principles. In both cases, the creation of abstract data representations (in which structure is separated from content and presentation) is considered through the use of XML. XML also provides the platform for understanding the more advanced standards that have been created to support the development of web service applications and architectures. Examples include the modeling of business processes (e.g. using BPEL) and the development of the semantic web (e.g. using RDF and OWL).
-
Programming Language Design & Implementation A
One of the most basic and fundamental tasks of a computer scientist is to make a computer understand and carry out the instructions of its user. Computers are programmed by entering instructions in a language, and a professional computer scientist will meet and use a range of languages in their career. The evolution of new languages is continuously driven by advances and changes in technology, such as the internet or mobile computers. What kinds of features change? Are "new" languages necessarily improvements on existing ones? How can the best language be picked for a particular project? This module will give students the basis from which such questions may be answered. Students will study how propular languages have evolved, the key features of language design, and also how language features are implemented.
-
Principles and Applications of Web Services A (technology)
The World Wide Web Consortium (W3C) defines a web service as a "software system designed to support interoperable machine-to-machine interaction over a network". As such, this module is primarily concerned with programmatic access to on-line information sources, rather than the design and development of human facing websites. The motivation for application integration includes the role of web services in the development of the semantic web, and "mash-ups" based on the Internet as a platform, powered by open access to data. This will be supported by an exploration of XML and related standards used in "big" web services (such as SOAP and WSDL) and more client-side technologies (such as AJAX). The standards and technologies explored in this module will focus on three key issues: XML messaging; XML data manipulation; and XML data presentation. The latter is important in so far as web services facilitate the development of new, user-centric application.
-
Advanced Databases B
The focus of this module is on advanced issues related to distributed databases, and will include: * XML, distributed database theory and practice, transaction management and mobile databases.
-
Advanced Databases A
The focus of the content of this module is on advanced issues related to localized databases, and will include relational algebra, database security and data warehousing.
-
Real Time Systems B (Design and Development)
This module covers the Computer Science principles involved in the specification, design and implementation of a real time system with dedicated operating system. The module introduces the key concepts relating to real time systems and their characteristics and provides an overview of real time control and its application to large embedded systems. The topics covered will include the extension of specification and design techniques to encompass real time considerations as well as the specific requirements needed in a real-time operating (or run time) system. There is a significant practical element in the module, which will use an embedded system with relevant software tools.
-
Real Time Systems A (Small Embedded Systems)
This module covers the Computer Science principles involved in the specification, design and implementation of small embedded systems. The module introduces the key concepts relating to small embedded systems and their characteristics. The topics covered will typically include interfacing techniques, analogue and digital input, interrupt handling, multiplexing and polling. There is a significant practical element in the module, which will use a small embedded system with relevant software tools.
-
Quantum Computing B
The content for this module builds upon that presented in Quantum Computing A tackling for example more advanced topics such as Shor's algorithm and Grover's algorithm. The content is theoretical in nature, exploring concepts and applications from the area of Quantum Information Processing with an emphasis on Quantum Computing. Content will vary according to current research directions.
-
Data Mining and Visualisation B (Data Visualisation)
Effective visualisation of data is often key to the ability to make sense of the data, analyse the data, organise data, select from the data and so forth. However, the key to effective visualisation of information requires understanding of the principal issues of representing, presenting and designing effective interactions with data. This module starts with those principles and moves on to explore the how these principles can be applied in the design of information spaces and the information architecture of websites or other systems that support information seeking activities.
-
Digital Entertainment Systems B (Production)
This module is related to the production of a range of digital entertainment systems (DES). The aim of the module is to provide learners with an experience of a range of technologies and skills in the area of DES design. This module will provide students with understanding and experiences in aspects of digital entertainment, such as: * digital audio in DES design; * digital video production in DES design; * animation in DES design; * image and animation in DES design * television; * personalisation and intelligence in DES design; * 2D and 3D environments in DES design; * virtual reality systems in DES design; * entertainment on platforms such as: a) mobile and hand held devices; b) internet and networks; c) stand alone computer systems; d) games consoles; e) television. * usability issues in in DES design; * Human Computer Interaction in in DES design; * cultural issues in DES design. Learners will develop theoretical and practical professional skills in development DES. These will include advanced software development and project management methods, programming and scripting skills. Learners will also develop an informed critical awareness of some of the cultural, technical, creative, economic, professional, legal and ethical contexts of areas in which their future career aspirations may be realised.
-
Digital Entertainment Systems A (Digital Media Production)
This module relates to the design, development and modification of advanced digital media for use in the production of a range of digital entertainment systems (DES). The aim of the module is to provide learners with an experience of the necessary technologies and skills in the area of digital media and interactive system design. This module will provide students with skills and understanding in aspects of digital media for entertainment systems and the developing and management of large scale multimedia software development projects. This includes: * digital audio production; * digital video production; * media quality and bandwidth issues; * animation; * image production and editing; * interactive television; * intelligent multimedia; * multiplayer gaming; * 2D and 3D environments; * virtual reality systems; * the development of media for platforms such as: a) mobile and hand held devices; b) internet and networks; c) stand alone computer systems; d) games consoles; e) television; * interactive system design; * usability issues; * Human Computer Interaction; * cultural issues in DES. Learners will develop the theoretical and practical professional skills necessary in the production of a range of digital media for the development DES on a variety of platforms. These will include software development methods, programming and scripting skills, digital media production, editing and use. Issues such as the factors related to the quality of digital media and the limitations imposed by bandwidth will be covered in depth. Learners will also develop an informed critical awareness of some of the cultural, technical, creative, economic, professional, legal and ethical contexts in relevant areas.
-
Web Application Development B (enhancement)
This module aims to give students the opportunity to utilize a variety of technology and knowledge of best practice to enhance their web applications. In particular, it looks at utilizing graphics or time based media into the application, modelling the interface behaviour more effectively and realising designs using the document object model.
-
Web Application Development A (Design)
This module aims to give students the opportunity to think about how they would go about developing a simple web application, what they need to take into account when developing it, and some of the available technology to support the process. It will emphasize effective web site design, and the importance of separating content from style, and keeping sites accessible.
-
Strategic Information Systems Planning & Management B
This module enables students to investigate current thinking and issues regarding the effect of development & implementation of management of information, systems and technology, have on framework of organisations. It provides ideas on how to manage the change.
-
Empirical Evaluation in Software Engineering B (Applications)
The module will explore how software practitioners can use models of software systems and software processes to describe and improve those systems and processes. A range of models will be considered and will be supported with examples from industry.
-
Strategic Information Systems Planning & Management A
This module enables students to investigate current thinking and issues regarding the effective development, implementation and management of information, systems and technology within the strategic framework of organisations.
-
Empirical Evaluation in Software Engineering A (Principles)
This module will examine why software practitioners should and shouldn't undertake and appraise empirical evaluations, what methodologies and methods are available to guide those evaluations and appraisals, and how to choose between the different methodologies and methods. A range of industrial examples of tool adoption (e.g. the adoption of requirements management tools) will be used to demonstrate the concepts presented in this module.
-
Computer Network Protocols and Architecture B
This module gives students further opportunities to develop their understanding of the fundamental principles of computer networks, their internal architectures and the ways in which they can be used.
-
Computer Network Protocols and Architecture A
This module gives students an opportunity to reappraise the fundamental principles of computer networks, and to explore their internal architectures, and the ways in which they can be used. The module is intended to provide a framework for understanding the details of different systems, so that whether as a purchaser, a developer, or a researcher you will be able to rapidly assimilate the details relevant to a particular situation and apply the knowledge, experience, and understanding gained on this course to whatever environment you may be faced with in the future.
-
Artificial Intelligence 2 A (Artificial Life & Embodied Cognition)
Artificial Life (AL) is the study of the modeling and synthesis of living and life-like systems, especially with regard to the "computation" they implicitly perform in interaction with their environment. It comprises one of the major directions of Artificial Intelligence (AI) of the last few decades, and its techniques are widely applied in areas as divergent as animation in movies and computer games, economics, machine learning, physics and engineering (robotics, space sciences) and systems biology. The importance of embodiment in the understanding of natural intelligence has led researchers in robotics, AL, and AI to focus on Embodied Cognition, in which the role of the external environment and the way agents are built are at least as important as any algorithm. This course provides a valuable and solid foundation in the increasingly important and applicable paradigms and techniques of Artificial Life and Embodied Cognition, supported by essential lectures and hands-on laboratory work.
-
Artificial Intelligence 2 B (Socially Intelligent Agents & Robots)
As Artificial Intelligence and robotics becomes more widespread, the requirement for it to be able to interact with, and socially respond to, users and other agents in its environment increases. The process of recognition and interaction involves several stages and complications, from identification of other agents, to recognising their behaviours, to displaying the social cues which are essential to maintain interaction. This module introduces and examines various frameworks and applications of social robotics and Artificial Intelligence, and examines aspects such as behaviour-based control, conventional paradigms in both Artificial Intelligence and social engineering, and why these aspects are necessary. This is reinforced by applications and demonstrations of the principles applied.
-
Artificial Intelligence 1 A (Constructive Artificial Intelligence)
This module covers essential principles and techniques in Artificial Intelligence (AI) , classical and modern, as well core topics in Computational Intelligence. These have been selected as they are central to the skill-set expected of the modern AI practitioner. On completing this module students will be able to select appropriate AI methods and algorithms for given scenarios and to develop intelligent algorithms for the solution of problems.
-
Artificial Intelligence 1 B (Neural Computation and Intelligent Systems)
This module examines neural and cognitive modelling from the level of single neurons and neural networks up to more comprehensive models of perception and cognition. The emphasis is on the understanding and application of current computational intelligence models and techniques. Lectures on these topics will be complemented by practicals in which students explore, program, apply and analyse the application of modern Artificial Intelligence approaches. Examples will be drawn from neural modelling, machine learning and cognitive modelling in order to understand the principles underlying intelligence, and how this can be applied to real-world problems such as intelligent search, robot controllers and non-player characters in computer games.
-
Further Object Oriented Development B (Implementation)
This module furthers the student's understanding of object-oriented technology in the implementation of software systems, particularly concurrent and distributed systems. It explores the characteristics of these systems, standard architectures used in their design and the patterns of communication between their components. Architectures that support the distribution of object-oriented systems across multiple hosts will be investigated, as will component-based development and its role in such systems. Students will gain practical experience of a range of techniques, and have the opportunity to use a variety of industry-standard tools for system implementation and deployment.
-
Further Object-Oriented Development A (Analysis and Design)
This module develops the student's understanding of object-oriented technology in the analysis and design of software systems. It encourages the student to think about and model real-world problems in an object-oriented way, and to gain experience in translating such models into executable systems. It explores the contribution that concepts such as abstraction, encapsulation and inheritance can make to the improvement of software quality, and how typical uses of these concepts can be captured and reused. The suitability of different models of the development process itself will also be examined. Students will gain practical experience of a range of modelling techniques, and have the opportunity to use a variety of industry-standard tools for system development.
-
Professional Issues in Computing B
This module will open up current issues relating to what it means to be a professional in the computer industry, with the intention of enabling the student to participate effectively in the ongoing debates concerning computing and the uses to which is it or should be put, including: * consideration and critique of the legal, professional and ethical framework with which the developers, operators and users of these systems have to operate; and * issues relating to computers and society, such as the effect of computers on society in terms of power relationships between members of that society. It will build on the learning outcomes specified for Professional Issues in Computing, which is therefore a prerequisite for this module.
-
Professional Issues in Computing A
Typically the module content will include: * Data Protection Act; * Computer Misuse Act; * copyright; * ethical issues in the use of computers and data; * good practice in systems design; * interrelationship between computers, their use in society. The basis of the legal elements of this module will be English Law, but no prior knowledge of this legal system is expected of students.
-
Computer Science Project
The Computer Science project gives students a chance to extend and deepen their knowledge of Computer Science and to apply it in an unfamiliar context. The project should be chosen to fit in with the student's chosen award title, prior experience and personal objectives. Students are required to undertake a substantial piece of practical work, which they plan and manage themselves under the guidance of a project tutor and with the support of lecture and tutorial work on key issues for a project, such as the appropriate use of information sources. Students are expected to report on their progress at a number of points during the project and are required to deliver the results of their work, and a final report, at the end.
-
Software Engineering Project
The Software Engineering project gives students a chance to extend and deepen their knowledge of a specialist area of Computer Science and to apply it in an unfamiliar context. The project should be chosen to fit in with the student's chosen award title, prior experience and personal objectives. Students are required to undertake a substantial piece of practical work, which they plan and manage themselves under the guidance of a project tutor and with the support of lecture and tutorial work on key issues for a project, such as the appropriate use of information sources. Students are expected to report on their progress at a number of points during the project and are required to deliver the results of their work, and a final report, at the end.
-
Artificial Intelligence Project
The Artificial Intelligence project gives students a chance to extend and deepen their knowledge of a specialist area of Computer Science and to apply it in an unfamiliar context. The project should be chosen to fit in with the student's chosen award title, prior experience and personal objectives. Students are required to undertake a substantial piece of practical work, which they plan and manage themselves under the guidance of a project tutor and with the support of lecture and tutorial work on key issues for a project, such as the appropriate use of information sources. Students are expected to report on their progress at a number of points during the project and are required to deliver the results of their work, and a final report, at the end.
-
Networks Project
The Computer Networking project gives students a chance to extend and deepen their knowledge of a specialist area of Computer Science and to apply it in an unfamiliar context. The project should be chosen to fit in with the student's chosen award title, prior experience and personal objectives. Students are required to undertake a substantial piece of practical work, which they plan and manage themselves under the guidance of a project tutor and with the support of lecture and tutorial work on key issues for a project, such as the appropriate use of information sources. Students are expected to report on their progress at a number of points during the project and are required to deliver the results of their work, and a final report, at the end.
Fees & funding
Discounts are available for International students if payment is made in full at registration
View detailed information about tuition fees
Scholarships
Find out more about scholarships for UK/EU and international students
Other financial support
Find out more about other financial support available to UK and EU students
Living costs / accommodation
The University of Hertfordshire offers a great choice of student accommodation, on campus or nearby in the local area, to suit every student budget.
How to apply
2013
| Start Date | End Date | Link |
|---|---|---|
| 23/09/2013 | 23/05/2014 | Apply online (Full Time/Sandwich) |
| 23/09/2013 | 23/05/2014 | Apply online (Full Time/Sandwich) |
| 23/09/2013 | 23/05/2014 | Apply online (Full Time/Sandwich) |
| 23/09/2013 | 23/05/2014 | Apply online (Full Time) |
| 23/09/2013 | 23/05/2014 | Apply online (Full Time) |
| 23/09/2013 | 17/01/2014 | Apply online (Full Time) |
| 27/09/2013 | 24/05/2014 | Apply online (Full Time) |
| 20/01/2014 | 23/05/2014 | Apply online (Full Time) |
2014
| Start Date | End Date | Link |
|---|---|---|
| 23/09/2014 | 23/05/2015 | Apply online (Full Time/Sandwich) |
| 23/09/2014 | 23/05/2015 | Apply online (Full Time/Sandwich) |
| 22/09/2014 | 22/05/2015 | Apply online (Full Time/Sandwich) |
| 23/09/2014 | 17/01/2015 | Apply online (Full Time) |
| 23/09/2014 | 23/05/2015 | Apply online (Full Time) |
| 23/09/2014 | 23/05/2015 | Apply online (Full Time) |
| 27/09/2014 | 24/05/2015 | Apply online (Full Time) |
| 20/01/2015 | 23/05/2015 | Apply online (Full Time) |
Key course information
- Institution code: H36
- UCAS code: G404BSc (Hons) Computer Science with a year abroad,G400BSc (Hons) Computer Science,
- Course code: EICSITBSC
- Course length:
- Sandwich, 4 Years
- Full Time, 1 Years
- Sandwich,
- Full Time,
- Full Time, 3 Years