<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://lara.epfl.ch/w/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://lara.epfl.ch/w/feed.php">
        <title>LARA: Laboratory for Automated Reasoning and Analysis funprog17</title>
        <description></description>
        <link>https://lara.epfl.ch/w/</link>
        <image rdf:resource="https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico" />
       <dc:date>2026-04-05T21:58:55+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/exams?rev=1541174313&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/git-setup?rev=1506076613&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/lectures?rev=1513720223&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project1?rev=1504770121&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project2?rev=1504774112&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project3?rev=1507183123&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project4?rev=1507699290&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project5?rev=1508336100&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project6?rev=1509549451&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project7?rev=1510223208&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project8?rev=1511422026&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/project9?rev=1512566945&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/sbt?rev=1505847164&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/setup?rev=1505846880&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funprog17/top?rev=1537280701&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico">
        <title>LARA: Laboratory for Automated Reasoning and Analysis</title>
        <link>https://lara.epfl.ch/w/</link>
        <url>https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico</url>
    </image>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/exams?rev=1541174313&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-02T16:58:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:exams</title>
        <link>https://lara.epfl.ch/w/funprog17/exams?rev=1541174313&amp;do=diff</link>
        <description>Exams from previous years

2005

Midterm

Exam
Solution

Final

Exam

2006

Midterm

Exam
Solution

Final

Exam

2007

Midterm

Exam
Solution

Final

Exam

2008

Midterm

Exam

Final

Exam

2009

Midterm

Exam
Solution

Final

Exam

2010

Midterm

Exam
Solution

Final

Exam
Solution

2011

Midterm

Exam
Solution

Final

Exam
Solution

2012

Midterm

Exam
Solution

Final

Exam
Solution

2013</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/git-setup?rev=1506076613&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-22T12:36:53+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:git-setup</title>
        <link>https://lara.epfl.ch/w/funprog17/git-setup?rev=1506076613&amp;do=diff</link>
        <description>Programming Assignments Git Instructions

If you haven't installed git yet, refer to the Setup page.

These are the instructions on how to properly configure your programming assignments.
These instructions will have to be followed again and again for each different programming assignment.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/lectures?rev=1513720223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-12-19T22:50:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:lectures</title>
        <link>https://lara.epfl.ch/w/funprog17/lectures?rev=1513720223&amp;do=diff</link>
        <description>Lectures

Week 1: Functions and Evaluations

Note: Some of the early videos mention the coursera platform which was used in previous years for this course. You can ignore these segments as coursera is no longer used.

Video playlist

All slides: annotated blank

	*  1-1 Programming Paradigms</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project1?rev=1504770121&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-07T09:42:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project1</title>
        <link>https://lara.epfl.ch/w/funprog17/project1?rev=1504770121&amp;do=diff</link>
        <description>Handout

Please [download the handout archive file] and extract it somewhere on your machine.

Deadline

Please deliver your project before:
Thursday 28th September 2017, 23:59.

This first project will not count towards your final grade. We however still encourage you to complete it and submit it to the grading interface to get accustomed to the entire infrastructure used for the projects.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project2?rev=1504774112&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-07T10:48:32+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project2</title>
        <link>https://lara.epfl.ch/w/funprog17/project2?rev=1504774112&amp;do=diff</link>
        <description>Handout

Download the funsets.zip
handout archive file. Then, follow the instructions on how to setup up the git repository for this project.

In this assignment, you will work with a functional representation of
sets based on the mathematical notion of characteristic functions. The
goal is to gain practice with higher-order functions.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project3?rev=1507183123&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-05T07:58:43+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project3</title>
        <link>https://lara.epfl.ch/w/funprog17/project3?rev=1507183123&amp;do=diff</link>
        <description>Handout

Download the objsets.zip handout archive file. Then, follow the instructions on how to setup up the git repository for this project.

In this assignment you will work with an object-oriented
representations based on binary trees.

Object-Oriented Sets

For this part, you will have to complete the 
TweetSet.scala file. This file defines an abstract class</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project4?rev=1507699290&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-11T07:21:30+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project4</title>
        <link>https://lara.epfl.ch/w/funprog17/project4?rev=1507699290&amp;do=diff</link>
        <description>Handout

