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.