Undergraduate study

Undergraduate 

Electronic & Software Engineering BEng/BSc/MEng

Computing Science - 1CT Introduction to Computational Thinking COMPSCI1016

  • Academic Session: 2026-27
  • School: School of Computing Science
  • Credits: 20
  • Level: Level 1 (SCQF level 7)
  • Typically Offered: Semester 1
  • Available to Visiting Students: Yes
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

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.

Timetable

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

CS1P

Co-requisites

None

Assessment

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

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

No exceptions