production
Skip to Content

QC2001: SOFTWARE PROGRAMMING (2024-2025)

Last modified: 23 Jul 2024 11:02


Course Overview

This course is concerned with tools and techniques for scalable and dependable software programming. It focusses primarily on the Java programming language and related technologies. The course gives extensive programming practice in Java. It covers in depth features of the language and how best to use them, the execution model of the language, memory management, design principles underpinning the language, and comparisons with other languages. Tools for collaboration, productivity, and versioning will also be discussed. 

Course Details

Study Type Undergraduate Level 2
Term First Term Credit Points 15 credits (7.5 ECTS credits)
Campus Offshore Sustained Study No
Co-ordinators
  • Dr Saad Kashem

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

  • Any Undergraduate 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

The course features a comprehensive introduction to the Java languages, with many exercises and examples. It includes 

  • Basic programming and control flow in Java 
  • Datatypes in Java 
  • Errors, debugging. 
  • Exception-handling 
  • Object-oriented features in Java 

Contact Teaching Time

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

Teaching Breakdown

More Information about Week Numbers


Details, including assessments, may be subject to change until 30 August 2024 for 1st term courses and 20 December 2024 for 2nd term courses.

Summative Assessments

Computer Programming Exercise

Assessment Type Summative Weighting 35
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Programming Exercise (Java) 1

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralApplyAn ability to use a version control system for software development
ProceduralCreateBe able to confidently apply robust software programming technology and practices to creatively solve complex problems.
ProceduralEvaluateLearn how to analyse and correct programs.
ReflectionCreateThe ability to apply an object orientated design solution to a problem.

Computer Programming Exercise

Assessment Type Summative Weighting 35
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Programming Exercise (Java) 2

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralApplyAn ability to use a version control system for software development
ProceduralCreateBe able to confidently apply robust software programming technology and practices to creatively solve complex problems.
ProceduralEvaluateLearn how to analyse and correct programs.
ReflectionCreateThe ability to apply an object orientated design solution to a problem.

Class Test - Multiple Choice Questions

Assessment Type Summative Weighting 30
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Online Test (1h, in class)

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralAnalyseSolid understanding of language features, principles, semantics, execution, and how these work in applications
ProceduralApplyAbility to apply tools for enhancing productivity and collaboration in software development.

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
ProceduralApplyAn ability to use a version control system for software development
ProceduralApplyAbility to apply tools for enhancing productivity and collaboration in software development.
ReflectionCreateThe ability to apply an object orientated design solution to a problem.
ProceduralCreateBe able to confidently apply robust software programming technology and practices to creatively solve complex problems.
ProceduralAnalyseSolid understanding of language features, principles, semantics, execution, and how these work in applications
ProceduralEvaluateLearn how to analyse and correct 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.