Software Engineering BSc/MSci

Computing Science - 1CT Introduction to Computational Thinking COMPSCI1016

  • Academic Session: 2023-24
  • School: School of Computing Science
  • Credits: 20
  • Level: Level 1 (SCQF level 7)
  • Typically Offered: Semester 1
  • Available to Visiting Students: Yes

Short Description

Computational processes are increasingly being discovered in natural, social and economic systems as well as typical silicon-based computing devices such as laptops and smartphones. For those with little or no previous computing education, this course develops the necessary understanding and thinking skills so that such systems can be viewed as predictable, understandable and ultimately controllable. It is valuable in its own right, as an underpinning now required in many other disciplines, and as a foundation for further study in Computing Science.


2 x 2-hour lecture/discussion sessions weekly - Wednesday and Friday 12-2

1 x 2-hour lab session, scheduled flexibly Monday - Wednesday

Excluded Courses





Coursework: Quizzes in class sessions on preparatory material (20%), mid-semester class test (10%), end of semester project (10%)


Examination: Degree exam (60%)

Main Assessment In: December

Are reassessment opportunities available for all summative assessments? No

Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 


The coursework cannot be redone because the feedback provided to the students after the original coursework would give any students redoing the coursework an unfair advantage.

Course Aims

This course aims to develop in students the core computational thinking, and associated practical, skills that are required to be able to understand, reason about, and manipulate the computational systems surrounding us, essential to modern-day science, business and life.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. Identify core characteristics of computational systems;

2. Describe the purpose and operation of a range of individual computational concepts, as exemplified in more than one programming language;

3. Explain the purpose and operation of partial and complete computations expressed in a range of notations at various levels of abstraction;

4. Apply computational understanding to solve programming problems involving textual, numerical and graphical contexts;

5. Amend computations to adjust their functionality;

6. Identify and correct errors in computations expressed in a range of notations;

7. Identify the application and emergence of computational concepts in artificial and natural systems, respectively.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment, and satisfy requirements on attendance and formative assessment as laid out in course documentation.