Course content

This course will discuss syntax and semantics of programming languages, including static and dynamic aspects, typing and type inference, higher order functions, polymorphism, implementation and run-time systems. It will also touch upon different classes of programming languages, such as object-oriented, functional, dynamic and logical languages, and discuss these in relation to each other.

Learning outcome

After taking the IN3040 you will:

  • Easier be able to learn?new programming languages, know?a greater breadth of existing languages, and better understand?the construction?of these
  • Be able to participate in the development of, and discussion around, new programming languages based on an understanding of the design space for such development, and the trade-offs behind the languages we have today, and their peculiarities
  • Be able to explain how key language concepts are implemented at a high level, and discuss what's behind such design choices
  • Understand the differences of different programming paradigms, such as object-oriented, functional and logical programming
  • Be able to assess the advantages and disadvantages of the various ways of programming

Admission to the course

Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for?in Studentweb.

If you are not already enrolled as a student at UiO, please see our information about?admission requirements and procedures.

Special admission requirements

In addition to fulfilling the?Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:

  • Mathematics R1 or Mathematics (S1+S2)

The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about?special admission requirements?(in Norwegian).

The course build upon?IN2010 – Algorithms and Data Structures

Overlapping courses

Teaching

2 hours of lectures and 2 hours of group excersises each week. The course has?mandatory assignments which must be approved prior to the exam.

Read more about requirements for submission of assignments, group work and legal cooperation under guidelines for mandatory assignments.

Examination

Final exam is a 4 hours written digital exam.?The course has?mandatory assignments which must be approved prior to the exam.

It will also be counted as one of?your three?attempts to sit the exam for this course, if you sit the exam for one of the following courses:?INF3110 – Programming Languages (continued),?INF4110 – Programming languages (discontinued),?INF211

Examination support material

All written and printed exam resources are allowed.

Language of examination

You may write your examination paper in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F?is a fail. Read more about?the grading system.

Resit an examination

Students who can document a valid reason for absence from the regular examination are?offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

More about examinations at UiO

You will find further guides and resources at the web page on examinations at UiO.

Last updated from FS (Common Student System) Dec. 22, 2024 8:01:09 AM

Facts about this course

Level
Bachelor
Credits
10
Teaching
Autumn
Examination
Autumn
Teaching language
Norwegian