THE IT FACULTY BOARD
DIT027, Distributed Fault-tolerant Programming, 3.0 higher education
credits
First Cycle
1. Confirmation
The course syllabus was confirmed by the IT Faculty Board 2010-09-17, effective from
2011-09-01.
Field of education: Science 100%
Main field of studies Specialization
Applied IT, Software Engineering and
Management
First Cycle, has less than 60 credits in first-cycle
course/s as entry requirements
Department: Computer Science and Engineering
2. Position in the educational system
This course is only accessible for the students in Software Engineering and Management
Bachelor program.
3. Entry requirements
The students must have successfully finished a programming project of 15 higher education
credits.
4. Course content
The course provides a good ground to programming Erlang, which has all the concepts of
distributed fault-tolerant programming. During the first part, the students get introduced to
sequential functional programming, covering items as recursion in depth. In the second part,
the students are learning how to write distributed applications, followed by principles of
fault-tolerance and design patterns.
Programming in Erlang, the students learn about processes, how they communicate and
interact. The students also learn about distributed software, and the challenging task of
writing fault-tolerant programs. In the project course (DIT029), running in parallel, the
students are able to immediately apply their new-found knowledge in a realistic
programming project. By using Erlang, and OTP, the students learn how to write applications
according to industrial standards, using given design patterns.
Page 1 of 3Course syllabus for Distributed Fault-tolerant Programming
2010-09-24http://andromeda.adm.lu.se:8380/LukasWeb/MainServlet?task=print_coursesyllabus_...
5. Learning outcomes
5.1 Knowledge and understanding
� Understand the concept of concurrency oriented programming.
� Know about functional programming, its strengths and weaknesses.
� Understand the concept of processes, how they are created, and how they interact.
� Understand about basic fault-tolerance and how it is achieved in Erlang.
� Understand the basics of design patterns in Erlang.
5.2. Skills and abilities
� Write non-trivial modules in Erlang.
� Handle processes; spawning, message passing, etc.
� Map a problem domain into an implementation, where processes are used as a natural
abstraction mechanism.
5.3 Judgment and approach
� Understand the fundamental differences between object oriented programming and
functional programming.
� Understand how Erlang programs are written, and how different components integrate,
thus designing the software efficiently.
6. Literature
See separate literature list.
7. Assessment
The course is provided in an intensive form; five days of eight hours instructions. The
instructions are a combination of a lecture followed by supervised practical work with
exercises individual or in small groups. The students are expected to be active during the
whole day.
The course has successfully been given as one week intensive course spread over 2 days in the
beginning of the term, 3 days later in the term. A thought behind having an intensive course
is that students get the experience of an industrial course, i.e., being one week away from
normal work to learn something difficult and being expected to know all that after returning
to work.
The course is examined by the code written in a distributed application in combination with
an oral explanation of the code.
A student who has failed a test twice has the right to change examiners, if it is possible. A
written application should be sent to the Department.
In cases where a course has been discontinued or major changes have been made a student
Page 2 of 3Course syllabus for Distributed Fault-tolerant Programming
2010-09-24http://andromeda.adm.lu.se:8380/LukasWeb/MainServlet?task=print_coursesyllabus_...
should be guaranteed at least three examination occasions (including the ordinary
examination occasion) during a time of at least one year from the last time the course was
given.
8. Grading scale
Fail, Pass, Pass with distinction.
The requirement to Pass the course is that the student demonstrates the ability to write a
concurrent program in Erlang by completing a specific programming assignment at the end
of the course (in form of a written examination).
The requirement to Pass with Distinction is that the student passes the course as indicate
above and in addition demonstrates in this assignment the ability to apply fault-tolerant
principles, or clearly demonstrates the ability to apply high level programming concepts from
the Erlang programming language/OTP libraries.
Regarding the application of ECTS scales, please see Vice-Chancellors decision 2007-05-28,
dnr G 8 1976/07.
9. Course evaluation
After completion of the course the students are to be given the possibility of participating in
course anonymously. The processed results of the course evaluations are to be made
accessible to students and also made available to new students at the beginning of the next
course. Possible changes brought about as a result of course evaluations to be described.
10. Additional information
Language of instruction: English.
Page 3 of 3Course syllabus for Distributed Fault-tolerant Programming
2010-09-24http://andromeda.adm.lu.se:8380/LukasWeb/MainServlet?task=print_coursesyllabus_...
本文档为【DIT027_eng_HT11】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。