Computing Science 1P (Standard Route) COMPSCI1001
- Academic Session: 2021-22
- School: School of Computing Science
- Credits: 20
- Level: Level 1 (SCQF level 7)
- Typically Offered: Runs Throughout Semesters 1 and 2
- Available to Visiting Students: Yes
- Available to Erasmus Students: Yes
The CS1P course is designed for students with good foundational computational thinking skills - that is, a solid understanding of basic programming concepts and the ability to solve simple unseen programming problems from scratch with no assistance. The course reviews this foundation and then builds on it by developing students' ability to reason about elements of the software development process, including for example, complexity of algorithms, rigorous testing techniques and problem solving methodologies.
Lectures 44 taught at 2 per week and a 2-hour laboratory/tutorial session weekly throughout the session. One of the lecture sessions each week may take the form of a large group tutorial.
Examination 60%, Class Tests 20%, Laboratory examinations 20%.
Main Assessment In: April/May
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.
The aim of the CS1P course is to review and build on students' existing programming skills in order to develop analytic skills critical for embedding sound software engineering practices.
Intended Learning Outcomes of Course
By the end of the course students will be able to:
1. Identify and use core computational concepts and data structures as exemplified in one or more programming languages;
2. Identify and apply a range of techniques for solving problems;
3. Edit, compile and execute code
4. Deploy testing strategies;
5. Specify, design, implement and test code;
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. Analyse simple problems involving text, numbers and graphics;
10. Produce top-level plans with refinements;
11. Translate well-structured plans into working programs;
12. Use the error messages of the system to identify and correct mistakes in program syntax;
13. Use testing strategies to identify and correct semantic errors in programs;
14. Communicate ideas to others clearly.
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.