Code Monkey home page Code Monkey logo

dm552's Introduction

DM552: Programming Languages

This repository contains the public material and information related to the Programming Languages offered by the IMADA Department at SDU.

The course is a mandatory course in the bachelor program giving an introduction to the main concepts and the structure of programming languages, paying particular attention to the functional paradigm. It fosters a coherent understanding of advantages and disadvantages of different levels of abstraction and programming language constructs, giving to the participants the experience with programming in languages other than the mainstream object-oriented languages.

The course is divided into two main modules that will be thought in parallel:

  • programming language: principles and paradigms
  • functional programming: Haskell

The first module will introduce the general concepts of programming languages either using linguistic mechanism or the implementation structures corresponding to them in a manner that is independent of any specific language. The second module instead focus on one concrete language, Haskell, to allow students to get familiar with the functional programming paradigm.

Lecturer

Jacopo Mauro

Contact email: [email protected]

Office Ø13-604a-2

Teaching Assistant

Course Material

The course will rely on the following two books:

  • Programming Languages: Principles and Paradigms (Gabbrielli Maurizio, Martini Simone)
  • Learn You a Haskell for Great Good!: A Beginner's Guide (Miran Lipovaca)

The additional course material is available on this git repository. Material that can not be made public will be available on the Blackboard platform.

Additional interesting books to know a bit more on Haskell (optional):

  • Bird, Richard and Wadler, Philip (1988). Introduction to Functional Programming (1st ed.). Prentice Hall Press. ISBN 0-13-484189-1.
  • Bird, Richard (1998). Introduction to Functional Programming using Haskell (2nd ed.). Prentice Hall Press. ISBN 0-13-484346-0.
  • Hutton, Graham (2007). Programming in Haskell. Cambridge University Press. ISBN 978-0-52169-269-4.
  • Thompson, Simon (1999). Haskell - The Craft of Functional Programming (2nd ed.). Addison-Wesley. ISBN 0-201-34275-8.
  • Marlow, Simon (2013). Parallel and Concurrent Programming in Haskell. O’Reilly. ISBN 1-4493-3594-2.

Online Haskell Resources

Exam

To access the exam, students will have to submit and pass as a pre-requisite a project assignment, i.e., and Haskell program.

Finally, to complete the course the student has to pass a written exam having questions covering all the topics presented in class. The written exam will be evaluated using a 7 grades scale. No external auxiliary material (e.g., books, personal notes) will be allowed to be used during the exam.

dm552's People

Contributors

jacopomauro avatar lovrosdu avatar birjj avatar github-actions[bot] avatar tannex avatar

Stargazers

 avatar  avatar  avatar Kiara Gil avatar Mads Hougesen avatar Andreas Naoum avatar Viktor Strate Kløvedal avatar Andreas Giorkatzi avatar Frederik Gram avatar Felipe Ishihara avatar

Watchers

James Cloos avatar Viktor Strate Kløvedal avatar  avatar  avatar  avatar Erik Andersen avatar Tobias Nielsen avatar Mathias Bischoff avatar Mikkel Juul Vestergaard avatar  avatar Kian Banke Larsen avatar Andreas Giorkatzi avatar  avatar Jonas Stisen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.