IFN555 Introduction to 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 C 2024, Gardens Point, Internal

Unit code:IFN555
Credit points:6
Pre-requisite:(Enrolment in IN20, IN19, IN18, IN27, IN26) or (192 credit points in LV41)) or (192cps in SV03 or IV04 or MV05 or BV06 or EV08) or (enrolment in IV53 or IV54 or IV55 or IV56 or IV58) or (enrolment in PH71 or PH80).
Equivalent:IFQ555
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

This unit is designed for those who have never programmed before. 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 C# language is used for expressing those steps in a programming language. It introduces an imperative style of programming in which a sequence of statements change the program’s state. The program’s state consists of a set of variables that contain data of various types. We introduce basic data types including numbers, text strings and lists. Students are also introduced to processes for debugging and testing programs to ensure their correctness and the forms of professional communication associated with software development.

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
  • Algorithmic thinking
  • Introduction to programming using C#
  • Compilation
  • Sequence, Selection and Iteration
  • Simple data types 
  • Program syntax and understanding compiler errors
  • Importance of program readability and documentation
  • Testing and debugging

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 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, 4

Assessment: Programming Assignment

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

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

Weight: 50
Length: 100-200 lines of code
Individual/Group: Individual
Due (indicative): End of 6-week term
Related Unit learning outcomes: 1, 2, 3, 4, 5

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. Contribute effectively to biomedical projects, either as an individual or as a member of a team, by demonstrating professional behaviour and participating in continuous learning.
    Relates to: In-class Practical Test, Programming Assignment
  4. Apply knowledge and skills to rapidly source, critically analyse and communicate biomedical science information using appropriate technologies.
    Relates to: Programming Assignment