Computing Science 1 UESTCHN1013
- Academic Session: 2026-27
- School: School of Engineering
- 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
By the end of this course students will be able to:
Knowledge - know about:
1. techniques for solving problems;
2. basic computational concepts and elementary data structures;
3. the edit-compile-link-run cycle from a user's point of view;
4. testing strategies;
5. The main activities of software development and their interactions, and some of the major problems of software development.
Skills - be able to:
6. hand-execute simple programs, showing how input data is processed, output data is produced, and how the values of internal variables change;
7. explain at various levels the behaviour of fragments of programming language code;
8. amend existing programs to adjust or correct their functionality;
9. translate well-structured plans into working programs;
10. analyse simple programs involving text, numbers and graphics, producing a top-level plan with refinements;
11. use the error message of the compiler to identify and correct mistakes in program syntax;
12. use testing strategies to identify and correct semantic errors in programs.
Attitudes - appreciate that:
13. a programmer requires creativity in order to solve problems and precision in the construction and manipulation of programming language code;
14. a programmer builds up a repertoire of techniques for solving problems, usually adapting and reusing techniques as each new problem is encountered;
15. a programmer must be able to communicate his/her ideas to others;
16. effective programming requires effort both in front of and away from a computer;
17. learning to program requires commitment and perseverance.