EPN-V2

MEK3100 Advanced Python Programming for Engineers Course description

Course name in Norwegian
Avansert Python-programmering for Ingeniører
Study programme
Bachelor’s Programme in Electrical Engineering
Bachelor's Degree Programme in Biotechnology and Applied Chemistry
Bachelor's Degree Programme in Mechanical Engineering
Weight
10.0 ECTS
Year of study
2024/2025
Curriculum
FALL 2024
Schedule
Course history

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 - Programming 1

Learning outcomes

After completing the course, students are expected to have achieved the following learning outcomes defined in terms of knowledge, skills, and general competence.

Knowledge

The students:

  • will have a good overview of the Python programming language and can use it to solve real-life problems of moderate size.
  • can understand the principles of object-oriented programming features (e.g., class, object, methods, inheritance, polymorphism, encapsulation, etc.) and can use these to write object-oriented codes.
  • can understand the difference between functional and object-oriented features of Python and know when it is appropriate to use each.
  • can develop robust and reliable programs with good object-oriented design, find alternative solutions for a given problem, and evaluate the pros and cons of the different solutions.

Skills

The students:

  • can write clear and efficient programs in Python.
  • can identify and correct errors in their own programs.
  • can understand and familiarize themselves with other people's programs in order to troubleshoot, and modify them.

General competence

The students:

  • can create effective programs in Python and solve relevant issues.
  • can 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

In technological and scientific courses, we use mathematics to create models of reality. This enables engineers and natural scientists to calculate the outcome of complicated processes.

Among other things, the course covers mathematics for describing gas and liquid flows in process plants, and air flows in ventilation systems. The methods are also used to describe electromagnetic field propagation in the atmosphere and in conductors. Some of the techniques can be used to calculate the flow volume running through a pipe or watercourse. The Norwegian physicist Vilhelm Bjerknes was a pioneer in the use of this type of mathematics to forecast the weather.

The course deals with subjects that form part of engineering programmes all over the world. An understanding of these subjects will enable students to communicate with other engineers, to participate in professional discussions where the use of mathematics is assumed, and to read specialist literature where mathematics is used. The course also provides a formal background for continued studies leading up to a master’s degree in several fields. The course builds on Mathematics 1000 and Mathematics 2000.

The elective course is initiated provided that a sufficient number of students choose the course.

Overlapping courses

No requirements over and above the admission requirements.