Download the patmat.zip handout archive file.
Then, follow the instructions on how to setup up the git repository for this project.

Huffmann Coding

Huffman coding is a compression algorithm that can be used to
compress lists of characters.

In a normal, uncompressed text, each character is represented by the same number of bits (usually eight).
In Huffman coding, each character can have a bit representation of a different length, depending on how common a character is: the characters …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project5?rev=1508336100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-18T16:15:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project5</title>
        <link>https://lara.epfl.ch/w/funprog17/project5?rev=1508336100&amp;do=diff</link>
        <description>Handout

Download the handout archive file and extract it somewhere on your machine. Then, follow the instructions on how to setup up the git repository for this project.

Documentation

In this assignment, you will solve the combinatorial problem of finding all
the anagrams of a sentence using the Scala Collections API</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project6?rev=1509549451&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-01T16:17:31+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project6</title>
        <link>https://lara.epfl.ch/w/funprog17/project6?rev=1509549451&amp;do=diff</link>
        <description>Handout

Download the streams.zip handout archive file and extract it somewhere on your machine. Then, follow the instructions on how to setup up the git repository for this project.

Documentation

As in the previous assignments, you are encouraged to look at the Scala API documentation while solving this exercise, which can be found here:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project7?rev=1510223208&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-09T11:26:48+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project7</title>
        <link>https://lara.epfl.ch/w/funprog17/project7?rev=1510223208&amp;do=diff</link>
        <description>Handout

Download the quickcheck.zip handout archive file and extract it somewhere on your machine. Then, follow the instructions on how to setup up the git repository for this project.

Documentation

In this assignment, you will work with the
ScalaCheck
library for automated specification-based testing.

QuickCheck

You're given several implementations of a purely functional data
structure: a heap, which is a priority queue supporting operations</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project8?rev=1511422026&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-23T08:27:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project8</title>
        <link>https://lara.epfl.ch/w/funprog17/project8?rev=1511422026&amp;do=diff</link>
        <description>Handout

[Download the constraints.zip] handout archive file and extract it somewhere on your machine. Then, follow the instructions on how to setup up the git repository for this project.

Constraints

In this assignment, you will implement a basic constraint generator for a classic scheduling problem.

As in the previous assignments, you are encouraged to look at the Scala</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/project9?rev=1512566945&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-12-06T14:29:05+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:project9</title>
        <link>https://lara.epfl.ch/w/funprog17/project9?rev=1512566945&amp;do=diff</link>
        <description>Handout

[Download the interpreter.zip] handout archive file and extract it somewhere on your machine. Then, follow the instructions on how to setup up the git repository for this project.

Syntactic Sugar

You are provided with an implementation of the Lisp interpreter
seen in class (Lisp.scala). In this part, you will modify it to
add</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/sbt?rev=1505847164&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-19T20:52:44+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:sbt</title>
        <link>https://lara.epfl.ch/w/funprog17/sbt?rev=1505847164&amp;do=diff</link>
        <description>Using sbt

sbt is the tool you will use to compile and test your code locally.
All commands must be entered from the project folder (i.e. projectXX). If you haven't installed sbt yet, refer to the Setup page.

Entering the sbt REPL

With your terminal located in the project folder, enter the command:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/setup?rev=1505846880&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-19T20:48:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:setup</title>
        <link>https://lara.epfl.ch/w/funprog17/setup?rev=1505846880&amp;do=diff</link>
        <description>Setup

This document describes how to properly setup your computer for the programming assignments. It is composed of the following parts:

	*  Installing the JDK
	*  Installing sbt
	*  Connecting to the Grading Website
	*  Generating SSH Keys
	*  Installing Git</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funprog17/top?rev=1537280701&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-18T16:25:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funprog17:top</title>
        <link>https://lara.epfl.ch/w/funprog17/top?rev=1537280701&amp;do=diff</link>
        <description>Functional Programming 2017

Course in subsequent year: Functional Programming 2018

Organization

Functional Programming is divided into 2 parts. For the first part, lectures are available on YouTube and the Wednesday afternoon slot will be used for recitation sessions. The second part will follow a classical lecture structure, with in-person lectures on Wednesday afternoons.</description>
    </item>
</rdf:RDF>
