General info
- Lectures: Mondays 10:15 L2-403
- Computer classes: Wednesdays 10:15 L2-205
Grading
- 20% - 5 homework exercises
- 1 Java + 4 Clojure
- 30% - 2 projects
- Declarative concurrency + STM
- Agents + distributed programming
- 50% - exam
- 5-10 questions for 1-2 hours
1. Project
Declarative programming + STM
- Deadline: 12.05.2014
- Any simple game/app you may have in mind
- immutable data structures (Clojure persistent)
- >=2 threads accessing the same data
- >=2 refs and STM that access them from at least 2 threads
- 50% of points: small to medium size program (>=3 files, ~100 lines)
- comments every 3-7 lines (ideally program should be read without them but it is rarely the case)
- 50% of points: 0.5-2 page document explaining how refs are accessed
- why it safe to do it this way + describe 2 potential problems that appear (no need to actually implement them):
- if you change refs to atoms,
- if you change immutable datatype to mutable.
- If you cannot figure out a case that creates problem for atoms or mutable datatypes, then you need to extend your program! The size and complexity is not as important as concurrency issues.
- why it safe to do it this way + describe 2 potential problems that appear (no need to actually implement them):
2. Project
Agent programming + fault tolerance
- Deadline: exam-1 day
- Any simple game/app you may have in mind
- >= 3 Clojure agents
- one IO network agent
- >= 8 total action (message) types between agents
- immutable data structures (as agent state)
- >= 3 Clojure agents
- 50% of points: small to medium size program (>=3 files, ~100 lines)
- comments every 3-7 lines (ideally program should be read without them but it is rarely the case)
- 50% of points: 0.5-2 page document explaining how agents comminicate
- agent (component) diagram showing agents and actions/messages sent
- state diagrams for 2 agents
- describe potential problem if you change one immutable agent state to mutable data structure (that usually involves sending data to other agent)
- fault handling of one agent, pressumably network related
Exams
- exam questions (Attach:CPL-2014examquestions.pdf)
- there will be 5-7 random questions for written exam
- no strict grading procedure, i.e. subjective :) - writing and describing material on slides in 1-3 paragraphs (+graphs or code) is very good (>=80%), if you know/remember more that can make it excellent :)
- 2. June L2-202 10:00-13:00
- 16. June L2-207 10:00-13:00
Contact
- olegus (at) ut ee