<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SvenLaanela</id>
	<title>Kursused - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SvenLaanela"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/SvenLaanela"/>
	<updated>2026-04-09T11:16:20Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5619</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5619"/>
		<updated>2017-05-15T10:43:32Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;!!!!! Exam info !!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Exam times:&lt;br /&gt;
* May 22nd - ICT-315, ICT-312 @12.00&lt;br /&gt;
* May 29th - ICT-A1, ICT-A2 @12.00&lt;br /&gt;
Format:&lt;br /&gt;
* Written part&lt;br /&gt;
** 25 multiple choice questions (choose one)&lt;br /&gt;
** 45 minutes &lt;br /&gt;
* Oral part&lt;br /&gt;
** 2 questions&lt;br /&gt;
** 10-15 minutes each&lt;br /&gt;
* You will receive your grade immediately&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (2+1 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;br /&gt;
Lecture 13&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 13 - Networking.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-net&lt;br /&gt;
** Deadline: Sunday, April 30 23:59 EEST&lt;br /&gt;
Lecture 14&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 14 - Java Troubleshooting and Performance.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-performance&lt;br /&gt;
** Deadline: Sunday, May 14 23:59 EEST&lt;br /&gt;
Lecture 15&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 15 - Java 9 and Beyond.pdf]]&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5618</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5618"/>
		<updated>2017-05-15T10:42:15Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (2+1 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Exam times:&lt;br /&gt;
* May 22nd - ICT-315, ICT-312 @12.00&lt;br /&gt;
* May 29th - ICT-A1, ICT-A2 @12.00&lt;br /&gt;
Format:&lt;br /&gt;
* Written part&lt;br /&gt;
** 25 multiple choice questions (choose one)&lt;br /&gt;
** 45 minutes Oral part&lt;br /&gt;
* 2 questions&lt;br /&gt;
** 10-15 minutes each&lt;br /&gt;
* You will receive your grade immediately&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;br /&gt;
Lecture 13&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 13 - Networking.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-net&lt;br /&gt;
** Deadline: Sunday, April 30 23:59 EEST&lt;br /&gt;
Lecture 14&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 14 - Java Troubleshooting and Performance.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-performance&lt;br /&gt;
** Deadline: Sunday, May 14 23:59 EEST&lt;br /&gt;
Lecture 15&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 15 - Java 9 and Beyond.pdf]]&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5617</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5617"/>
		<updated>2017-05-15T10:39:31Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;br /&gt;
Lecture 13&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 13 - Networking.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-net&lt;br /&gt;
** Deadline: Sunday, April 30 23:59 EEST&lt;br /&gt;
Lecture 14&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 14 - Java Troubleshooting and Performance.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-performance&lt;br /&gt;
** Deadline: Sunday, May 14 23:59 EEST&lt;br /&gt;
Lecture 15&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 15 - Java 9 and Beyond.pdf]]&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_15_-_Java_9_and_Beyond.pdf&amp;diff=5616</id>
		<title>Fail:JavaFundamentals - Lecture 15 - Java 9 and Beyond.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_15_-_Java_9_and_Beyond.pdf&amp;diff=5616"/>
		<updated>2017-05-15T10:36:56Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5589</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5589"/>
		<updated>2017-05-09T09:31:07Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;br /&gt;
Lecture 13&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 13 - Networking.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-net&lt;br /&gt;
** Deadline: Sunday, April 30 23:59 EEST&lt;br /&gt;
Lecture 14&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 14 - Java Troubleshooting and Performance.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-performance&lt;br /&gt;
** Deadline: Sunday, May 14 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_14_-_Java_Troubleshooting_and_Performance.pdf&amp;diff=5588</id>
		<title>Fail:JavaFundamentals - Lecture 14 - Java Troubleshooting and Performance.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_14_-_Java_Troubleshooting_and_Performance.pdf&amp;diff=5588"/>
		<updated>2017-05-09T09:30:04Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5560</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5560"/>
		<updated>2017-04-25T11:16:40Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;br /&gt;
