Programming languages and paradigms
General data
Course ID: | 1000-216bJPP |
Erasmus code / ISCED: |
11.303
|
Course title: | Programming languages and paradigms |
Name in Polish: | Języki i paradygmaty programowania |
Organizational unit: | Faculty of Mathematics, Informatics, and Mechanics |
Course groups: |
Obligatory courses for 3rd grade Computer Science Obligatory courses for 3rd grade JSIM (3I+4M) Obligatory courses for 4th grade JSIM (3M+4I) |
ECTS credit allocation (and other scores): |
8.00
|
Language: | Polish |
Type of course: | obligatory courses |
Requirements: | Introductory programming 1000-211bWPI |
Short description: |
The course discusses four of the most important programming paradigms: functional, imperative, object-oriented and logic programming. The students should get a deeper insight into the nature of programming, as well as broaden they knowledge of programming languages and understand basic implementation issues. |
Full description: |
1.Models of computation and programming paradigms. 2. Functional programming. - fundamentals of functional paradigm, lambda calculus - Haskell programming language - functions, types, type classes - polimorphic and higher-order functions - functors 3. Imperative programming. - I/O and other effects - applicative functors - monads - monad transformers 4. Types and typechecking 5. Semantics of programming languages, interpreters and compilers. 6. Logic Programming. - predicate logic: theories and models - Horn clauses and resolution - Prolog programming language 7. Object-oriented programming. 8. Concurrency-oriented programming and Erlang |
Bibliography: |
1. R. Sebesta, Concepts of Programming Languages, Addison Wesley, 2005 2. Adele Goldberg, David Robson. Smalltalk-80 : the language and its implementation, Addison-Wesley, 1983. 3. R. Bird, Introduction to Functional Programming using Haskell, Prentice Hall, 1988 4. Benjamin C. Pierce, Types and Programming Languages,The MIT Press 2002 5. J. Reynolds, Theories of Programming Languages, Cambridge University Press, 1998 6. U. Nilsson, J. Małuszyński, Logic, Programming and Prolog, John Wiley & Sons, 1995 |
Learning outcomes: |
Knowledge 1. Students have systematic general knowledge of programming languages and paradigms (K_W02) 2. Students know methods of defining programming language syntax (K_W02) 3. Students have basic knowledge of problems and meythods of syntax analysis (K_W02) 4. Students have general knowledge about programming languages and paradigms (imperative, object-oriented, logical, fundaments of translation, declarations and types, garbage collection, abstraction mechanisms) (K_W09) Skills 1. Students can write, debug and test programs in a functional language (K_U05) 2. Students can write, debug and test programs in a logic programming language (K_U05) 3. Students can write, debug and test programs in a object-oriented language (K_U05) 4. Students can solve problems using a range of programming paradigms and assess the usefulness of each paradigm and related programming environments for a particular problem (K_U20) 5. Students can create an interpreter for a simple programming language (K_U32) Competence 1. Students know the limits of their knowledge and understand the need of further education (K_K01). 2. Students are able to manage their time, undertake responsibilities and fulfill time constraints (K_K05). |
Assessment methods and assessment criteria: |
Final grade based upon credits earned from final exam and lab programs. Passing labs requires submitting all programs on time and get at least 60% of credits. Passing labs is required to sit the first exam term. Passing labs is not required for the reexam, however, the lab credits are still counted towards the final grade. |
Classes in period "Summer semester 2023/24" (in progress)
Time span: | 2024-02-19 - 2024-06-16 |
Navigate to timetable
MO LAB
LAB
LAB
WYK
LAB
LAB
TU LAB
LAB
LAB
W LAB
TH LAB
LAB
LAB
LAB
FR LAB
LAB
LAB
|
Type of class: |
Lab, 60 hours
Lecture, 30 hours
|
|
Coordinators: | Marcin Benke | |
Group instructors: | Marcin Benke, Jacek Chrząszcz, Tomasz Gogacz, Mirosława Miłkowska, Michał Skrzypczak, Daria Walukiewicz-Chrząszcz, Artur Zaroda | |
Students list: | (inaccessible to you) | |
Examination: | Examination |
Copyright by University of Warsaw.