IFN581 Programming Fundamentals


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 2025, Gardens Point, Internal

Unit code:IFN581
Credit points:12
Pre-requisite:(192cps in SV03 or SV04 or IV04 or IV05 or MV05 or MV06 or BV06 or BV07 or EV08 or EV07) OR (admission into IV53 or IV57 or IV54 or IV59 or IV55 or IV52 or IV56 or IV51 or IV58 or IV60) OR 192cps in LV41 OR (admission into IN31 or IN20 or IN19 or IN18 or IN25 or IN26 or IN27 or IN28 or IN29 or IN30 or PH71 or PH80 or KC88 or BS11 or DE99)
Assumed Knowledge:

Nil

Anti-requisite:IFN555 or IFN556 or IFQ555 or IFQ556
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

This unit provides a hands-on introduction to computer programming for students with no prior coding experience. It introduces the basic building blocks of algorithms: sequence, selection and iteration and how algorithmic thinking is used to decompose problems into simpler steps. The Python language is used for expressing these concepts in a programming language, which is widely used in the industry.

The unit introduces an imperative style of programming in which a sequence of statements changes the program’s state using variables that contain data of various types. The unit introduces the processes for debugging and testing programs and the forms of professional communication associated with software development. The principles of object oriented programming is introduced to help overcome complexity when developing larger programs. The concepts of abstraction and encapsulation are introduced.by using classes, objects and methods.

Learning Outcomes

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

  1. Discuss the processes software development: requirements, design, coding, testing and ongoing evolution, as embedded in the overall life-cycle of software and services.
  2. Decompose problems into simpler steps consisting of sequence, selection and iteration using algorithmic thinking.
  3. Create simple programs and reusable program constructs using the strict syntax of a programming language.
  4. Use debugging and testing strategies to ensure the quality of computer programs.
  5. Communicate professionally in all phases of software development.

Content

  • Software lifecycle and Algorithmic thinking
  • Introduction to programming using Python
  • Simple data types and operations
  • Program syntax, understanding errors and documentation
  • Sequence, Selection and Iteration
  • Testing and debugging
  • Lists and Dictionaries
  • Design with Functions
  • Classes, objects and methods
  • Abstraction Mechanisms

Learning Approaches

This unit will use a blended approach to teaching making use of lectures and practical laboratory sessions, and your own individual practice, including on-line resources. The on-line resources will include readings and videos from a variety of sources to help explain complex topics. Lectures will assume that you have pre-read assigned material and attempted weekly exercises. Each week you will complete small programming exercises so that you can get rapid weekly feedback regarding your progress. Programming assignments will allow you the opportunity to apply and demonstrate your skills developing a more substantial software solution for a real-world problem.

You are responsible for your academic progression through this unit. Unit staff will provide a learning environment designed to maximize your learning experience. In order to realize your full potential, it is strongly recommended that you actively participate in all of the learning activities offered in this unit. You should expect to spend, on average, 12 hours per week involved in preparing for and attending scheduled classes, preparing and completing assessment tasks as well as in independent study to consolidate your learning. You must be able to manage your time and prioritize activities in order to complete the required unit activities. You are expected to complete all pre-tutorial activities before attending your tutorial to maximize your learning.

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 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 programming concepts covered in this unit.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Online Timed Test

This assessment item is an on-line timed test to examine the contents covered in lectures 1 to 5.

Weight: 20
Length: 60 minutes from starting time
Individual/Group: Individual
Due (indicative): Week 6
Related Unit learning outcomes: 1, 2, 3

Assessment: Project - Programming Assignment

Creating a software solution using Python for a larger real-world motivated problem.

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

 

Weight: 40
Length: 150-200 lines of code
Individual/Group: Individual
Due (indicative): Week 7
Week 13
Related Unit learning outcomes: 1, 2, 3, 4, 5

Assessment: Final Examination

This assessment item is to examine the contents and the programming concepts covered during the semester.

