Programplaner og emneplaner - Student
MEK1300 Introduction to Python Programming Course description
- Course name in Norwegian
- Introduksjon til Python-programmering
- Study programme
-
Bachelor’s Programme in Electrical EngineeringBachelor's Degree Programme in Biotechnology and Applied ChemistryBachelor's Degree Programme in Mechanical Engineering
- Weight
- 10.0 ECTS
- Year of study
- 2021/2022
- Curriculum
-
FALL 2021
- Schedule
- Programme description
- Course history
-
Introduction
The course does not require any prior knowledge in programming. It gives an introduction to Python and some of the most used Python modules. Students are introduced to the programming and development of algorithms, including the use of loops, choices, objects, lists, files and communication with the user.
Required preliminary courses
Quantum information technology implements quantum phenomena to process information and communicate it beyond the limits of the classical world. According to the EU Quantum Technologies Flagship report, such technology is based on the following pillars:
- Quantum computation
- Quantum communication
- Quantum simulation
- Quantum metrology and sensing
This course will introduce students to the first three of these fields, by equipping them with knowledge of principles, ideas, and methods. Many of these methods are also applicable within several other fields.
Prior knowledge in quantum physics is not required. The students will be trained to create their own quantum algorithms, simulate quantum systems, and implement the corresponding programs on classical and quantum computers. By implementing calculations and simulations of quantum systems, the students will learn about the fundamental quantum phenomena and key concepts. Moreover, in order to lay the proper foundation, the fundamental concepts of classical information theory is introduced.
A selection of recently published quantum algorithms and methods, including communication protocols, computational methods of modern quantum physics, and optimization algorithms, will be presented and analysed. Particular focus will be given to applications in data science in order to address research challenges in sustainable systems. Finally, the most recent challenges and particular proof of concept problems, including so-called quantum supremacy, will be addressed.
Learning outcomes
Students taking the course should be familiar with elementary calculus, including the concepts of complex numbers and numerical methods, and with basic linear algebra. Moreover, the students should be in command of a programming language/computing environment such as, e.g., Python, MATLAB or C(++).
In this regard, it is worth mentioning that the first lectures of the course will be spent on reminding the students of the basic concepts from mathematics.
Teaching and learning methods
Lectures and exercises.
Course requirements
A student who has completed this course should have the following learning outcomes defined in terms of knowledge, skills and general competence:
Knowledge
On successful completion of the course the student
- is able to model and simulate numerically simple quantum systems and processes - both on classical and quantum computers.
- is familiar with fundamental key concepts within information theory such as Shannon Entropy, noiseless and noisy-channel coding theorems, and optimal coding algorithms.
- knows what a qubit is and how the information content grows when qubits are connected.
- is familiar with the elementary operations, or gates, of quantum computing - including gates such as the Hadamard gate and CNOT.
- knows the present state of the art when it comes to existing quantum computers.
- can implement simple quantum algorithms and run them on actual quantum computers.
- knows basic quantum communication protocols such as key distributions and secret sharing and understands the ideas behind them.
Skills
On successful completion of the course the student
- can independently devise, implement and run calculations and simulations of simple quantum systems.
- will have the necessary knowledge to design her/his own quantum algorithms.
- is familiar with several methods, such as Shor’s algorithm and quantum annealing, which enables quantum computers to solve problems considerably faster than classical computers.
- is familiar with how quantum technology affects traditional encryption schemes, and provides novel ones.
General competence
On successful completion of the course the student
- is familiar with several phenomena specific to quantum physics - such as quantization, particle interference, collapse of the wave function and entanglement.
- is familiar with how information may be described by quantitative means - both within a classical and a quantum context.
- knows how to revise and improve on implementations of quantum programs.
- can address some of the practical challenges related to building quantum computers.
- knows the importance of quantum computing within information technology and the open challenges yet to be solved in this scope.
Assessment
The teaching is organized in sessions where the subject material is presented, and in sessions where the students solve problems on their laptops and prototype quantum computers. The latter is done using online cloud platforms currently provided by enterprises such as, e.g., IBM and D-Wave. Between these sessions, the students are expected to work independently, using their computers, access to quantum computers, and course notes.
In the last stage of the cource, the students are required to complete and present an individual project that involves (i) simulation of a quantum system/process, (ii) simulation of a quantum communications protocol, or (iii) creation of a quantum code and its implementation on a quantum processor using an online cloud platform. The project should be concluded by submitting a report which provides a description of the project, its motivation and implementation, and an analysis the obtained results.
Permitted exam materials and equipment
The report of the individual project must be approved before examination.
Grading scale
The course is concluded by an individual oral examination. As a part of this examination, the student will provide a brief presentation of her/his project.
Grades for oral examinations cannot be appealed.
Examiners
The student can bring their own project report. The student is also allowed to make use of her/his own computer for the presentation of the project.
Course contact person
For the assessment, a grading scale from A to E is used. A denotes the highest and E the lowest passing grade, and F denotes a fail.
Overlapping courses
Two internal invigilators/examiners will be present at the oral exam. External examiner is used periodically.