EPN

MEK3100 Programming 2 Course description

Course name in Norwegian
Programmering 2
Study programme
Bachelorstudium i fotojournalistikk / Bachelorstudium i journalistikk
Weight
10.0 ECTS
Year of study
2023/2024
Curriculum
FALL 2023
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. 

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.