production
Skip to Content

CS5076: INTRODUCTION TO PROGRAMMING (2020-2021)

Last modified: 05 Aug 2021 13:04


Course Overview

Students will be exposed to the basic principles of computer programming, e.g. fundamental programming techniques, concepts, algorithms, data structures, and object orientated programming. 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 so that students know the basics of programming as the foundation for their future study.

Course Details

Study Type Postgraduate Level 5
Session First Sub Session Credit Points 15 credits (7.5 ECTS credits)
Campus Aberdeen Sustained Study No
Co-ordinators
  • Dr Bedour Alshaigy

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

  • MSc Information Technology
  • Any Postgraduate Programme

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 be delivered in two halves. The first 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.
  • Knowledge and understanding of further basic programming concepts: scope, functions, recursion, modular programming, importing and invoking code from within other code.
  • Knowledge and understanding of floating-point numbers, and libraries for scientific computing.

The second half will equip the students with advanced object-oriented programming knowledge, implementation of data structure and algorithms, and basic software engineering techniques.

The second half of the course will, for example, provide:

  • Object oriented programming
  • Data structure and algorithms, and
  • Software engineering basics.
  • Skill in deploying the above concepts in practice.

In light of Covid-19 this information is indicative and may be subject to change.

Contact Teaching Time

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

Teaching Breakdown

  • 1 during University weeks 8, 9, 10
  • 1 during University week9

More Information about Week Numbers


In light of Covid-19 and the move to blended learning delivery the assessment information advertised for second half-session courses may be subject to change. All updates for second-half session courses will be actioned in advance of the second half-session teaching starting. Please check back regularly for updates.

Summative Assessments

Practical participation quizzes

Assessment Type Summative Weighting 25
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Each student needs to participate in the session and complete quiz questions, which are marked automatically in MyAberdeen.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandThe understanding of floating point numbers, scientific computing libraries and their application in order to classify them for usage.
ProceduralAnalyseAn understanding of, and ability to apply, techniques to support correct code in a program.
ProceduralApplyAn ability to write and run programs.
ProceduralCreateThe ability to analyse simple problems, and design a program solution.
ProceduralCreateThe ability to apply programming concepts for solving problems in order to create a new program.
ProceduralEvaluateAn ability to judge how computer programs should be structured.

Computer Programming Exercise

Assessment Type Summative Weighting 25
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Feedback in MyAberdeen about 2-3 weeks after submission.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandThe understanding of floating point numbers, scientific computing libraries and their application in order to classify them for usage.
ProceduralApplyAn ability to write and run programs.
ProceduralCreateThe ability to apply programming concepts for solving problems in order to create a new program.
ProceduralCreateThe ability to analyse simple problems, and design a program solution.
ProceduralEvaluateAn ability to judge how computer programs should be structured.

Exam - Multiple Choice Questions

Assessment Type Summative Weighting 50
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualApplyKnowledge and understanding of 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 in a program.
ProceduralCreateThe ability to analyse simple problems, and design a program solution.
ProceduralCreateThe ability to apply programming concepts for solving problems in order to create a new program.
ProceduralEvaluateAn ability to judge how computer programs should be structured.

Formative Assessment

There are no assessments for this course.

Resit Assessments

Resubmission of failed elements

Assessment Type Summative Weighting 25
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

Exam - Multiple Choice Questions

Assessment Type Summative Weighting 75
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
ConceptualApplyKnowledge and understanding of basic programming concepts and their application: scope, functions, recursion, modular programming, importing and invoking code from within other code.
ProceduralCreateThe ability to analyse simple problems, and design a program solution.
ConceptualUnderstandThe understanding of floating point numbers, scientific computing libraries and their application in order to classify them for usage.
ProceduralCreateThe ability to apply programming concepts for solving problems in order to create a new program.
ProceduralAnalyseAn understanding of, and ability to apply, techniques to support correct code in a program.
ProceduralEvaluateAn ability to judge how computer programs should be structured.
ProceduralApplyAn ability to write and run programs.

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.