# | Description | Language | Deadline |
---|---|---|---|
1 | Implementation of fgrep with -i (case insensitive), -r (recursive), and -n (prefixed with line numbers) in Ada language. The goal is to get the basic comprehension of Ada as a preparation for Ada-specific tasking later in the class. | Ada | 30.3.2014 |
2 | Implement semaphore and synchronizing thread barrier using Java signaling primitives (wait, notify, notifyAll). | Java | 16.3.2014 |
3 | Implement a Java-based echo server, which accepts UDP and TCP connections on a list of ports given on the command line (given as udp:portnum1, tcp:portnum2, etc. The echo server means that the server replies back the same data that was received on the input. Server sterminates after the user sends Q+Enter into the command line (the Enter is to ease development of Java readout from terminal). This assignment is designed to practice correct termination of threaded programs. | Java | 6.4.2014 |
4 | Using Java language, implement web harvestor, which looks for pattern provided on the command line. Another command line parameters are: (1) total number of read pages, after which the harverstor stops further search, (2) limit on number of connections to a specific HTTP serve. The harvestor will have GUI which displays (1) headers of currently read web pages, (2) URL and the given line of pages where pattern match succeeds Implement a custom dynamic thread pool executor which increases number of core threads as soon as occupancy of the queue increases above 75% and shuts down the threads as soon occupancy of the queue drops below 25%. Goal of this work is work with GUIs from multiple threads and to understand Executors, Callables, Thread Pools, etc. | Java | 20.4.2014 |