Module overview
Computer science is now a mature discipline, with a well defined curriculum, for example from the ACM/IEEE joint task force, or the UK's Quality Assurance Agency. Any student of computer science should be familiar with a range of topics such as computability, algorithms, computational complexity, computer design, programming language design, programming methodology, data structures, information retrieval, parallel and distributed computing, computer networks, cyber security and artificial intelligence. In addition, computing students should be aware of the effects their field has had, and will continue to have, on individuals, organisations, and society. This module gives an opportunity to review the breadth of computer science, to focus on some key ideas, and to reflect on its wider impact.
Aims and Objectives
Learning Outcomes
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Produce computational artefacts such as web apps or animations which demonstrate key concepts
Transferable and Generic Skills
Having successfully completed this module you will be able to:
- Discuss and debate key topics and questions of interest within the discipline and to society in general
- Motivate outsiders to learn more about computer science
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Read critically key articles which have had significant impact on the discipline
- Identify the main fields of computer science and explain the important concepts in these fields
Syllabus
- Algorithms and Computational Complexity
- Models of computation, computability and decidability
- Design of computers and operating systems
- Information storage and retrieval from databases to hypertext
- Parallel and distributed computing
- Computer Networks and security
- Programming languages and methodologies
- Artificial Intelligence: techniques and challenges
Learning and Teaching
Teaching and learning methods
Students will given a list of key computer science articles to read through the semester. There will be 2 or 3 contact sessions per week. These will give students opportunities to discuss the material, to clarify any details they are unsure of, and consider the impact of the ideas presented both on the field of computer science and also how their applications have impacted individuals, organisations, and society.
During the course, students will be tested on their understanding of the directed reading. Written feedback will be given on these short answer and multiple choice tests in the following week's classes, together with model answers. In addition, a series of seminars or debates will be organised on a topic based on the directed reading, for example: which language is best for teaching students to program.
Students will be assessed on their participation and contributions to these sessions. Generic verbal feedback will be given at the end of the discussion, and written feedback at the end of the whole series. Finally, students will in pairs develop and demonstrate an application, web app, or animation to explain and illustrate a key concept in computer science to an interested teenager. Verbal feedback on this artefact will be given immediately after the demonstration.
Lecture | 24 |
Preparation for scheduled sessions | 12 |
Follow-up work | 12 |
Wider reading or practice | 38 |
Completion of assessment task | 64 |
Total study time | 150 |
Resources & Reading list
General Resources
Reading List. Students will be provided a list of classic papers which are available on-line which they will be expected to read in order to gain an overview of the field, and also have access to a range of textbooks which help them prepare for the assessed seminars and tests.
Textbooks
John MacCormick [2013]. Nine Algorithms That Changed the Future. Princeton.
J Glenn Brookshear [2011]. Computer Science: an overview. Prentice Hall.
Assessment
Summative
This is how well formally assess what you have learned in this module.
Continuous Assessment | 100% |
Referral
This is how well assess you if you dont meet the criteria to pass this module.
Set Task | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Set Task | 100% |
Repeat Information
Repeat type: Internal & External