Lecture 13&lt;br /&gt;
*  Slides: [[Meedia:JavaFundamentals - Lecture 13 - Networking.pdf]] &lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-net&lt;br /&gt;
** Deadline: Sunday, April 30 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_13_-_Networking.pdf&amp;diff=5559</id>
		<title>Fail:JavaFundamentals - Lecture 13 - Networking.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_13_-_Networking.pdf&amp;diff=5559"/>
		<updated>2017-04-25T11:10:14Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5531</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5531"/>
		<updated>2017-04-18T09:00:17Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
** General feedback:&lt;br /&gt;
*** Very many of you print the stacktrace before throwing a new exception or returning null.The convention in the industry is to have exception logging (print it out in some sort) at one single location at some higher part of the calling chain. In your catch sections I would either handle the exception (some logic) or re throw.&lt;br /&gt;
*** Make sure you close your streams! Classloaders are usually quite hot, meaning that they process a ton of files. If you happen to leak a handle each time then the leak can be substantial! Don’t forget to close them in the finally block or using the more convenient try-with-resources approach.&lt;br /&gt;
*** Test your submission before you send them in! Out of the 22 submissions 4 threw an exception with the supplied input files.&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5528</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5528"/>
		<updated>2017-04-17T11:41:52Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 2 23:59 EEST&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 9 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 16 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 23 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5527</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5527"/>
		<updated>2017-04-17T11:39:39Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 3 23:59 EEST&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 10 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 17 23:59 EEST&lt;br /&gt;
Lecture 12&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-javassist&lt;br /&gt;
** Deadline: Sunday, April 24 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_12_-_Java_Bytecode_and_Javassist.pdf&amp;diff=5526</id>
		<title>Fail:JavaFundamentals - Lecture 12 - Java Bytecode and Javassist.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_12_-_Java_Bytecode_and_Javassist.pdf&amp;diff=5526"/>
		<updated>2017-04-17T11:38:35Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5507</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5507"/>
		<updated>2017-04-10T14:56:39Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 3 23:59 EEST&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 10 23:59 EEST&lt;br /&gt;
Lecture 11&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 11 - Reflection API.pdf|JavaFundamentals - Lecture 11 - Reflection API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-reflection&lt;br /&gt;
** Deadline: Sunday, April 17 23:59 EEST&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_11_-_Reflection_API.pdf&amp;diff=5506</id>
		<title>Fail:JavaFundamentals - Lecture 11 - Reflection API.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_11_-_Reflection_API.pdf&amp;diff=5506"/>
		<updated>2017-04-10T14:55:17Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_10_-_Java_Memory_Management.pdf&amp;diff=5498</id>
		<title>Fail:JavaFundamentals - Lecture 10 - Java Memory Management.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_10_-_Java_Memory_Management.pdf&amp;diff=5498"/>
		<updated>2017-04-03T13:12:40Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: SvenLaanela laadis üles faili &amp;amp;quot;Pilt:JavaFundamentals - Lecture 10 - Java Memory Management.pdf&amp;amp;quot; uue versiooni&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5497</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5497"/>
		<updated>2017-04-03T11:50:46Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 3 23:59 EET&lt;br /&gt;
Lecture 10&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 10 - Java Memory Management.pdf|JavaFundamentals - Lecture 10 - Java Memory Management.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: https://github.com/JavaFundamentalsZT/jf-hw-jmm&lt;br /&gt;
** Deadline: Sunday, April 10 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_10_-_Java_Memory_Management.pdf&amp;diff=5496</id>
		<title>Fail:JavaFundamentals - Lecture 10 - Java Memory Management.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_10_-_Java_Memory_Management.pdf&amp;diff=5496"/>
		<updated>2017-04-03T11:49:41Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5472</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5472"/>
		<updated>2017-03-27T08:58:30Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;br /&gt;
