Skip to menu Skip to content Skip to footer
Course profile

Programming of Simulation, Analysis, & Learning Systems (MATH2504)

Study period
Sem 2 2024
Location
St Lucia
Attendance mode
In Person

Course overview

Study period
Semester 2, 2024 (22/07/2024 - 18/11/2024)
Study level
Undergraduate
Location
St Lucia
Attendance mode
In Person
Units
2
Administrative campus
St Lucia
Coordinating unit
Mathematics & Physics School

This course is designed to build understanding of programming, software architecture, and general software development in the context of mathematical, numerical, symbolic, simulation and data science applications. Students will learn the basic elements of software development in the context of mathematics using a scientific programming language like the Julia language, and also using tools such as git, Unix, and Integrated Development Environments (IDEs). The course teaches students to implement algorithms from numerical mathematics, symbolic mathematics, simulation, and data analysis, all using solid software development practices that allow for organised maintainable and extendable software.

The bulk of the course is taught by industry professionals and there are also guest lectures of other industry professionals.

The focus of the course is programming of systems that involve mathematics and mathematical modelling. This includes the interface of mathematical principles and a programming language as well as tooling and the experience of using solid basic practices that lead to organized and efficient code.ᅠThe language for this course is the Julia language. Julia is a modern compiled programming language that in many ways is easy to work with like other scripting languages, however it also allows to create very efficient code. In general, the Julia language and the surrounding eco-system focuses on scientific computing and mathematics.ᅠ

Course requirements

Assumed background

The course is aimed at students in their fourth semester (or above) of a mathematics degree. It assumes knowledge of calculus, linear algebra, elementary statistics, basic probability, and elementary concepts of discrete mathematics. It also assumes some prior experience in scientific/computational/statistical scripting, using languages such as R, MATLAB, Python, or similar. No specific detailed knowledge of such programming is assumed, however it is assumed that students have seen code, variables, loops, conditionals, and similar constructs previously.

Prerequisites

You'll need to complete the following courses before enrolling in this one:

(MATH1052 or MATH1072) and (STAT1201 or STAT1301 or STAT2003 or STAT2201 or STAT2203)

Course contact

Tutor

Miss Tina Moghaddam

Tutor

Dr Zhihao Qiao

Tutor

Mr Limao Chang

Tutor

Mr Isaac Beh

Tutor

Mr Cooper Janke

Tutor

Mr Lief Lundmark-Aitcheson

Tutor

Mr Brandon Lowe

Tutor

Mr Chang Chen

Tutor

Mr Jack Litfin

Course staff

Lecturer

Dr Paul Bellette
Ms Claire Foster

Guest lecturer

Ms Maithili Mehta
Dr Megan Dawson

Timetable

The timetable for this course is available on the UQ Public Timetable.

Additional timetable information

Refer to your personal timtable for dates, times and locations.In addition to lectures, there are standard practicals (PRA1), where students choose one group from the available groups. There are also optional support practicals (PRA2) where students that needᅠextra support can join.

While in-person attendance isᅠrecommended, lectures are streamed via Zoom. All practicals are in-person.

This information is also available on the courseᅠwebsite .

Aims and outcomes

There are 4 main study aims:

  • Learning how to use a variety of features of a programmingᅠlanguage (Julia in this case).
  • Gaining basic experience with technical tools such as: Unix, git, IDEs, Jupyter.
  • Learning how to implement mathematical and statistical algorithmic concepts, their theoretical analysis, and implementation.
  • Gaining an understanding of basic solidᅠsoftware development practices - with a view towards employability.

Ideally, after completion of this course a student will have the ability to continue self-study of software and programming concepts after getting a 'jump-start' via this course. The student would ideally be able to work independently on projects for more advanced third and fourth year courses, and/or produce efficient code as part of Honours or higher degree research. Importantly, the student would have tools for contributing to open source projects, start-up teams, and be hirable in analytic software focused jobs in industry.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

Use software development tools including Git, Unix command line, Markdown, Julia IDEs and Debugging.

LO2.

Develop (design, program, and test) multi-module software programs in a programming language such as Julia or similar.

LO3.

Use language extensions for scientific programming.

LO4.

Work with data files and formats including CSV, JSON, XML, and data frames. For this, understand the structure of such data objects.

LO5.

Implement and interpret basic numerical methods including the solution of ordinary differential equations, root finding, and problems from linear algebra. In addition, be able to apply these to concrete real world applications

LO6.

Implement and interpret basic Monte Carlo simulation techniques in the context of more complex simulation systems such as discrete event simulation systems.

LO7.

