FIT1054 - Computer science (advanced) - 2018

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.

Faculty

Information Technology

Chief examiner(s)

Dr Julian Garcia Gallego

Unit guides

Offered

Clayton

  • Second semester 2018 (On-campus)

Prerequisites

((One of FIT1040, ECE2071, FIT1002) and FIT1029) or FIT1045 or FIT1053

Students beginning FIT1054 are assumed to be able to: Identify the main components of an algorithm (variables, operators, expressions, etc), and write the algorithm associated to the specification of a simple problem. Be able to translate a simple algorithm into a program containing variable declarations, selection, repetition, and lists and/or arrays.

Prohibitions

FIT1015, FIT1008, FIT2085

Synopsis

This unit introduces students to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. It covers a range of conceptual levels, from high-level algorithms and data-structures, down to the machine models and simple assembly language programming. Topics include data types; data structures; algorithms; algorithmic complexity; recursion and translation to assembly language.

Outcomes

At the completion of this unit, students should be able to:

  1. translate simple problem statements into algorithms, implement them in a high level programming language and test them.
  2. summarise and compare the properties of basic abstract data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables.
  3. evaluate different algorithms and implementations of basic abstract data types.
  4. analyse algorithms by determining their best case and worst case big O time complexity.
  5. design efficient solutions combining basic abstract data types and applying the concepts of complexity while understanding its implications in practical situations.
  6. describe the classic RISC pipeline and how machine architecture can affect processor performance.
  7. deconstruct simple high-level code into assembly code such as MIPS R2000.

Assessment

Examination (3 hours): 60%; In-semester assessment: 40%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:

    Three 1-hour lectures

    One 1-hour tutorial

    One 3-hour laboratory

  2. Additional requirements (all students):

    A minimum of 5 hours of personal study per week in order to satisfy the reading and assignment expectations.

See also Unit timetable information

This unit applies to the following area(s) of study