Lecture 9&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 9 - Classloaders.pdf|JavaFundamentals - Lecture 9 - Classloaders.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-classloaders https://github.com/JavaFundamentalsZT/jf-hw-classloaders]&lt;br /&gt;
** Deadline: Sunday, April 3 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_9_-_Classloaders.pdf&amp;diff=5471</id>
		<title>Fail:JavaFundamentals - Lecture 9 - Classloaders.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_9_-_Classloaders.pdf&amp;diff=5471"/>
		<updated>2017-03-27T08:14:29Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_8_-_Concurrency_API.pdf&amp;diff=5458</id>
		<title>Fail:JavaFundamentals - Lecture 8 - Concurrency API.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_8_-_Concurrency_API.pdf&amp;diff=5458"/>
		<updated>2017-03-20T13:28:16Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5457</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5457"/>
		<updated>2017-03-20T13:27:53Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;br /&gt;
Lecture 8&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 8 - Concurrency API.pdf|JavaFundamentals - Lecture 8 - Concurrency API.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-password-cracker https://github.com/JavaFundamentalsZT/jf-hw-password-cracker]&lt;br /&gt;
** Deadline: Sunday, March 26 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5428</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5428"/>
		<updated>2017-03-14T13:00:39Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;br /&gt;
Lecture 7&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf|JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-money-transfers https://github.com/JavaFundamentalsZT/jf-hw-money-transfers]&lt;br /&gt;
** Deadline: Sunday, March 19 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_7_-_Thread_Safety_and_Locks.pdf&amp;diff=5427</id>
		<title>Fail:JavaFundamentals - Lecture 7 - Thread Safety and Locks.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_7_-_Thread_Safety_and_Locks.pdf&amp;diff=5427"/>
		<updated>2017-03-14T12:58:34Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5407</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5407"/>
		<updated>2017-03-06T13:27:16Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm https://github.com/JavaFundamentalsZT/jf-hw-threads-jmm]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5406</id>
		<title>Fail:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5406"/>
		<updated>2017-03-06T13:23:01Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: SvenLaanela laadis üles faili &amp;amp;quot;Pilt:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf&amp;amp;quot; uue versiooni&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5405</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5405"/>
		<updated>2017-03-06T13:00:31Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link:&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5404</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5404"/>
		<updated>2017-03-06T12:41:49Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/shelajev/jf-skeleton https://github.com/shelajev/jf-skeleton]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5403</id>
		<title>Fail:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5403"/>
		<updated>2017-03-06T12:41:33Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5402</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5402"/>
		<updated>2017-03-06T12:39:48Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:Java Fundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/shelajev/jf-skeleton https://github.com/shelajev/jf-skeleton]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5401</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5401"/>
		<updated>2017-03-06T12:36:08Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;br /&gt;
Lecture 6&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf|JavaFundamentals - Lecture 6 - Threads and Java Memory Model.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/shelajev/jf-skeleton https://github.com/shelajev/jf-skeleton]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Create tests with JCStressTest that demonstrate concurrency issues and outcomes&lt;br /&gt;
*** Explain why these outcomes are possible under the Java Memory Model&lt;br /&gt;
** Deadline: Sunday, March 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Java_Fundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5400</id>
		<title>Fail:Java Fundamentals - Lecture 6 - Threads and Java Memory Model.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Java_Fundamentals_-_Lecture_6_-_Threads_and_Java_Memory_Model.pdf&amp;diff=5400"/>
		<updated>2017-03-06T12:29:20Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5392</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5392"/>
		<updated>2017-02-27T17:12:10Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;br /&gt;
Lecture 5&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 5 - IO2.pdf|JavaFundamentals - Lecture 5 - IO2.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-sysdump https://github.com/JavaFundamentalsZT/jf-hw-sysdump]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which outputs system info as XML and JSON files&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, March 5 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_5_-_IO2.pdf&amp;diff=5391</id>
		<title>Fail:JavaFundamentals - Lecture 5 - IO2.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_5_-_IO2.pdf&amp;diff=5391"/>
		<updated>2017-02-27T17:10:27Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5380</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5380"/>
		<updated>2017-02-20T13:51:55Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;br /&gt;