Implement and interpret discrete and graph based algorithms for sorting, searching, and path finding. In addition, analyse (mathematically) the performance of simple data structures such as linked-lists, heaps, and hash-tables. Further, gain an understanding on how some of these structures are implemented.

LO8.

Implement, train, use, and interpret basic machine learning techniques from supervised and unsupervised learning.

LO9.

Describe the software organization, design-rationale, and implementation for all of the above use cases, all in the context of projects spanning multiple modules and following organized software development practices.

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code, Creative Production/ Exhibition, Tutorial/ Problem Set BigHW (pairs) 20%

30/08/2024 4:00 pm

Computer Code, Quiz Quiz
  • Hurdle
  • In-person
20%

3/09/2024 7:00 pm

Submit in class at end of quiz.

Computer Code, Creative Production/ Exhibition, Project Project 1 (individual)
  • Hurdle
20%

20/09/2024 4:00 pm

Computer Code, Creative Production/ Exhibition, Project Project 2 (pairs)
  • Hurdle
20%

18/10/2024 4:00 pm

Computer Code, Project Project 3 (individual)
  • Hurdle
20%

14/11/2024 4:00 pm

A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.

Assessment details

BigHW (pairs)

Mode
Written
Category
Computer Code, Creative Production/ Exhibition, Tutorial/ Problem Set
Weight
20%
Due date

30/08/2024 4:00 pm

Task description

This BigHW is a "big home-work". It includes multiple programming and algorithmic exercises covering the first few units of the course. The submission is in pairs. This is a single assignment. See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/bighw.html for the assignment, submission details, and grading criteria.

Submission guidelines

See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/bighw.html.

Deferral or extension

You may be able to apply for an extension.

The BigHW needs to be completed prior to the Quiz and Project 1 so that students focus on these assessments.

Late submission

A penalty of 1 grade for each 24 hour period from time submission is due will apply for up to 7 days. After 7 days you will receive a mark of 0.

You are required to submit assessable items on time. If you fail to meet the submission deadline for any assessment item then the listed penalty will be deducted per day for up to 7 calendar days, at which point any submission will not receive any marks unless an extension has been approved. Each 24-hour block is recorded from the time the submission is due.

Quiz

  • Hurdle
  • In-person
Mode
Written
Category
Computer Code, Quiz
Weight
20%
Due date

3/09/2024 7:00 pm

Submit in class at end of quiz.

Task description

The quiz tests basic understanding and competency of the content from the first few units of the course. The quiz takes place during the Tuesday evening lecture. See https://courses.smp.uq.edu.au/MATH2504/2024/quiz/

Hurdle requirements

To obtain a course grade of 7, the student must achieve 60% or above on this quiz.

Submission guidelines

See https://courses.smp.uq.edu.au/MATH2504/2024/quiz/.

Deferral or extension

You may be able to defer this exam.

The Quiz needs to be completed prior to Project 1 to streamline learning.

See ADDITIONAL ASSESSMENT INFORMATION for the extension and deferred examination information relating to this assessment item.

Late submission

You will receive a mark of 0 if this assessment is submitted late.

This is a quiz with a fixed duration.

Project 1 (individual)

  • Hurdle
Mode
Written
Category
Computer Code, Creative Production/ Exhibition, Project
Weight
20%
Due date

20/09/2024 4:00 pm

Task description

This project (individual work) deals with symbolic computation. It involves taking an existing (supplied) code-base and improving it. See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project1.html.

Hurdle requirements

Note that project grades are updated so that the weakest project receives the average grade of the other two projects. However, for "passing a project" as per the grade hurdles for grade 6 or grade 7, the student must obtain a passing grade on all three projects (prior to the modification of the weakest grade). That is, a student that fails any of the three projects will not be able to get a grade of 6 or 7.

Submission guidelines

See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project1.html.

Deferral or extension

You may be able to apply for an extension.

Project 1 needs to be completed prior to Project 2 to streamline learning.

See ADDITIONAL ASSESSMENT INFORMATION for the extension and deferred examination information relating to this assessment item.

Late submission

A penalty of 1 grade for each 24 hour period from time submission is due will apply for up to 7 days. After 7 days you will receive a mark of 0.

You are required to submit assessable items on time. If you fail to meet the submission deadline for any assessment item then the listed penalty will be deducted per day for up to 7 calendar days, at which point any submission will not receive any marks unless an extension has been approved. Each 24-hour block is recorded from the time the submission is due.

Project 2 (pairs)

  • Hurdle
Mode
Written
Category
Computer Code, Creative Production/ Exhibition, Project
Weight
20%
Due date

