We're excited to announce the fourth edition of the Programming in Haskell (PUH) course! The course will be offered in the Fall semester of AY 2015/2016. Students of all study levels and profiles are invited to join!
Haskell (http://www.haskell.org) is an advanced, purely functional programming language. Functional programming languages allow for the development of robust, concise programs in a short amount of time. By learning to program in Haskell, you will get acquainted with the functional programming paradigm -- a programming style radically different from the one you're probably used to. Haskell will change your perspective on programming and make you a better programmer, regardless of the language you program in. Allow yourself the epiphany of discovering this remarkable perspective on programming!
PUH (http://www.fer.unizg.hr/predmet/puh) gives an introductory but thorough treatment of Haskell programming. You will learn the basic concepts of functional programming and develop your Haskell programming skills by solving a variety of problems, as part of in-class hands-on exercises, regular homework assignments, and a final project. A strong team of five TAs will guide you and make sure you're doing everything right.
When, where, and how?
The lectures will be held on Thursdays, 6:15-8:30 pm in lecture room D272. Distance learning is not offered for this course. The course will be held in English (level L3). The course ECTS credits (4 ECTS) count towards the "Skills" ECTS quota.
All students need to apply. The applications are submitted online. Besides the basic data, the application includes a questionnaire and a motivational letter of at most 200 words. Students of all levels and profiles can apply, provided they have passed the Programming and Software Engineering course and Algorithms and Data Structures course, or have equivalent skills.
For organizational reasons, the number of participants is limited. Precedence is given to (1) applicants who demonstrate a high motivation for the course, (2) second year MA students, (3) students who have not previously enrolled in this course. The time of application will not be considered when evaluating the applications. Incoming exchange students will be accepted unconditionally.
Applications from non-FER students and non-students
PUH is open to highly motivated non-FER students as well as non-students, including future and past students. Such participants must also apply (see above) but their applications will be evaluated extra quota. Note that the following restrictions apply: (1) no certificate of attendance will be provided and (2) homeworks and project assignments may not be graded. An exception are the UNIZG students that work out the formalities with their administration offices. We reserve the right to reject applications due to participant unsuitability or our limited resources.
Course enrollment requirements
All participants are required to (1) have a notebook/laptop that they can use for in-class hands-on sessions, (2) have a good command of English, (3) ensure that they can attend all classes (with at most one class absence), (4) devote at least 8 hours a week for homework/project assignments, (5) devote about 1 hour a week for peer-reviewing the homework of your fellow students. Only one excused class absence is allowed; class absence policy will be strictly enforced. No previous knowledge of functional programming is required.
The estimated total workload for this course is 135 hours.
Course passing requirements
The students must fulfill the following requirements to pass PUH:
Attend all but at most one lecture
Score at least 50% on each homework assignment
Score at least 50% on the final project
Pass the midterm exam
Complete all peer review assignments in the time allotted
Applications open: Jul 20, 2015
Applications close: Sep 20, 2015 at midnight
Notification of acceptance: Sep 25, 2015
Class start: Oct 8, 2015 at 6:15 pm
All announcements will be posted on the course website (http://www.fer.unizg.hr/predmet/puh). FER students be sure to subscribe to receive email notifications.