[Distributed_systems] what are you teaching currently?

Lukács Dániel dlukacs at caesar.elte.hu
Wed Mar 25 14:36:43 CET 2020


Yes, but implementing alternation in your first task in your list 
("indít két szálat, amelyek a Hello és a világ szövegeket írják ki 
felváltva.") is much harder with synchronized Object.wait() and 
notify(). CountDownLatch was more intuititve for me. It is also good if 
they at least know about the existence of java.util.concurrent. If we 
can, it would be nice to publish by the end of semester what will be 
exactly in the exams, and what is optional.

My idea of testing is that we give the students tasks that require 
deterministic output. Then, false positives (i.e. when non-deterministic 
programs are producing expected output) can be minimalized using a 
custom output stream where e.g. there is a tactical Thread.sleep 
injected in our println() implementation. See e.g. my ListWriter in 
https://plc.inf.elte.hu/distributed_systems/trac/browser/trunk/practice_hu/materials/week_6/assignments/homework/files/SyncHelloThreadTest.java

I think it would worth the effort, because this way we only have to 
check their code, and don't have to manually run it. The students should 
be notified that, at this point, tests are just an aid, not the final 
verdict. As far as I know JUnit is covered in Java, so they should know 
about it already.

Please send me your preferred user name in SVN so I can add you as user 
and admin.

Dániel


On 3/25/20 2:07 PM, Kitlei Róbert wrote:
>
>> Thank you all, it's nice to hear from you Robi, and also from the 
>> others! :)
>>
>> I added a second sheet in the spreadsheet for progress summaries and 
>> filled it up with your info. Based on this, it seems to me that 
>> Ferenc, Péter, Robi, and me will be in sync by the end of next week. 
>> (Péter, feel free to slow down a bit :)) Robi's Parhuzamossag.java 
>> has mutual exclusion (synchronized block), but no fairness. My week 6 
>> handout had fairness (CountDownLatch) but no mutual exclusion.
>
>
> Usually, there is not enough time to discuss java.util.concurrent 
> stuff in detail throughout this course. They are better suited to the 
> Concurrent Programming course anyway. I suggest that we make it clear 
> to the students that data structures and tools from that package, if 
> covered at all, are definitely not mandatory and not needed for the 
> exams.
>
>
> The four usual topics for the exam are: server/client architecture, 
> threading with synchronisation, RMI and database handling. The first 
> two tend to appear in the midterm assignment.
>
>
> One more thing: testing concurrent programs properly is usually very 
> hard, and at this level, not worth the effort. Why do you have JUnit 
> in your Teams files?
>
>
> _______________________________________________
> Distributed_systems mailing list
> Distributed_systems at plc.inf.elte.hu
> https://plc.inf.elte.hu/mailman/listinfo/distributed_systems


More information about the Distributed_systems mailing list