18/10/2024 4:00 pm

Task description

This project deals with discrete event simulation and is a project to be worked on in pairs.  Unlike project #1 that is based on supplied code, the structure of the code base for this project is to be designed in pairs. See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project2.html.

Hurdle requirements

Note that project grades are updated so that the weakest project receives the average grade of the other two projects. However, for "passing a project" as per the grade hurdles for grade 6 or grade 7, the student must obtain a passing grade on all three projects (prior to the modification of the weakest grade). That is, a student that fails any of the three projects will not be able to get a grade of 6 or 7.

Submission guidelines

See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project2.html.

Deferral or extension

You may be able to apply for an extension.

Project 2 needs to be completed prior to Project 3 to streamline learning.

See ADDITIONAL ASSESSMENT INFORMATION for the extension and deferred examination information relating to this assessment item.

Late submission

A penalty of 1 grade for each 24 hour period from time submission is due will apply for up to 7 days. After 7 days you will receive a mark of 0.

You are required to submit assessable items on time. If you fail to meet the submission deadline for any assessment item then the listed penalty will be deducted per day for up to 7 calendar days, at which point any submission will not receive any marks unless an extension has been approved. Each 24-hour block is recorded from the time the submission is due.

Project 3 (individual)

  • Hurdle
Mode
Written
Category
Computer Code, Project
Weight
20%
Due date

14/11/2024 4:00 pm

Task description

This project deals with data science. It is due towards the end of the exam block. See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project3.html.

Hurdle requirements

Note that project grades are updated so that the weakest project receives the average grade of the other two projects. However, for "passing a project" as per the grade hurdles for grade 6 or grade 7, the student must obtain a passing grade on all three projects (prior to the modification of the weakest grade). That is, a student that fails any of the three projects will not be able to get a grade of 6 or 7.

Submission guidelines

See https://courses.smp.uq.edu.au/MATH2504/2024/assessment_html/project3.html.

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

The due date is a hard deadline also for medical and other extensions. This is because the due date is at the end of the exam period.

See ADDITIONAL ASSESSMENT INFORMATION for the extension and deferred examination information relating to this assessment item.

Late submission

A penalty of 1 grade for each 24 hour period from time submission is due will apply for up to 7 days. After 7 days you will receive a mark of 0.

Course grading

Full criteria for each grade is available in the Assessment Procedure.

Grade Cut off Percent Description
1 (Low Fail) 0 - 24

Absence of evidence of achievement of course learning outcomes.

Course grade description: Not passing.

2 (Fail) 25 - 44

Minimal evidence of achievement of course learning outcomes.

Course grade description: Not passing.

3 (Marginal Fail) 45 - 49

Demonstrated evidence of developing achievement of course learning outcomes

Course grade description: Not passing.

4 (Pass) 50 - 64

Demonstrated evidence of functional achievement of course learning outcomes.

Course grade description: Passing with minimal competency.

5 (Credit) 65 - 74

Demonstrated evidence of proficient achievement of course learning outcomes.

Course grade description: Passing.

6 (Distinction) 75 - 84

Demonstrated evidence of advanced achievement of course learning outcomes.

Course grade description: To obtain this grade a student must complete and pass all three projects.

7 (High Distinction) 85 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Course grade description: To obtain this grade a student must complete and pass all three projects and in addition achieve a grade of more than 60% on the quiz.

Additional course grading information

Note that project grades are updated so that the weakest project receives the average grade of the other two projects. However, for "passing a project" as per the grade hurdles for grade 6 or grade 7, the student must obtain a passing grade on all three projects (prior to the modification of the weakest grade). That is, a student that fails any of the three projects will not be able to get a grade of 6 or 7.

Supplementary assessment

Supplementary assessment is available for this course.

Should you fail a course with a grade of 3, you may be eligible for supplementary assessment. Refer to my.UQ for information on supplementary assessment and how to apply. 

Supplementary assessment provides an additional opportunity to demonstrate you have achieved all the required learning outcomes for a course.  

If you apply and are granted supplementary assessment, the type of supplementary assessment set will consider which learning outcome(s) have not been met.  

Supplementary assessment in this course will be an additional project. To receive a passing grade of 3S4, you must obtain a mark of 50% or more on the supplementary assessment. 

Additional assessment information

Students should check that assignment marks are correctly entered on Blackboard Grade Centre. If you feel an error has been made in assessing your work, then in the firstᅠinstance, you should contact the course coordinator. No discussions about incorrect/missing marks will be entertained more than three weeks after the assignment due date.

Artificial Intelligence

