Studyinfo subject MEK3100 2023 HØST
MEK3100 Programming 2 Course description
- Course name in Norwegian
- Programmering 2
- Study programme
-
Bachelorstudium i ingeniørfag - bygg / Bachelorstudium i ingeniørfag - elektronikk og informasjonsteknologi / Bachelorstudium i ingeniørfag - bioteknologi og kjemi / Bachelorstudium i ingeniørfag - maskin
- Weight
- 10.0 ECTS
- Year of study
- 2023/2024
- Curriculum
-
FALL
2023
- Schedule
- Programme description
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.