EPN-V2

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
2024/2025
Course history
Curriculum
FALL 2024
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 - 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

    Hadi Zahmatkesh

  • Overlapping courses

    The course has 2 ECTS overlaps with the course ELI1500 Digital Systems.