IFN556 Object Oriented Programming


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Semester 2 - 5 Week D 2024, Gardens Point, Internal

Unit code:IFN556
Credit points:6
Pre-requisite:IFN555 or IFQ555
Equivalent:IFQ556
Anti-requisite:IFN501
Coordinator:Hasmukh Morarji | h.morarji@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

In this unit you will learn how the principles of Object-Oriented programming can help combat complexity when developing larger programs. The key concepts are abstraction and encapsulation. Abstraction is the processing of giving a name to something plus generalization – the process of ignoring differences and instead identifying common properties of a collection of objects. Encapsulation is the process of “putting things in a box” – selectively exposing some aspects of what’s in the box, but deliberately hiding much of what is in the box. In object-oriented programming languages classes and methods provide the principle mechanism for abstraction and encapsulation. 

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Explain the concepts of inheritence in the context of object-oriented programming.
  2. Apply object-oriented structures to organise programs.
  3. Write simple programs using object-oriented design programming patterns.
  4. Analyse program structures to find and mitigate common software vulnerabilities.

Content

  • Abstraction, objects, classes, methods and constructors.
  • Encapsulation, data hiding and importance of not violating abstraction. 
  • Interface and  Inheritance .
  • Unit testing.

Learning Approaches

This unit will use a blended approach to teaching making use of on-line resources, lectures, practical laboratory experiments, and your own individual practice. The on-line resources will include readings and videos from a variety of sources to help explain complex topics. You will also participate in an on-line discussion forum with your classmates and teaching team to create a community of engaged learners that help and support one another. Lectures will assume that you have pre-read expected material and attempted weekly exercises. Each week you will complete small programming exercises so that you can get rapid weekly feedback regarding your progress. The term long programming project will then allow you the opportunity to apply and demonstrate your skills developing a more substantial software solution for a real-world problem.

Feedback on Learning and Assessment

Feedback in this unit is provided in the following ways:

  • You can ask the teaching staff for advice and assistance during lectures and practical sessions.
  • You will receive formative peer and academic feedback on your practical exercises conducted in labs.
  • You will receive written feedback on submitted assessment items.
  • You can request private consultation with teaching staff.

Assessment

Overview

The assessment is designed to allow you to demonstrate your comprehension of the core object-oriented programming concepts covered in this unit.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: In class Practical Test

This assessment item is an in class practical test to examine the contents covered in Lectures 1 to 4.

 

Weight: 50
Length: 60 minutes from starting time.
Individual/Group: Individual
Due (indicative): Week 5
The practical test will be done during the scheduled tutorial sessions. Each tutorial session has a different test
Related Unit learning outcomes: 2, 3

Assessment: Programming Assignment

Use C# to implement an object-oriented solution to a real world problem and reflect on the effectiveness of the approach.

This assignment is eligible for the 48-hour late submission period and assignment extensions. 

 

Weight: 50
Length: Approximately 400-500 lines of code.
Individual/Group: Individual
Due (indicative): At end of 6 week term
Related Unit learning outcomes: 1, 2, 3, 4

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

  • Microsoft Visual C# 2017: An Introduction to Object-Oriented Programming (Hard Copy and eBook)
  • Visual Studio Software (available free of charge to ICT students)
  • Link to other online resources will also be provided.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit.

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

LV41 Bachelor of Biomedical Science

  1. Critically review, analyse and synthesise foundational knowledge in a broad range of biomedical discipline areas and in depth theoretical, technical and practical knowledge in specialised discipline areas.
    Relates to: In class Practical Test, Programming Assignment
  2. Demonstrate the technical skills required to solve multi-disciplinary problems in biomedical research, industry and clinical settings and do so in an ethical, safe and responsible manner.
    Relates to: In class Practical Test, Programming Assignment
  3. Demonstrate the cognitive skills required to find solutions to scientific problems.
    Relates to: In class Practical Test, Programming Assignment