https://wiki.haskell.org/api.php?action=feedcontributions&user=Dguthrie&feedformat=atomHaskellWiki - User contributions [en]2024-03-29T21:50:24ZUser contributionsMediaWiki 1.35.5https://wiki.haskell.org/index.php?title=Informatics_1_-_Functional_Programming&diff=61217Informatics 1 - Functional Programming2016-10-20T01:42:56Z<p>Dguthrie: Updated the page with recent and relevant information for the 2016 course.</p>
<hr />
<div>[[Category:Education]]<br />
The course [http://www.inf.ed.ac.uk/teaching/courses/inf1/fp/ Informatics 1 - Functional Programming] is the first programming course taught to students at the [http://www.inf.ed.ac.uk/ School of Informatics] of the [http://www.ed.ac.uk University of Edinburgh].<br />
<br />
== Instructor ==<br />
<br />
For the year 2016, the course lecturer is Don Sannella [http://www.inf.ed.ac.uk/people/staff/Donald_Sannella.html].<br />
<br />
== Setup ==<br />
<br />
The course consists of 20 lectures and 10 tutorials spread over the length of the first semester of the year (September&ndash;December). Each tutorial has its own set of exercises, and examination is by two programming tests.<br />
<br />
== Students' background ==<br />
<br />
The course is aimed primarily at students with no prior programming experience.<br />
<br />
== Materials ==<br />
<br />
=== Textbook ===<br />
<br />
The course textbook is Simon Thompson: Haskell, the Craft of Functional Programming. It is also recommended that students explore Miran Lipovača: Learn You a Haskell for Great Good, which is free online, as well as readily available from book shops. [http://learnyouahaskell.com/]<br />
<br />
=== Editor ===<br />
<br />
The text editor used in the course is [http://www.gnu.org/software/emacs/ Emacs] in [[Haskell mode for Emacs|Haskell mode]].<br />
<br />
Students may also be interested in running [[Xmonad]], which is written in Haskell, to show their devotion to the cause.<br />
<br />
=== Packages ===<br />
<br />
Most exercises require students to verify their code using [[QuickCheck]], where writing appropriate test properties is part of the challenge. In addition, some tutorial exercises use OpenGL graphics, and depend on the following packages:<br />
<br />
* [[OpenGL]]<br />
* [[GLUT]]<br />
<br />
Previous incarnations of the course relied on [[GLFW]] instead of [[GLUT]]. QuickCheck can be installed via [[Cabal]], the Haskell package and build system.<br />
<br />
=== GHC Installation ===<br />
<br />
For some brief notes on installing ghc on windows see [[Informatics 1 Windows Installation]]<br />
<br />
=== Tutorials ===<br />
<br />
Information about the tutorials is available [https://portal.theon.inf.ed.ac.uk/reports/upt/open/TP072_Tutorial_Groups/inf1-fp.shtml here], including groups and times. <br />
<br />
In addition to the regular tutorials, advanced tutorials are held starting week 4. This is a drop-in session for students who want extra challenges and in-depth work. These sessions are quite popular, so it is expected that students have made an attempt at some of the optional exercises, so that we can fit students in the small tutorial room who will get value from the session.<br />
<br />
== Support ==<br />
<br />
There are several ways of getting help with your FP course (or with any aspect of the informatics 1 coursework). Some of these involve using Internet Relay Chat, or IRC.<br />
<br />
The Informatics 1 channel is #inf1 on irc.imaginarynet.uk. Here you will find fellow 1st year students who are all doing the same work as you, along with a variety of higher students who will help you. There are several first years as well as several people in older years (and indeed, those who have left school) who idle on the channel, and will be more than happy to answer any problems, or just talk about life, experience, and advice.<br />
<br />
You can also get a lot of help from [http://comp-soc.com CompSoc], which is the university-wide Computing Society. You will find members on IRC channel #compsoc.<br />
<br />
Peer support is available in the form of INF-PALS. Please see [http://web.inf.ed.ac.uk/infweb/student-services/ito/students/year1/student-support/infpals].</div>Dguthrie