Weight: 40
Individual/Group: Individual
Due (indicative): During central examination period
Central exam duration: 2:10 - Including 10 minute perusal
Related Unit learning outcomes: 1, 2, 3, 4

Academic Integrity

Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.

The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.

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.

Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.

Requirements to Study

Costs

No extraordinary charges or costs are associated with the requirements for this unit.

Resources

Resource materials to support your learning in this unit will be made available in your IFN581 Canvas site.

Resource Materials

Other

Canvas site

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.

IN18 Graduate Certificate in Information Technology

  1. Demonstrate an advanced knowledge of information technology disciplines.
    Relates to: ULO1, Online Timed Test, Project - Programming Assignment, Final Examination
  2. Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
    Relates to: ULO2, Online Timed Test, Project - Programming Assignment, Final Examination
  3. Employ industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
    Relates to: ULO3, ULO4, Online Timed Test, Project - Programming Assignment, Final Examination
  4. Communicate effectively in IT professional contexts using written, visual and oral formats.
    Relates to: ULO5, Project - Programming Assignment

IN19 Graduate Diploma in Information Technology

  1. Demonstrate advanced IT knowledge in one or more IT disciplines.
    Relates to: ULO1, Online Timed Test, Project - Programming Assignment, Final Examination
  2. Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
    Relates to: ULO2, Online Timed Test, Project - Programming Assignment, Final Examination
  3. Apply advanced, industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
    Relates to: ULO3, ULO4, Online Timed Test, Project - Programming Assignment, Final Examination
  4. Communicate effectively in IT professional contexts using written, visual and oral formats.
    Relates to: ULO5, Project - Programming Assignment

IN20 Master of Information Technology

  1. Demonstrate advanced specialist IT knowledge in at least one information technology discipline.
    Relates to: ULO1, Online Timed Test, Project - Programming Assignment, Final Examination
  2. Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
    Relates to: ULO2, Online Timed Test, Project - Programming Assignment, Final Examination
  3. Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
    Relates to: ULO3, ULO4, Online Timed Test, Project - Programming Assignment, Final Examination
  4. Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
    Relates to: ULO5, Project - Programming Assignment

IN28 Master of Artificial Intelligence

  1. Demonstrate advanced specialist IT knowledge in Artificial Intelligence discipline.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  2. Critically analyse complex Artificial Intelligence problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  3. Integrate advanced, industry-best practice, Artificial Intelligence methods, tools and techniques to develop and implement complex Artificial Intelligence systems, processes and/or software.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  4. Communicate effectively in Artificial Intelligence professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
    Relates to: Project - Programming Assignment

IN29 Master of Cyber Security

  1. Demonstrate advanced specialist IT knowledge in Cyber Security discipline.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  2. Critically analyse complex Cyber Security problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  3. Integrate advanced, industry-best practice, Cyber Security methods, tools and techniques to develop and implement complex Cyber Security systems, processes and/or software.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  4. Communicate effectively in Cyber Security professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
    Relates to: Project - Programming Assignment

IN30 Graduate Certificate in Data Science

  1. Demonstrate general knowledge of the principles, concepts, techniques, and approaches in data science.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  2. Employ appropriate data science methods​ to derive insights from data to support decision-making.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  3. Apply problem solving approaches to design, execute and produce data science solutions.
    Relates to: Project - Programming Assignment, Final Examination
  4. Communicate professionally in oral and written form for diverse purposes and audiences.
    Relates to: Project - Programming Assignment

IN31 Master of Data Science

  1. Demonstrate advanced knowledge of the principles, concepts, techniques, and approaches in data science.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  2. Skilfully use appropriate statistical, computational, and modelling techniques to derive insights from data to support decision-making.
    Relates to: Online Timed Test, Project - Programming Assignment, Final Examination
  3. Critically apply specialist problem-solving approaches to design, execute and produce data science solutions.
    Relates to: Project - Programming Assignment, Final Examination
  4. Communicate effectively and succinctly in oral, written and visual formats for diverse purposes and audiences.
    Relates to: Project - Programming Assignment