ITD121 Programming Principles


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: College 1 2024, Kelvin Grove, Internal

Unit code:ITD121
Credit points:12
Pre-requisite:ITD104 or IND104
Equivalent:INB270, IFB121
Anti-requisite:CAB201
Coordinator:Lawrence Buckingham | l.buckingham@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

This unit builds on the gentle introduction to programming provided in Building IT Systems. In that unit students learned how algorithms are constructed by combining the logical structures of sequence, selection and iteration. Students also learn how functions can be used to abstract and reuse sections of code. These concepts are reinforced in this unit and extended with additional applications of abstraction necessary to combat complexity when building larger systems. Object-oriented principles are introduced where the program is structured around classes of objects that are identified from the real-world providing a high-level architecture that is better able to stand the test of time as requirements evolve throughout the lifetime of the system. This unit provides the foundation for the other more advanced and specialized programming units.

Learning Outcomes

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

  1. Explain the principles and advantages of object-oriented design and programming.
  2. Design algorithms to solve complex problems.
  3. Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
  4. Apply object-oriented design and programming techniques to create software solutions.

Content

• Software development lifecycle
• Static typing and compilation
• Reinforcing sequence, selection and iteration.
• Principles of abstraction and encapsulation.
• Incremental development
• Testing
• Debugging
• Object-oriented concepts (classes, objects, methods, fields, inheritance, polymorphism)
• Object-oriented design

Learning Approaches

This unit takes a blended approach to learning and teaching. You will be provided with both eContent and timetabled activities such as tutorials, workshops and practicals. eContent will be clearly identified on your Canvas site for you to engage with on a weekly basis before your classes. eContent could include videos, readings, self-reflection and/or peer activities designed to enhance your learning experience. During the timetabled activities, the unit coordinator and/or your tutor will further explain content and you will be provided with opportunities to explore this content in a collaborative learning environment. After your weekly classes, you should continue to engage with unit resources to ensure you consolidate your understanding of unit content. Teaching team members will also be available for one-on-one consultations to assist you with your learning journey.

The unit emphasises a 'hands-on', practical approach to teaching and learning. This unit will comprise of:

  • eContent, in which new technical concepts will be explained and illustrated with worked examples

  • Practical workshops, at which you will be required to complete practical exercises based on the unit material

  • Developing a program to solve a computational problem involves two steps. Firstly, you must devise an 'algorithmic' solution to the problem, i.e., a sequence of well-defined, unambiguous instructions to follow in order to achieve the desired outcome. Secondly, you must 'code' your solution in a form that a computer can interpret, using an appropriate programming or scripting language. Through numerous worked examples and practical exercises, this unit will give you hands-on practice at both of these skills.

    The eContent will provide you with the theoretical knowledge, teamed with 'hands-on' practical workshops to provide you with the skills required to successfully complete the unit.

    You will be supplied with tasks, exercises and readings each week, which will be available online. It is important that you put time aside each week to pre-read the supplied information, and to practice the supplied exercises. You will have the opportunity to reflect on your learning and progress via the assessment items.

Feedback on Learning and Assessment

Students will receive feedback in various forms throughout the semester which may include:
• Informal: worked examples, such as verbal feedback in class, personal consultation
• Formal: in writing, such as checklists, rubrics, written commentary
• Direct: to individual students, either in written form or in consultation
• Indirect: to the whole class

Assessment

Overview

Summative assessment is designed to provide multiple opportunities for feedback and to assist learning throughout semester. The problem-solving tasks and programming project will provide experience in using various programming tools as well as designing simple programs which are well documented.

The workshops will provide opportunities for formative feedback from peers and your tutor. Various online self-assessment tools will be available on Canvas which will provide feedback on your progress in the unit.

The final examination, will holistically assess your learning across the semester.

The workshops will provide opportunities for formative feedback from your tutor.

The AMS - the Automated Marking System - will be available online and provide you with the opportunity to receive regular formative feedback on your progress

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Problem Solving Task

A small program development exercise, which allows you to demonstrate your understanding and application of the programming concepts learned in Weeks 1 - 3.

This is an assignment for the purposes of an extension.

Weight: 10
Individual/Group: Individual
Due (indicative): Week 4
Related Unit learning outcomes: 2

Assessment: Object-Oriented Design and Implementation Assignment (applied)

You are required to complete a major program development exercise applying object-oriented design and programming. This task will be submitted in two parts to allow you to receive early feedback on your program, which can be incorporated into the final assignment.

This is an assignment for the purposes of an extension.

Weight: 50
Individual/Group: Individual
Due (indicative): Week 13
Related Unit learning outcomes: 3, 4

Assessment: Final Examination

Apply your work to a given set of questions. This is be an invigilated exam.

Weight: 40
Individual/Group: Individual
Due (indicative): Central Examination Period
Related Unit learning outcomes: 1, 2, 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

The unit's Canvas site will provide:

  • Notes and workshop resources
  • Additional supporting documents and essential information if/as required
  • Assessment details and criteria sheets

Resource Materials

Recommended text(s)

Joyce Farrell Visual C# 2017: An introduction to Object Oriented Programming Seventh Edition

Software

Students will be recommended to use Microsoft Visual Studio for use at home.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit. You will be made aware of evacuation procedures and assembly areas in the first few weeks. In the event of a fire alarm sounding, or on a lecturer's or tutor's instruction, you should leave the room and assemble in the designated area which will be indicated to you. You should be conscious of your health and safety at all times whilst on campus.