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

    Lectures, practice and project assignments.

  • 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

    The course addresses the engineering work that forms the basis of building a process plant. It includes calculations in process technology, preparation of drawings and selection of equipment and components. The field is theoretically demanding, but also requires practical sense.

  • Examiners

    None.

  • Course contact person

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

    Knowledge 

    • can explain process and technical components, and their drawing symbols
    • can read drawings and process flow charts (P&ID)
    • can explain current codes and knowledge about associated standards
    • has basic knowledge about software related to the field

    Skills

    The student

    • is able to prepare process flow charts, pipe arrangement drawings and isometric drawings
    • is able to calculate flow forces
    • can execute calculations loads on a pipe system
    • is able to perform stress and flexibility analyzes
    • can dimension trailers and bearings
    • can construct expansion joints

    General competence

    The student

    •  is able to construct and dimension a process plant using relevant theory, use of professional software, knowledge of standards and use of equipment catalogs 
  • Overlapping courses

    The following coursework is compulsory and must be approved before the student can take the exam:

    • Three project assignments