|Semester 2, 2021 Online|
|Short Description:||Programming Algorithms|
|Faculty or Section :||Faculty of Health, Engineering and Sciences|
|School or Department :||School of Sciences|
|Student contribution band :||Band 2|
|ASCED code :||020109 - Algorithms|
|Grading basis :||Graded|
|Version produced :||14 April 2021|
Examiner: David Lai
The study of algorithms and data structures remains one of the mainstays of application development curricula worldwide as employers seek programmers who create efficient and well-designed code. Understanding and using complex structures and the operations on those can simplify programming significantly, thereby reducing costs of development, operation, and maintenance. Programming algorithms are fundamental as it applies to all programming languages and techniques and builds core programming competency. The course prepares students for further investigation in software development in advanced courses in the study program.
This course addresses various data structures and techniques for algorithm design and analysis. It covers data structures such as lists, stacks, queues, trees and graphs within a modern object-based scripting language. The design of various algorithms such as searching algorithms, sorting algorithms and graph algorithms is discussed. This course also addresses other fundamental topics such as recursive algorithms and complexity analysis.
On completion of this course students should be able to:
- Apply the fundamentals of structured programming, data structures, and basic algorithms;
- Create clear, logical, and concisely written source code that is well-documented throughout;
- Use time complexity to describe the behaviour of an algorithm;
- Create solutions to problems by generating programs which apply strategies covered in the course.
|1.||Interpreted Programming Language fundamentals||10.00|
|2.||Recursion and tail recursion optimization||10.00|
|3.||Sorting and Searching Programming Strategies||20.00|
|5.||Lists, Stacks, Queues||15.00|
|6.||Sets, Maps, Hashing||10.00|
|7.||Trees, Priority Queues||15.00|
|8.||Basics of Time Complexity||5.00|
Text and materials required to be purchased or accessed
ALL textbooks and materials available to be purchased can be sourced from USQ's Online Bookshop (unless otherwise stated). (https://omnia.usq.edu.au/textbooks/?year=2021&sem=02&subject1=CSC8720)
Please contact us for alternative purchase options from USQ Bookshop. (https://omnia.usq.edu.au/info/contact/)
Student workload expectations
|Description||Marks out of||Wtg (%)||Due Date||Objectives Assessed||Notes|
|Algorithm Application||25||25||26 Jul 2021||1,2,4|
|Complexity Analysis||25||25||16 Aug 2021||2,3,4|
|Report||100||50||11 Oct 2021||1,2,3,4|
Important assessment information
There are no attendance requirements for this course. However, it is the students' responsibility to study all material provided to them or required to be accessed by them to maximize their chance of meeting the objectives of the course and to be informed of course-related activities and administration.
Requirements for students to complete each assessment item satisfactorily:
To satisfactorily complete an individual assessment item a student must achieve at least 50% of the marks. (Depending upon the requirements in Statement 4 below, students may not have to satisfactorily complete each assessment item to receive a passing grade in this course.)
Penalties for late submission of required work:
Students should refer to the Assessment Procedure http://policy.usq.edu.au/documents.php?id=14749PL (point 4.2.4)
Requirements for student to be awarded a passing grade in the course:
To be assured of receiving a passing grade students must obtain at least 50% of the total weighted marks available for the course.
Method used to combine assessment results to attain final grade:
The final grades for students will be assigned on the basis of the weighted aggregate of the marks (or grades) obtained for each of the summative assessment items in the course.
There is no examination in this course.
Examination period when Deferred/Supplementary examinations will be held:
As there are no examinations in this course, there will be no deferred or supplementary examinations.
University Student Policies:
Students should read the USQ policies: Definitions, Assessment and Student Academic Misconduct to avoid actions which might contravene University policies and practices. These policies can be found at http://policy.usq.edu.au.
The due date for an assignment is the date by which a student must despatch the assignment to the USQ. Students must retain a copy of each item submitted for assessment purposes. Such copies should be despatched to the USQ within 24 hours of receipt of a request to do so.
Electronic submission of assignments is required for this course. All submissions must be made through the Assignment Drop Box located on the USQ study desk for this course, unless directed otherwise by the examiner of the course. Students must retain a copy of each item submitted for assessment. This must be despatched to USQ within 24 hours if requested by the Examiner.
Reliable access to the internet is a requirement of this course as the course contains electronic assessment and submission elements. In order to avoid internet issues, on-campus students should upload their assignments electronically using the same computer laboratories. Online students who knowingly do not have reliable access to the internet should actively seek alternative internet access (e.g., Internet cafes, local libraries, or work places) for assessment submission. Online students are able to use the on-campus student computer laboratories once access has been enabled. To be granted access, Online students need to contact ICT and ask to have a student account enabled so that they can work on-campus.
Students are expected to open their university provided email account and check it regularly for personal communication. In accordance with the Electronic Communication with Students Policy and Procedure (http://policy.usq.edu.au/documents.php?id=13306PL) information sent to the student's USQ email account will be regarded as being received.
APA style is the referencing system required in this course. Students should use the 6th or 7th edition of the APA Style Manual to format their assignments. The APA Style to be used is defined by the USQ Library's referencing guide. http://www.usq.edu.au/library/referencing
Evaluation and benchmarking
In meeting the University’s aims to establish quality learning and teaching for all programs, this course monitors and ensures quality assurance and improvements in at least two ways. This course:
- conforms to the USQ Policy on Evaluation of Teaching, Courses and Programs to ensure ongoing monitoring and systematic improvement.
- forms part of the Master of Information Technology and is benchmarked against the:
• professional accreditation standards of the Australian Computer Society (ACS).
This course requires the use of a computer lab with C++ compiler installed.
If the course is only available via the web students are expected to work with USQ-supplied virtual machines either over a fast internet connection, or on a powerful personal computer.