The assessment tasks in this course evaluate students’ abilities, skills and knowledge without the aid of Artificial Intelligence (AI). Students are advised that the use of AI technologies to develop responses is strictly prohibited and may constitute misconduct under the Student Code of Conduct. 


Applications for Extensions to Assessment Due Dates

Extension requests are submitted online via my.UQ – applying for an extension. Extension requests received in any other way will not be approved. Additional details associated with extension requests, including acceptable and unacceptable reasons, may be found at my.UQ.

Please note:

  • Requests for an extension to an assessment due date must be submitted through your my.UQ portal and you must provide documentation of your circumstances, as soon as it becomes evident that an extension is needed. Your application must be submitted on or before the assessment item's due date and time.
  • Applications for extension can take time to be processed so you should continue to work on your assessment item while awaiting a decision. We recommend that you submit any completed work by the due date, and this will be marked if your application is not approved. Should your application be approved, then you will be able to resubmit by the agreed revised due date.
  • If an extension is approved, you will be notified via your my.UQ portal and the new date and time for submission provided. It is important that you check the revised date as it may differ from the date that you requested.
  • If the basis of the application is a medical condition, applications should be accompanied by a medical certificate dated prior to the assignment due date. If you are unable to provide documentation to support your application by the due date and time you must still submit your application on time and attach a written statement (Word document) outlining why you cannot provide the documentation. You must then upload the documentation to the portal within 24 hours.
  • If an extension is being sought on the basis of exceptional circumstances, it must be accompanied by supporting documentation (eg. Statutory declaration).
  • For extensions based on a SAP you may be granted a maximum of 7 days (if no earlier maximum timeframe applies). See the Extension or Deferral availability section of each assessment for details. Your SAP is all that is required as documentation to support your application. However, additional extension requests for the assessment item will require the submission of additional supporting documentation e.g., a medical certificate. All extension requests must be received by the assessment due date and time.
  • An extension for an assessment item due within the teaching period in which the course is offered, must not exceed four weeks in total. If you are incapacitated for a period exceeding four weeks of the teaching period, you are advised to apply for Removal of Course.
  • If you have been ill or unable to attend class for more than 14 days, you are advised to carefully consider whether you are capable of successfully completing your courses this semester. You might be eligible to withdraw without academic penalty - seek advice from the Faculty that administers your program.
  • Students may be asked to submit evidence of work completed to date. Lack of adequate progress on your assessment item may result in an extension being denied.
  • There are no provisions for exemption from an assessment item within UQ rules. If you are unable to submit an assessment piece then, under special circumstances, you may be granted an exemption, but may be required to submit alternative assessment to ensure all learning outcomes are met.


Applications to defer an exam

In certain circumstances you can apply to take a deferred examination for in-semester and end-of-semester exams. You'll need to demonstrate through supporting documentation how unavoidable circumstances prevented you from sitting your exam. If you can’t, you can apply for a one-off discretionary deferred exam.

Deferred Exam requests are submitted online via mySi-net. Requests received in any other way will not be approved. Additional details associated with deferred examinations, including acceptable and unacceptable reasons may be found at my.UQ.

Please note:

  • Applications can be submitted no later than 5 calendar days after the date of the original exam.
  • There are no provisions to defer a deferred exam. You need to be available to sit your deferred examination.
  • Your deferred examination request(s) must have a status of "submitted" in mySI-net to be assessed.
  • All applications for deferred in-semester examinations are assessed by the relevant school. Applications for deferred end-of-semester examinations are assessed by the Academic Services Division.
  • You’ll receive an email to your student email account when the status of your application is updated.
  • If you have a medical condition, mental health condition or disability and require alternative arrangements for your deferred exam you’ll need to complete the online alternative exam arrangements through my.UQ. This is in addition to your deferred examinations request. You need to submit this request on the same day as your request for a deferred exam or supplementary assessment. Contact Student Services if you need assistance completing your alternative exam arrangements request.

Learning resources

You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.

Library resources

Library resources are available on the UQ Library website.

Additional learning resources information

This information is also available on the course website

Learning activities

The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.

Filter activity type by

Please select
Clear filters
Learning period Activity type Topic
Multiple weeks
Practical

Standard practical (PRA1)

Weekly standard practical sessions as a guide towards assignments, projects, and quiz prep.

Practical

Support practical (PRA2)

Weekly support practical sessions are optional for students needing extra help.

Lecture

Weekly Lectures (3 hrs per week)

Lecture

Lecture

Perspective Seminar

Periodic seminars by industry professionals.

Policies and procedures

University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:

Learn more about UQ policies on my.UQ and the Policy and Procedure Library.