Programplaner og emneplaner - Student
MEK3100 Advanced Python Programming for Engineers Course description
- Course name in Norwegian
- Avansert Python-programmering for Ingeniører
- Weight
- 10.0 ECTS
- Year of study
- 2023/2024
- Course history
-
- Curriculum
-
FALL 2023
- Schedule
-
Introduction
This course is a continuation of MEK1300 – Programming 1 and goes deeper into more advanced topics in Python such as Object-Oriented Programming (Abstraction, Encapsulation, Inheritance, and Polymorphism), Functional Programming (Lambda expressions, Map, Filter, Zip), List Comprehension, Generators, Decorators, and Metaprogramming.
-
Recommended preliminary courses
MEK1300 - Programmering 1
-
Required preliminary courses
MEK1300 - Programming 1
-
Learning outcomes
After completing this course, the student has the following learning outcomes, defined as knowledge, skills, and general competence:
Knowledge
The student:
- has a good overview of the Python programming language and can use it to solve real-life problems of moderate size.
- understands the principles of object-oriented programming features (e.g., class, object, method, inheritance, polymorphism, encapsulation, etc.) and can use these to write object-oriented codes.
- understands the difference between functional and object-oriented features of Python and knows when it is appropriate to use each.
- is able to develop robust and reliable programs with good object-oriented design, can find alternative solutions for a given problem and evaluate the pros and cons of the different solutions.
Skills
The student:
- is able to write clear and efficient programs in Python.
- is able to identify and correct errors in his/her own programs.
- is be able to understand and familiarize himself/herself with other people's programs in order to troubleshoot, and modify them.
General competence
The student:
- is able to create effective programs in Python and solve relevant issues.
- is able to do a code review, document errors and suggest improvements.
- can critically assess different programming approaches for a given problem.
-
Teaching and learning methods
Lectures and exercises.
-
Course requirements
The following work requirement is mandatory and must be approved to sit for the exam:
- Submission of one programming assignment.
-
Assessment
An Individual written exam of three hours.
Exam results can be appealed.
In the event of a resit or rescheduled exam, an oral examination may be used instead. In case an oral exam is used, the examination result cannot be appealed.
-
Permitted exam materials and equipment
No aids are allowed.
-
Grading scale
Graded scale A-F.
-
Examiners
One internal examiner. External examiners is used regularly.
-
Course contact person
Hadi Zahmatkesh
-
Overlapping courses
The course has 2 ECTS overlaps with the course ELI1500 Digital Systems.