Course Catalogue

Computing Science 1P (Half Course) COMPSCI1005

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

Short Description

The aim of the CS1P (Half) course is to produce programmers equipped with an understanding of:

Fundamental computational concepts underlying most programming languages; A range of problem-solving techniques using computers; The skills supporting the solution of small problems using a programming language; The clear expression of solutions at different levels of abstraction.

Timetable

Lectures taught at 2 per week, one-hour tutorial and two-hour laboratory session per fortnight.

Requirements of Entry

Eligible students should have a Grade B or above in Higher Mathematics, or a Grade C in Higher Mathematics AND a Grade B or above in Higher Computing/Information Systems, or a suitable equivalent.

Excluded Courses

None

Co-requisites

None

Assessment

Examination 70%, coursework 30%.

Main Assessment In: December

Course Aims

The aim of the CS1P (Half) course is to produce programmers equipped with an understanding of:

Fundamental computational concepts underlying most programming languages; A range of problem-solving techniques using computers; The role of programming within the overall software development process;

Attitudes and working practices appropriate for a professional programmer; The skills supporting the solution of small problems using a programming language; The clear expression of solutions at different levels of abstraction; Independent and self-motivated study in Computing Science.

Intended Learning Outcomes of Course

On completion of the CS1P (Half) course, the student should:

Knowledge - know about:

■ techniques for solving problems;

■ basic computational concepts and elementary data structures;

■ the edit-compile-link-run cycle from a users point of view;

■ testing strategies;

■ the main activities of software development and their interactions, and some of the major problems of software development.

Skills - be able to:

■ hand-execute simple programs, showing how input data is processed, output data is produced, and how the values of internal variables change;

■ explain at various levels the behaviour of fragments of programming language code;

■ amend existing programs to adjust or correct their functionality;

■ translate well-structured plans into working programs;

■ analyse simple programs involving text, numbers and graphics, producing a top-level plan with refinements;

■ use the error message of the compiler to identify and correct mistakes in program syntax;

■ use testing strategies to identify and correct semantic errors in programs.

Attitudes - appreciate that:

■ a programmer requires creativity in order to solve problems and precision in the construction and manipulation of programming language code;

■ a programmer builds up a repertoire of techniques for solving problems, usually adapting and reusing techniques as each new problem is encountered;

■ a programmer must be able to communicate his/her ideas to others;

■ effective programming requires effort both in front of and away from a computer;

■ learning to program requires commitment and perseverance.

Minimum Requirement for Award of Credits

No exceptions