Valbara
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • FrontPage
  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

  • PROP

PROP - Programming languages and paradigms

Requirements

11 hp objectoriented programming

Aim

Prerequisites:

Documented knowledge of object orientation and programming in an object oriented language corresponding to two levels of programming courses at university level.

Course goals: Learning a new programming language is in many ways more about learning new ways of thinking and new problem solving strategies than about learning a new syntax. At least if the new language is considerably different from the languages one is already familiar with.

One of the goals of this course is to give the students an understanding for how programming languages can be constructed and implemented and also experience of using different languages, mainly from other groups than the imperative and object oriented ones that they already know. This is important knowledge, e.g. because it prepares students for later learning new languages quicker and more easily.

Syllabus

After having successfully passed the course, the student will be able to:

* account for and discuss important concepts and mechanisms in programming language construction and implementation

* explain differences between the imperative, object oriented, functional and logic based programming paradigms.

* read, understand and write non-trivial programs in at least one language from each of the object oriented, functional and logic based programming paradigms while using problem solving strategies suitable for the paradigm used.

* reason about and compare languages from the paradigms mentioned above and /or give account for some current research problem in programming language research

Outline

Basic: History, design principles, synax, semantics, control flow, type systems, names, scoping, binding, abstractions, etc.

Object oriented languages: Class-based languages, prototype-based languages, encapsulation, information hiding, inheritance, delegation, polymorphism, dynamic binding, etc.

Functional languages: Polymorphism, recursion, functions as first-class program constructions, higher order functions, lazy vs. eager evaluation, currying, etc.

Logic based languages: Facts and rules, resolution and unification, searching and backtracking, recursion, functions och arithmetic, lists and other structures, etc.

Concluding summary and extras


CategoryCategory

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01