[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