41173 Quantum Software and Programming
Warning: The information on this page is indicative. The subject outline for a
particular session, location and mode of offering is the authoritative source
of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.
Subject handbook information prior to 2025 is available in the Archives.
Credit points: 6 cp
Subject level:
Undergraduate
Result type: Grade and marksRequisite(s): (41170 Introduction to Quantum Computing OR 43025 Introduction to Quantum Computing) AND (48023 Programming Fundamentals OR 41039 Programming 1 OR 68416 Computational Physics)
Description
Many quantum software tools exist and are emerging the quantum technology ecosystem. In this subject, students will learn how to use these tools and relate them to core concepts in quantum computing by developing working modules. Basic notions will be implemented in tutorials and students will develop a live module implementing an advanced quantum algorithm.
Subject learning objectives (SLOs)
Upon successful completion of this subject students should be able to:
1. | Implement quantum algorithms using programming languages, such as Q#/Qiskit/Cirq, for undertaking research and development. (C.1) |
---|---|
2. | Analyse quantum circuits and algorithms. (D.1) |
3. | Communicate effectively individually and as a team to meet stated project outcomes. (E.1) |
Course intended learning outcomes (CILOs)
This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):
- Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
- Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)
- Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)
Teaching and learning strategies
Students engage in a range of workshops and practical sessions to support hands-on and lab-focused collaborative learning activities.
This subject is ‘flipped’, which means students will be responsible for reviewing and engaging with online materials, such as pre-readings and open education resources before the face-to-face sessions and on-campus workshops. In the workshops, students work collaboratively on activities that develop their skills to complete quantum programming projects.
Attending practical sessions and classes underpin key learning strategies to completing the required assessment tasks. Students also receive continuous feedback in their workshops and tutorial exercises.
Content (topics)
- High-level quantum programming languages
- Quantum circuit model
- Quantum algorithms
- Advanced topics
Assessment
Assessment task 1: Research report
Intent: | Students formalise the problem that the algorithm aims to solve, understand how the algorithm works, and the time/space/query complexity of the algorithm. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1 and 2 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and D.1 |
Type: | Report |
Groupwork: | Individual |
Weight: | 25% |
Length: | 1500 words |
Criteria: | Thoroughness of investigation of various quantum algorithms (50%), appropriately formalise the background and main idea of the chosen quantum algorithms (50%). |
Assessment task 2: Group algorithm programming project
Intent: | To help students gain hands-on experience implementing quantum algorithms using high-level quantum programming languages. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1 and 3 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and E.1 |
Type: | Project |
Groupwork: | Group, group and individually assessed |
Weight: | 25% |
Length: | Students should submit a code project of approximately 1000 lines of code for the group, where their individual contribution to the project is proportional and clearly highlighted. |
Criteria: | Efficiency and effectiveness of code developed to implement quantum algorithms (50%), effectiveness as a team member to perform both group and individual reflections (25%), effectiveness of communication with peers (25%). |
Assessment task 3: Problem sets
Intent: | To practise and hone skills in development and analysis of quantum circuits and algorithms. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 2 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): D.1 |
Type: | Exercises |
Groupwork: | Individual |
Weight: | 50% |
Length: | As required to show working and correct answer. |
Minimum requirements
To pass this subject, students must achieve an overall mark of 50% or greater.
Recommended texts
Learn quantum programming — PennyLane
Understanding quantum computing - Azure Quantum | Microsoft Learn