advanced concepts in programming languages
play

Advanced Concepts in Programming Languages Prerequisites - PowerPoint PPT Presentation

Advanced Concepts in Programming Languages Prerequisites Programming Languages (DM509) Form Individual Study Activity (reading course with practical projects) Credit 5 ECTS Evaluation Pass/Fail based on participation and projects Textbooks


  1. Advanced Concepts in Programming Languages Prerequisites Programming Languages (DM509) Form Individual Study Activity (reading course with practical projects) Credit 5 ECTS Evaluation Pass/Fail based on participation and projects Textbooks none – articles, tutorials, and notes

  2. Advanced Concepts in Programming Languages Prerequisites Programming Languages (DM509) Form Individual Study Activity (reading course with practical projects) Credit 5 ECTS Evaluation Pass/Fail based on participation and projects Textbooks none – articles, tutorials, and notes Lecturer Peter Schneider-Kamp (new at IMADA from January 1, 2009)

  3. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming

  4. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*reduce(lambda x,y: x+y, map(int, ’1 2 3 4 5 6’.split()))

  5. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*reduce(lambda x,y: x+y, map(int, [’1’, ’2’, ’3’, ’4’, ’5’, ’6’]))

  6. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*reduce(lambda x,y: x+y, [1, 2, 3, 4, 5, 6,])

  7. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*(1+2+3+4+5+6)

  8. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 42

  9. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*reduce(lambda x,y: x+y, map(int, ’1 2 3 4 5 6’.split())) Single Assignment C functional array programming for high-performance computing matrixProduct = {[i,j] -> sum(A[[i,.]] * B[[.,j]])};

  10. Advanced Concepts in Programming Languages Advanced Concepts in Imperative Programming functional constructs in use map, filter, reduce, lambda, partial to write better Python code 2*reduce(lambda x,y: x+y, map(int, ’1 2 3 4 5 6’.split())) Single Assignment C functional array programming for high-performance computing matrixProduct = {[i,j] -> sum(A[[i,.]] * B[[.,j]])}; generic types in polymorphic data types in mainstream Java public class Pair<T,U> { public T x; public U y; }

  11. Advanced Concepts in Programming Languages Advanced Concepts in Logic Programming foreign language interface for Prolog interface Prolog with Java using InterProlog meta programming in Prolog assert, retract, and clause for implementing expert systems database queries using Datalog restricted Prolog as a query language for databases writing parsers in Prolog declarative clause grammars

  12. Advanced Concepts in Programming Languages Advanced Concepts in Functional Programming combined functional and logic languages the functional logic language Curry as an extension of Haskell parallel programming in Haskell exploit multiple processors/machines using parallel/distributed Haskell web interfaces using Haskell use the cgi and xhtml modules to create web interfaces graphical user interface in Haskell use Java Swing and the LambdaVM

  13. Research Topics Possible Areas for Bachelor or Master Theses verification of Java, Haskell, and Prolog programs termination analysis correctness, liveness, and safety programming languages optimizing compilers virtual machines software development tools push-button verification tools integrating verification tools into IDEs constraint solving satisfiability solving and optimization constraint solving over finite domains

  14. Advanced Concepts in Programming Languages Prerequisites Programming Languages (DM509) Form Individual Study Activity (reading course with practical projects) Credit 5 ECTS Evaluation Pass/Fail based on participation and projects Textbooks none – articles, tutorials, and notes Lecturer Peter Schneider-Kamp (new at IMADA from January 1, 2009)

  15. Advanced Concepts in Programming Languages Prerequisites Programming Languages (DM509) Form Individual Study Activity (reading course with practical projects) Credit 5 ECTS Evaluation Pass/Fail based on participation and projects Textbooks none – articles, tutorials, and notes Lecturer Peter Schneider-Kamp (new at IMADA from January 1, 2009)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend