Section: Home

Units

QUT Course Structure
Programming

Unit code: IND270
Contact hours: 4 hours per week
Credit points: 12
Information about fees and unit costs

This unit aims to give you a positive introduction to the skills required in solving computational problems and implementing solutions in a programming or scripting language. Although some theoretical aspects of computer programming are introduced briefly, the overall emphasis of the unit is programming practice. The unit emphasises generic programming concepts and related problem-solving strategies. The skills you learn in this unit will be applicable to a wide variety of commonly-used, industrially-significant programming and scripting languages.


Availability
Semester Available
2013 13TP1 Yes
2013 13TP2 Yes
2013 13TP3 Yes

Sample subject outline - 13 Week Teaching Period - 1 2013

Note: Subject outlines often change before the semester begins. Below is a sample outline.

Rationale

Computer programs and scripts are the fundamental way in which we tell computers how to solve new problems. All Information Technology students need an appreciation of the skills involved in programming and scripting. Although not all Information Technology graduates will become programmers, all IT professionals need to understand the challenges and constraints that arise during software development.

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.

This unit builds on the knowledge and skill you gained from Building IT Systems (IND104). Successfully completing this unit will provide you with a sound basis for ongoing development of your programming skills and an appreciation of the technical issues that must be considered when working with programming staff.

Aims

This unit aims to give you a positive introduction to the skills required in solving computational problems and implementing solutions in a programming or scripting language. Although some theoretical aspects of computer programming are introduced briefly, the overall emphasis of the unit is programming practice.

The unit emphasises generic programming concepts and related problem-solving strategies. The skills you learn in this unit will be applicable to a wide variety of commonly-used, industrially-significant programming and scripting languages.

Objectives

On completion of this unit you should be able to:


  1. Have practical experience in designing algorithmic solutions to computational problems (GC1 & GC2)

  2. Demonstrate understanding of the issues relating to effective software development, and the software development lifecycle (GC2 & GC6);

  3. Be able to communicate effectively in a software development context (GC3)

  4. Have the ability to read and understand given program code (GC1 & GC4)

  5. Have practical experience in using programming tools and technical documentation (GC1 & GC4)

  6. Have experience working independently on technical problems (GC5)


Key: Graduate Capabilities
GC1 - Knowledge and Skills
GC2 - Critical and Creative Thinking
GC3 - Communication
CG4 - Lifelong Learning
GC5 - Independence and Collaboration
GC6 - Social and Ethical Responsibility
GC7 - Leadership and Change

Content

This unit introduces fundamental techniques for solving computational problems using computer programming or scripting languages. It describes basic programming principles and strategies and how to use them effectively. Major topics covered in the unit include:



  • The basic program development process (requirements definition, algorithm design, coding, testing and debugging)

  • Programs as calculators (expressions, variables, types and functions)

  • Breaking (small) problems down into sequential steps (assignment, sequence and choice)

  • Solving (bigger) problems through repetition (loops, recursion and higher-order iterators)

  • Making programs fault-tolerant (input checking and exception handling)

  • Input and output (user interaction and accessing files)

  • Basic principles for showing that programs correct (test-case design)

  • Basic principles of object-oriented programming (encapsulation, classes, attributes and methods)


Though this unit deals mainly with small-scale program development it will provide an essential foundation for later units on large-scale system development or development of software for specialised application domains.

Approaches to Teaching and Learning

The unit emphasises a "hands-on" approach to teaching and learning. Formal contact hours each week comprise:


  • A two-hour "demonstration-based" lecture, at which new technical concepts will be explained and illustrated with worked examples


  • A two-hour tutorial (practical session), at which you will be required to complete practical exercises based on the lecture material

The series of weekly lectures will provide you with the theoretical knowledge, teamed with "hands-on" practical sessions to provide you with the practical 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 with the supplied exercises. You will have the opportunity to reflect on your learning and progress via the assessment items.

Late Assignment Policy

Students will be penalised for the late submission of assignments. Refer to the Diploma Course Guide for details.

Review of Grades or Academic Rulings

For rules on how to apply for a review of grade, refer to the Diploma Course Guide.

Consultation

The lecturer will be available for consultation from Week 2. Times will be advised in class and will also be displayed in a schedule on the noticeboard, on consultation room doors and on the IND270 Blackboard site under Announcements section.

Exam Timetable

The exam timetable will be displayed on the Noticeboard on Level 3 by Week 11 of the semester.

Assessment

The Mid-Semester test will be completed via Blackboard Online Test function. You are expected to work on the assignments independently, but you can ask for assistance from the teaching staff.

This unit may require students to submit their assessment items through SafeAssign.
Please refer to the Week 1 document for this unit.
You can obtain feedback on your progress throughout the unit through the following mechanisms:


  • Tutors will provide formative feedback during the supervised practical sessions

  • Solutions to the weekly quiz questions will be released on the Blackboard site as well as sample solutions to selected workshop practical exercises.

  • Summative and formative feedback will be provided on the programming assignment

  • Before the final examinations, sample questions will be made available to help you prepare for the upcoming examination and to provide feedback on your progress thus far.

  • Tutors and the unit coordinator will be available during their consultation times or via email to provide individual assistance and feedback on your progress.

Assessment name: Mid-Semester Test
Description: Multiple choice questions delivered via Blackboard Online Test function
Relates to objectives: 1 - 4
Weight: 10%
Internal or external: Internal
Group or individual: Individual
Due date: Week 7

Assessment name: Programming Assignment
Description: A major program development exercise consisting of two parts
Relates to objectives: 1 - 6
Weight: 50%
Internal or external: Internal
Group or individual: Individual
Due date: Week 7 and Week 13

Assessment name: Examination
Description: Final examination consisting of multiple choice and short answer questions
Relates to objectives: 1 - 6
Weight: 40%
Internal or external: Internal
Group or individual: Individual
Due date: Exam period

Academic Honesty

QUT is committed to maintaining high academic standards to protect the value of its qualifications. To assist you in assuring the academic integrity of your assessment you are encouraged to make use of the support materials and services available to help you consider and check your assessment items. Important information about the university's approach to academic integrity of assessment is on your unit Blackboard site.

A breach of academic integrity is regarded as Student Misconduct and can lead to the imposition of penalties.

Resource materials

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

The IND270 Blackboard site will provide:


  • Lecture notes

  • Workshop and practical documents and resources.

  • Assessment details, specifications and marking criteria.

  • Supporting documentation and references.


Required Textbook(s):

  • Doyle, B. (2011), C# Programming: From Problem Analysis to Program Design. 3rd Ed. Boston: Thompson Learning/Course Technology.

top
Risk assessment statement

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

Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of semester.

Last modified: 14-Mar-2013