375
Comment:
|
← Revision 8 as of 2019-03-12 10:32:11 ⇥
2454
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl pierre:read,write,delete,revert,admin All:read | = PROP - Programming languages and paradigms = == Requirements == 11 hp objectoriented programming == Aim == Prerequisites: |
Line 3: | Line 7: |
= PROP - Programspråk och paradigm = | Documented knowledge of object orientation and programming in an object oriented language corresponding to two levels of programming courses at university level. |
Line 5: | Line 9: |
Describe the pages in this category... | 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. |
Line 7: | Line 12: |
To add a page to this category, add a link to this page on the last line of the page. You can add multiple categories to a page. | 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: |
Line 9: | Line 16: |
'''List of pages in this category:''' | * account for and discuss important concepts and mechanisms in programming language construction and implementation |
Line 11: | Line 18: |
* 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 |
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