Lecture 4: Coursework Assignment Topics

Presentation of the five coursework topics. Some good and bad examples of referencing. Requirements of preliminary report; investigation; and final report. Notes on working practices: aims of homework, exercises, coursework; avoiding plagiarism.

You need to commit to a topic choice by next Friday. This involves finding and reading references, as well as downloading, installing and running your chosen system. If you have difficulties with this, post a question below.

Links: Slides; Sheet; Coursework assignment; University marking scheme; Essay grade descriptors.

6 Responses to Lecture 4: Coursework Assignment Topics

  1. s0803652 says:

    Apparently F# does not work correctly under Mono – tail recursive functions do not execute correctly. So, work on this choice will likely need to be done in a virtual machine.

  2. Ian Stark says:

    Or on an actual Windows machine…

    Is it that tail recursion goes wrong, or just isn’t optimised? If the latter, then it isn’t really a problem.

    I’m still looking at Microsoft licensing.

  3. s0803652 says:

    As far as I can tell it doesn’t work at all. The following code:

    let rec MyDuplicate x n =
    if(n = 0) then [] else x :: MyDuplicate x (n-1)

    MyDuplicate “test” 3

    Gives [“test”] on Mono and [“test”,”test”,”test”] on Windows.

  4. Ian Stark says:

    Oh dear, that’s not so good. Especially as that function isn’t even tail recursive (it would be if you used an accumulator).

  5. Laurentiu says:

    which of the examples of references given would you prefer? I realise some of them are quite ill-formed.

    • Ian Stark says:

      What do you think of them? The idea of the exercise is to evaluate them yourselves, and see what things you find useful or otherwise. Can you come up with particular items that would help make the less useful ones more helpful?

      Here are a few of the items that came up in the lecture:

      – Reference to “latest” Haskell manual will not always refer to the same thing; identify which version is being used.
      – A URL can be useful, but it’s improved by some text giving an idea of what it is supposed to be pointing at.
      – A more precise reference is usually better.
      – Include backup details: if a URL breaks, you want to have other ways to find it. Things like title, author, date, and medium can help with that.

      You should be able to come up with others.