production
Skip to Content

CS1032: PROGRAMMING 1 (2023-2024)

Last modified: 05 Oct 2023 08:46


Course Overview

This course will be delivered in two halves. The first half will provide a self-contained introduction to computer programming. It will be accessible to all undergraduates. Students will be exposed to the basic principles of computer programming, e.g. fundamental programming techniques, concepts, algorithms and data structures. The course contains lectures where the principles are systematically developed. As the course does not presuppose knowledge of these principles, we start from basic intuitions. The second half will be particularly of use to those studying Science and Engineering subjects, broadly interpreted, as well as Computing and IT specialists. It will include a gentle introduction to professional issues and security concepts.

Course Details

Study Type Undergraduate Level 1
Session First Sub Session Credit Points 15 credits (7.5 ECTS credits)
Campus Aberdeen Sustained Study No
Co-ordinators
  • Dr Kamaran Fathulla

What courses & programmes must have been taken before this course?

  • Any Undergraduate Programme
  • Either Programme Level 1 or Programme Level 2

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

Are there a limited number of places available?

No

Course Description

This course will provide a self-contained introduction to computer programming. It will be accessible to all undergraduates. Students will be exposed to the basic principles of computer programming, e.g. fundamental programming techniques, concepts, algorithms and data structures. The course contains lectures where the principles are systematically developed. As the course does not presuppose knowledge of these principles, we start from basic intuitions. It will include a gentle introduction to professional issues and security concepts.  

Course Description:  

This course will provide a self-contained introduction to computer programming. It assumes no prior knowledge of computers or programming. It will cover the basic principles of computer programming consisting of topics such as the following: 

  • How to write and run your first program 
  • Built-in types of data 
  • Fundamental programming concepts including variables and scope, conditional statements, and iteration 
  • Arrays 
  • Programs that take inputs, and that generate outputs 
  • How to structure and debug code 

The course will go on to cover 

  • Knowledge and understanding of further basic programming concepts: scope, functions, recursion, modular programming, important and invoking code from within other code. 
  • Errors and exceptions 
  • Floating-point numbers 
  • Important libraries 
  • A brief introduction to professional issues and professional institutions in computing 
  • A brief introduction to security issues in computing 

There will be weekly practical sessions and exercises to work with the concepts. 


Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

  • 2 Lectures during University weeks 8 - 18
  • 1 Practical during University weeks 9 - 18

More Information about Week Numbers


Details, including assessments, may be subject to change until 31 August 2023 for 1st half-session courses and 22 December 2023 for 2nd half-session courses.

Summative Assessments

Class Test - Multiple Choice Questions

Assessment Type Summative Weighting 20
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Online MCQ Test

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandKnowledge and understanding of further, basic programming concepts and their application: scope, functions, recursion, modular programming, importing and invoking code from within other code.
ProceduralAnalyseAn understanding of, and ability to apply, techniques to support correct code.
ProceduralApplyAn understanding of how to write and run programs.
ProceduralEvaluateAn understanding of how computer programs should be structured.

Programming Exercise

Assessment Type Summative Weighting 30
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralCreateSkill in programming using the concepts above, in particular for solving problems.

Exam

Assessment Type Summative Weighting 50
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandKnowledge and understanding of floating-point numbers, libraries for scientific computing, and their application.
ConceptualUnderstandKnowledge and understanding of further, basic programming concepts and their application: scope, functions, recursion, modular programming, importing and invoking code from within other code.
ReflectionCreateThe ability to analyse simple problems, and solve them with programs.

Formative Assessment

There are no assessments for this course.

Resit Assessments

Resubmission of failed elements (pass marks carried forward)

Assessment Type Summative Weighting 100
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Course Learning Outcomes

Knowledge LevelThinking SkillOutcome
ProceduralAnalyseAn understanding of, and ability to apply, techniques to support correct code.
ProceduralCreateSkill in programming using the concepts above, in particular for solving problems.
ProceduralEvaluateAn understanding of how computer programs should be structured.
ConceptualUnderstandKnowledge and understanding of further, basic programming concepts and their application: scope, functions, recursion, modular programming, importing and invoking code from within other code.
ReflectionCreateThe ability to analyse simple problems, and solve them with programs.
ProceduralApplyAn understanding of how to write and run programs.
ConceptualUnderstandKnowledge and understanding of floating-point numbers, libraries for scientific computing, and their application.

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.