README.md 2.99 KB
Newer Older
Sandra Dylus's avatar
Sandra Dylus committed
1
# Advanced Programming (WS 19/20)
Sandra Dylus's avatar
Sandra Dylus committed
2

Frank Huch's avatar
Frank Huch committed
3
We provide all exercises and code developed during the lecture in this repository. Furthermore, there are [lecture notes](http://www-ps.informatik.uni-kiel.de/~fhu/AdvProg/AdvancedProgrammingLectureNotes.pdf) for the concurrency and NEW(!) **logic part** (if file does not change, empty cache of your browser) available for download within the university network.
Sandra Dylus's avatar
Sandra Dylus committed
4
5
6
7
8

Feel free to fork this repository to work on the exercises!

# Lecture Dates

9
10
11
|Day | Time  | Room |
|----|-------|------|
|Mon | 10:15-11:45AM | CAP2 - Room F|
Bennet Bleßmann's avatar
Bennet Bleßmann committed
12
|Thu | 10:15-11:45AM | CAP2 - Room F|
Sandra Dylus's avatar
Sandra Dylus committed
13
14
15

# Lab Dates

16
17
18
19
20
21
22
|Day | Time   | Room         | Extra       | Student Assistants |
|----|-------:|--------------|-------------| ------------------ |
|Mon |  4-6PM | HRS3 - R.105b|             | Rajib, Bennet      |
|Tue | 12-2PM | HRS3 - R.105b|             | Rajib, Bennet      |
|Wed | 12-2PM | HRS3 - R.501 |             | Bennet, Nikita     |
|Wed |  4-6PM | HRS3 - R.105b| Examination | Rajib, Nikita      |
|Fri | 12-2PM | HRS3 - R.105b| Examination | Nikita             |
Sandra Dylus's avatar
Sandra Dylus committed
23
24
25
26



# Organisational Remarks
Bennet Bleßmann's avatar
Bennet Bleßmann committed
27

28
29
30
31
For the functional programming part of this course you will be working with Haskell.
In the links section of this document you can find a link to the Haskell Platform where you can find installation instructions.
While working with Haskell we will always use the 'GADTSystax' language extension for didactic purposes.
To enable the language extension insert `{-# LANGUAGE GADTSyntax #-}` at the top of every Haskell file.
Sandra Dylus's avatar
Sandra Dylus committed
32

Frank Huch's avatar
Frank Huch committed
33
34
In the first weeks of the logic programming part we will use a modified version of the Prolog-interpreter. After installing [SWI-Prolog](https://www.swi-prolog.org) you need to download one of the following files – depending on your OS.

Frank Huch's avatar
Frank Huch committed
35
36
* *Unix/Linux:* Copy the bash-script ([advprog-swipl](https://git.informatik.uni-kiel.de/sad/advanced-programming-ws19/tree/master/Logic/advprog-swipl ) in the Logic directory anywhere you like, make it eventually executable and add it to your `PATH`-variable. It is recommended to copy it to a dedicated `bin`-directory of your OS. You can then start the modified interpreter using the command `advprog-swipl`. Alternatively, you can copy the bash-script to the directory with (all) your Prolog files and use `./advprog-swipl` to start the interpreter.
* *Others:* Copy this Prolog program ([advprog.pl](https://git.informatik.uni-kiel.de/sad/advanced-programming-ws19/tree/master/Logic/advprog.pl ) from the Logic sirectory into the directoy with (all) your Prolog files and start the interpreter using the command `swipl -q -s advprog`.
Frank Huch's avatar
Frank Huch committed
37
38
39
40

If you start the interpreter as described above, you can load a Prolog file named `myprog.pl` using `[myprog].` Note that you cannot use negation in your Prolog programs with the modified interpreter.


Sandra Dylus's avatar
Sandra Dylus committed
41
42
# Links

Bennet Bleßmann's avatar
Bennet Bleßmann committed
43
[Univis](http://univis.uni-kiel.de/form?__s=2&dsc=anew/lecture_view&lvs=techn/infor/inform/progra/bfortp&anonymous=1&__e=220)
Bennet Bleßmann's avatar
Bennet Bleßmann committed
44
45
46

## Installing Haskell 

Frank Huch's avatar
Frank Huch committed
47
48
[Haskell Platform](https://www.haskell.org/platform/)
[SWI-Prolog](https://www.swi-prolog.org)