Lecture 4&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 4 - IO.pdf|JavaFundamentals - Lecture 4 - IO.pdf]]&lt;br /&gt;
* Homework&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-packer https://github.com/JavaFundamentalsZT/jf-hw-packer]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Write a Java program which packs and unpacks files without compression&lt;br /&gt;
*** More details on GitHub!&lt;br /&gt;
** Deadline: Sunday, February 26 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_4_-_IO.pdf&amp;diff=5379</id>
		<title>Fail:JavaFundamentals - Lecture 4 - IO.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_4_-_IO.pdf&amp;diff=5379"/>
		<updated>2017-02-20T13:48:43Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5362</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5362"/>
		<updated>2017-02-13T12:55:56Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Task 1: Implement CardDeck, its constructor and methods shuffle(), take(), add(), size()&lt;br /&gt;
*** Task 2: Create function unique() which receives a varg of List-s and returns a List of values that exist only once across all collections&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5361</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5361"/>
		<updated>2017-02-13T12:48:48Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 3 - Collections and Generics.pdf|JavaFundamentals - Lecture 3 - Collections and Generics.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_3_-_Collections_and_Generics.pdf&amp;diff=5360</id>
		<title>Fail:JavaFundamentals - Lecture 3 - Collections and Generics.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_3_-_Collections_and_Generics.pdf&amp;diff=5360"/>
		<updated>2017-02-13T12:39:58Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5359</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5359"/>
		<updated>2017-02-13T12:37:21Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 3&lt;br /&gt;
* Slides: TODO&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-3-generics https://github.com/JavaFundamentalsZT/jf-hw-3-generics]&lt;br /&gt;
** Goals:&lt;br /&gt;
&lt;br /&gt;
** Deadline: Sunday, February 19 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5312</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5312"/>
		<updated>2017-02-06T13:01:42Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. &lt;br /&gt;
