Please ensure you check the module availability box for each module outline, as not all modules will run each academic year.
Department: Computer Science
COMP1051: COMPUTATIONAL THINKING
|Type||Open||Level||1||Credits||20||Availability||Available in 2019/20||Module Cap||260||Location||Durham
- A-level Mathematics at Grade A
Excluded Combination of Modules
- To introduce students to fundamental concepts from Computer Science and give students an appreciation of the breadth of Computer Science and how different topics relate to one another.
- To give an awareness of the importance of computation and computational thinking in the modern world and the impact it has on technology advances and areas not immediately associated with Computer Science.
- To introduce students to the application of computational thinking in a range of settings across Computer Science.
- Basic architectural components of a PC.
- Different programming paradigms and how high-level programs are converted into machine code.
- Basic operations of the operating system.
- Different computational problems, some solution methods to common problems and the notion of an algorithm.
- The notion of a computer and its formalism.
- The measurement and efficiency of solutions.
- Intrinsic complexity barriers and how to cope with them in practice.
- Ethical aspects of computing.
- A basic general-purpose high-level programming language and the implementation of programs in this language to implement examples of computational thinking in a variety of settings.
- On completion of the module, students will be able to demonstrate: an appreciation of how hardware and software combine so as to execute compute programs
- an understanding of fundamental notions relating to problems and their solution in Computer Science
- an appreciation of the role of Computer Science and computational thinking in the modern world
- an understanding of several approaches to solving fundamental computational problems
- an appreciation of the practical limitations of computers and computation.
- On completion of the module, students will be able to demonstrate: an ability to recognise and analyse computational problems in a variety of settings
- an ability to apply methods and techniques relating to algorithms and computation in order to solve problems
- an ability to reason about the quality of a solution or an algorithm
- an ability to implement basic algorithms in a general-purpose high-level programming language so as to solve fundamental problems in different domains.
- On completion of the module, students will be able to demonstrate: an ability to reason about the solution of general problems and apply different problem-solving techniques.
Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module
- Lectures enable the students to learn new material relevant to computational thinking.
- Practical classes enable the students to put into practice learning from lectures and strengthen their understanding through application (by implementing and applying algorithms in a general-purpose, high-level programming language).
- Students are assessed by formative and summative assessment and examinations.
Teaching Methods and Contact Hours
|lectures||44||2 per week||1 hour||44|
|practical classes||22||1 per week||2 hours||44||■|
|preparation and reading||112|
|Component: Coursework||Component Weighting: 100%|
|Element||Length / duration||Element Weighting||Resit Opportunity|
Examples and exercises are given throughout the course, to be undertaken and then discussed in practical sessions. Additional revison lectures may be arranged in the module's lecture slots in the 3rd term.
■ Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University