U.Minho Advanced Functional Programming
[ DI/UM ]

[ General information | Course Staff | Structure of the Course | Number of students | Assessment | Program synopsis
Program in detail (Last updated: 03/12/09) List of Projects Available | Final Marks ]

  General information

Advanced Functional Programming is a new optional course made available for 5th year students of the following degrees:

5309??
- Licenciatura em Engenharia de Sistemas e Informática
7009??
- Licenciatura em Matemática e Ciências da Computação

  Course Staff

(Alphabetically ordered by surname) J.C. Bacelar, J.B. Barros, M.A. Cunha, J.N. Oliveira J.S. Pinto, J.A. Saraiva (course leader), Joost Visser,

  Structure of the Course

The course is organised into two parts:
  1. A set of seminars introducing relevant topics to be covered. This seminars will be primarily given by the students. Some more advanced material, however, can/will be presented by the course lecturers or by guests visiting the department.
  2. In the second, more substantial part of the course, students will develop of a project (see List of Projects Available).

  Number of students

Minimum 6, maximum 10.

  Assessment

The following three items will be taken into account for student evaluation:
A
Background lecture

The students will deliver a short lecture (20m) introducing one of the topics covered in the course.

B
Brief Project/Tool Presentation

The different groups will give a lecture (30m) presenting the project they have chosen for development and the tool(s) that will be used in this task.

C
Project Presentation and Report

Each group will give a lecture presenting the project.

The final mark is computed according to the formula:
A * 0.2 + B * 0.3 + C * 0.5

  Program synopsis

Main topics of the course are:

  Program in detail

  List of Projects Available

List of projects announced so far (12th Sept.):
1 - Legacy Unravelled with Strafunski

Project Supervisor(s): Joost Visser, J.N. Oliveira

Brief Description: Make use of "functional strategies" as provided by the Strafunski package to implement various (simple) program understanding algorithms. Dump the analysis results (metics and dependencies) into a relational database. You will be given the opportunity to apply your algorithms to a system of at least 100.000 lines of legacy code to see if they scale up, and to use the the Software Analysis Toolkit of the Software Improvement Group to visualize the results.

Tools/Links: Strafunski

URL: [to be completed]

2 - Football Robots in HASKELL

Project Supervisor(s): J.C. Bacelar, M.A. Cunha

Brief Description: [to be completed]

Tools/Links: Functional Reactive Programming

URL: [to be completed]

Students: José Miguel Pereira Vilaça, nr. 30733 and João Paulo Fernandes, nr. 30730

3 - Software Evaluation as a Web service

Project Supervisor(s): J.A. Saraiva, J.C. Bacelar

Brief Description: Make use of the Wash/CGI combinator library to construct a web page where one can submit a HASKELL program and automatically test it. The idea is to build a web-based system that automatically marks HASKELL projects/exercises.

Tools/Links: Wash/CGI, Quickcheck

URL: [to be completed]

Students: Alberto Manuel Mendes, nr 29601 and Miguel Pedro Eiriz Gonçalves, nr. 25944

4 - Querying and Transforming XML in HASKELL

Project Supervisor(s): Joost Visser, J.A. Saraiva

Brief Description: Modelling of XML Querying and Transformation in the paradigm of strategic programming, using the Strafunski library.

Tools/Links: Strafunski, HaXML, XQuery, HaQuery

URL: [to be completed]

Students:

  • José Miguel Pereira Vilaça, nr. 30733 and João Paulo Fernandes, nr. 30730
  • Alberto Manuel Mendes, nr 29601 and Miguel Pedro Eiriz Gonçalves, nr. 25944

5 - Graphical Interfaces in HASKELL for Databases

Project Supervisor(s): J.B. Barros, J.S. Pinto

Brief Description: [to be completed]

Tools/Links: [to be completed]

URL: [to be completed]

6 - Using MAG for HASKELL Program Transformation

Project Supervisor(s): J.S. Pinto, J.N. Oliveira

Brief Description: [to be completed]

Tools/Links: [to be completed]

URL: [to be completed]

  Final Marks

Information to become available in due time.


Outras disciplinas leccionadas pelo DIUM


2003-12-09