*** Implementation must use the stream API and lambdas.&lt;br /&gt;
*** Consider edge cases and don&amp;#039;t forget to add tests!&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5311</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5311"/>
		<updated>2017-02-06T12:53:41Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: [[Meedia:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf|JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. Implementation must use the stream API and lambdas.&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_2_-_Lambdas_and_Streams.pdf&amp;diff=5310</id>
		<title>Fail:JavaFundamentals - Lecture 2 - Lambdas and Streams.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_2_-_Lambdas_and_Streams.pdf&amp;diff=5310"/>
		<updated>2017-02-06T12:52:45Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5309</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5309"/>
		<updated>2017-02-06T07:33:04Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides:  [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;br /&gt;
Lecture 2&lt;br /&gt;
* Slides: Coming soon!&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas https://github.com/JavaFundamentalsZT/jf-hw-2-lambdas]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Implement the method getWords(filename) in class Homework2. Do not change the method signature.&lt;br /&gt;
*** Find five most used words in a file. Treat words in case insensitive manner. Implementation must use the stream API and lambdas.&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EET&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5218</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5218"/>
		<updated>2017-01-30T13:07:28Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homework assignments for the lectures will be given out at the end of each lecture (Monday) and each one, except for the first one, will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points and we won&amp;#039;t even look at it!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No cheating&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides:  [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EEST&lt;br /&gt;
Lecture 2&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5217</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5217"/>
		<updated>2017-01-30T13:03:34Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Your final grade will consist of:&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
There are 14 homework assignments total for Lectures 1-14. The last lecture (lecture 15) will not have a homework assignment. Each assignment submission will be scored between 0.0 - 1.0. For a perfect score for homeworks you need at least 12 points out of the 14. So there is some buffer if you happen to miss a homework or if you didn&amp;#039;t get a great score for each of them. For those of you that happen to get more than 12 points, we will make your life easier on the exam :).&lt;br /&gt;
&lt;br /&gt;
Homeworks for the lectures will be given out at the end of each lecture (Monday) and will need to be submitted by Sunday 23:59 EEST same week. This means you have 6 days for solving the homework and submitting it to us for grading. &amp;#039;&amp;#039;&amp;#039;Don&amp;#039;t be late&amp;#039;&amp;#039;&amp;#039; - if you are late then you&amp;#039;ll get 0 points (we won&amp;#039;t even look at it)!&lt;br /&gt;
NB! We have a [[no cheating]] policy:&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - its okay to look at solutions for ideas, but don&amp;#039;t blatantly copy.&lt;br /&gt;
Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The exam will be:&lt;br /&gt;
* 60% written (multiple-choice questions)&lt;br /&gt;
* 40% oral (3 questions)&lt;br /&gt;
*  NB! Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* Slides:  [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|JavaFundamentals - Lecture 1 - Introduction.pdf]]&lt;br /&gt;
* Homework:&lt;br /&gt;
** Link: [https://github.com/JavaFundamentalsZT/jf-hw-intro https://github.com/JavaFundamentalsZT/jf-hw-intro]&lt;br /&gt;
** Goals:&lt;br /&gt;
*** Get the failing unit test to pass&lt;br /&gt;
*** Submit it&lt;br /&gt;
** Deadline: Sunday, February 12 23:59 EEST&lt;br /&gt;
Lecture 2&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5216</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5216"/>
		<updated>2017-01-30T12:40:30Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
** 60% written (multiple-choice questions)&lt;br /&gt;
** 40% oral (3 questions)&lt;br /&gt;
** Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 14 assignments total&lt;br /&gt;
* Each assignment scored 0.0 - 1.0&lt;br /&gt;
* Max total score is 12&lt;br /&gt;
* Exam prerequisite: get at least 6 points for homework!&lt;br /&gt;
* Bonus: get more than 12 points - have an easier time on the exam&lt;br /&gt;
* Given out at the end of the lecture (Monday)&lt;br /&gt;
* Hard deadline is Sunday 23:59 EEST same week (6 days)&lt;br /&gt;
* If you are late then you’ll get 0 points!&lt;br /&gt;
* If you are late then we won’t even look at it!&lt;br /&gt;
* No cheating!&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - if we detect this we will deduct points.&lt;br /&gt;
* Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Lecture 1 &lt;br /&gt;
* [[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|Slides]]&lt;br /&gt;
* [https://github.com/JavaFundamentalsZT/jf-hw-intro Homework]&lt;br /&gt;
* Deadline: Sunday, February 12 23:59 EEST&lt;br /&gt;
Lecture 2&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5215</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5215"/>
		<updated>2017-01-30T12:34:48Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
** 60% written (multiple-choice)&lt;br /&gt;
** 40% oral (3 questions)&lt;br /&gt;
** Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 14 assignments total&lt;br /&gt;
* Each assignment scored 0.0 - 1.0&lt;br /&gt;
* Max total score is 12&lt;br /&gt;
* Exam prerequisite: get at least 6 points for homework!&lt;br /&gt;
* Bonus: get more than 12 points - have an easier time on the exam&lt;br /&gt;
* Given out at the end of the lecture (Monday)&lt;br /&gt;
* Hard deadline is Sunday 23:59 EEST same week (6 days)&lt;br /&gt;
* If you are late then you’ll get 0 points!&lt;br /&gt;
* If you are late then we won’t even look at it!&lt;br /&gt;
* No cheating!&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - if we detect this we will deduct points.&lt;br /&gt;
* Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Lecture 1 ([[Meedia:JavaFundamentals - Lecture 1 - Introduction.pdf|slides]]) ([https://github.com/JavaFundamentalsZT/jf-hw-intro homework])&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5214</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5214"/>
		<updated>2017-01-30T12:32:32Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
** 60% written (multiple-choice)&lt;br /&gt;
** 40% oral (3 questions)&lt;br /&gt;
** Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 14 assignments total&lt;br /&gt;
* Each assignment scored 0.0 - 1.0&lt;br /&gt;
* Max total score is 12&lt;br /&gt;
* Exam prerequisite: get at least 6 points for homework!&lt;br /&gt;
* Bonus: get more than 12 points - have an easier time on the exam&lt;br /&gt;
* Given out at the end of the lecture (Monday)&lt;br /&gt;
* Hard deadline is Sunday 23:59 EEST same week (6 days)&lt;br /&gt;
* If you are late then you’ll get 0 points!&lt;br /&gt;
* If you are late then we won’t even look at it!&lt;br /&gt;
* No cheating!&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - if we detect this we will deduct points.&lt;br /&gt;
* Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Lecture 1 [[Pilt:JavaFundamentals - Lecture1 - Introduction.pdf]] [https://github.com/JavaFundamentalsZT/jf-hw-intro homework]&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5213</id>
		<title>Java Fundamentals</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Java_Fundamentals&amp;diff=5213"/>
		<updated>2017-01-30T12:31:22Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Offered by ZeroTurnaround in Spring semester 2017. The course will be taught in English.&lt;br /&gt;
&lt;br /&gt;
* Course code: [https://ois.ttu.ee/portal/page?_pageid=37,674581&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=62386158&amp;amp;p_id=107026&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8905&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1 ITI8905]&lt;br /&gt;
* Credits: 3 EAP&lt;br /&gt;
* Time: Lectures on Mondays 12:00-13:30. First meeting on January 30.&lt;br /&gt;
* Place: ICT-315 (ICT building is at Akadeemia tee 15a)&lt;br /&gt;
&lt;br /&gt;
The course is targeted to students who (think they) already know Java. It is not a beginner&amp;#039;s course!&lt;br /&gt;
&lt;br /&gt;
NB! The number of places is limited to 40! Sign up ASAP! When we cannot find any evidence of you having taken some Java courses in the past, we may vacate the place to other students.&lt;br /&gt;
&lt;br /&gt;
Students from TUT should register in ÕIS (registration will be opened on &amp;lt;s&amp;gt;January 11&amp;lt;/s&amp;gt; January 30). Students from Tallinn University and IT College, who are interested in taking the course should send an e-mail to Siiri Taveter (siiri.taveter@ttu.ee) mentioning ITI8905 in the subject line.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Grade&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 50% Homework&lt;br /&gt;
* 50% Exam&lt;br /&gt;
** 60% written (multiple-choice)&lt;br /&gt;
** 40% oral (3 questions)&lt;br /&gt;
** Prerequisite: must get at least 6 points for Homework&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 14 assignments total&lt;br /&gt;
* Each assignment scored 0.0 - 1.0&lt;br /&gt;
* Max total score is 12&lt;br /&gt;
* Exam prerequisite: get at least 6 points for homework!&lt;br /&gt;
* Bonus: get more than 12 points - have an easier time on the exam&lt;br /&gt;
* Given out at the end of the lecture (Monday)&lt;br /&gt;
* Hard deadline is Sunday 23:59 EEST same week (6 days)&lt;br /&gt;
* If you are late then you’ll get 0 points!&lt;br /&gt;
* If you are late then we won’t even look at it!&lt;br /&gt;
* No cheating!&lt;br /&gt;
* Copying solutions from a friend is forbidden - if we see two identical submissions, they both get a 0.&lt;br /&gt;
* Copying solutions from StackOverflow is forbidden - if we detect this we will deduct points.&lt;br /&gt;
* Use the Java Standard Library unless homework assignment itself uses some other libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Lecture 1 [[Pilt:JavaFundamentals_-_Lecture1_-_Introduction.pdf]] [https://github.com/JavaFundamentalsZT/jf-hw-intro homework]&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_1_-_Introduction.pdf&amp;diff=5212</id>
		<title>Fail:JavaFundamentals - Lecture 1 - Introduction.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:JavaFundamentals_-_Lecture_1_-_Introduction.pdf&amp;diff=5212"/>
		<updated>2017-01-30T12:20:44Z</updated>

		<summary type="html">&lt;p&gt;SvenLaanela: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>SvenLaanela</name></author>
	</entry>
</feed>