<?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=Juhan</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=Juhan"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/Juhan"/>
	<updated>2026-06-04T21:26:01Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2025_Autumn&amp;diff=11891</id>
		<title>MScSeminar II 2025 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2025_Autumn&amp;diff=11891"/>
		<updated>2025-09-01T08:10:48Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039; Course description: https://ois2.taltech.ee/uusois/subject/ITX8302  Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?et   * Environment for topics https:/...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois2.taltech.ee/uusois/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?et&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* Oct 6: Revise your problem statement to bring it up to date. Add description of the research method that you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 20: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Dec 15: Deadline for extended problem statement. There should be additional section for background and initial section for related work.&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
** https://taltech.ee/infotehnoloogia-teaduskond/lopetajale&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Sumission of problem statement and methodology&lt;br /&gt;
* 10% of 100%  Giving feedback to problem statements submitted by others. NB! You will need to provide 3 questions that you found relevant regarding the problem statement under review for what you would like to get answered once the thesis is ready.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. &lt;br /&gt;
&lt;br /&gt;
Computer Science MSc theses at the Taltech Digital Library: [https://digikogu.taltech.ee/et/Search/Items?registerValueIds=858478]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11890</id>
		<title>ITX8302</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11890"/>
		<updated>2025-09-01T08:00:02Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Muudetud ümbersuunamise sihtkoht: MScSeminar II 2024 Autumn → MScSeminar II 2025 Autumn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[MScSeminar II 2025 Autumn]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Selecting_the_Research_Method&amp;diff=11541</id>
		<title>Selecting the Research Method</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Selecting_the_Research_Method&amp;diff=11541"/>
		<updated>2024-10-10T15:09:52Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Lisatud ACM SIGPLAN Empirical Evaluation Guidelines viide.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As a student, it is important to choose an appropriate research method that suits solving the problem at hand. Please look at the links below (most are accessible from within the university network) and discuss with your supervisor which is the best approach. Note that you do not need to write lengthy chapters about the method, it is just necessary to clearly state what the method you use is and how your approach is adjusted to the appropriate method. Please also note that the structure of a thesis is very similar to that of a research paper.&lt;br /&gt;
&lt;br /&gt;
==[https://doi.org/10.1109/RE.2009.17 How to Write and Read a Scientific Evaluation Paper]==&lt;br /&gt;
&lt;br /&gt;
by Roel Wieringa, Hans Heerkens and Björn Regnell.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scientific evaluation papers investigate existing problem situations or validate proposed solutions with scientific means, such as by experiment or case study. There is a growing amount of literature about how to report about empirical research in software engineering, but there is still some confusion about the difference between a scientific evaluation paper and other kinds of research papers. This is related to lack of clarity about the relation between empirical research, engineering, and industrial practice. In this minitutorial we give a brief rundown on how to structure a scientific evaluation papers as a special kind of research paper, using experiment reports and case study reports as examples. We give checklists of items that a reader should be able to find in these papers, and sketch the dilemmas that writers and readers of these papers face when applying these checklists&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==[https://doi.org/10.1016/j.accinf.2011.02.004 A design science research methodology and its application to accounting information systems research]==&lt;br /&gt;
&lt;br /&gt;
by Guido L.Geerts&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Natural science research follows a stereotypical pattern and such uniformity makes it easier to recognize and evaluate the results of such research. A similar format has been lacking for design science research. This issue was addressed by Peffers et al. (2008) who defined such a template for design science research for information systems: the design science research methodology (DSRM). In this paper, we first discuss design science research and the DSRM. Then, we illustrate the application of the DSRM to AIS research through retroactive analysis. Finally, we integrate the DSRM into the operational specification of artifact networks and use the REA literature for illustration purposes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The above paper gives a nice overview of how design science research method is applied to concrete information systems. This may be easier to read than the classic references&lt;br /&gt;
[https://doi.org/10.1007/978-1-4419-5653-8_2 Design Science Research in Information Systems] by A. Hevner and S. Chatterjee, and [https://doi.org/10.2753/MIS0742-1222240302 A Design Science Research Methodology for Information Systems Research] by Ken Peffers, Tuure Tuunanen, Marcus A. Rothenberger and Samir Chatterjee.&lt;br /&gt;
&lt;br /&gt;
==[https://doi.org/10.1007/978-1-84800-044-5_11 Selecting Empirical Methods for Software Engineering Research]==&lt;br /&gt;
&lt;br /&gt;
by Steve Easterbrook, Janice Singer, Margaret-Anne Storey and Daniela Damian.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Selecting a research method for empirical software engineering research is problematic because the benefits and challenges to using each method are not yet well catalogued. Therefore, this chapter describes a number of empirical methods available. It examines the goals of each and analyzes the types of questions each best addresses. Theoretical stances behind the methods, practical considerations in the application of the methods and data collection are also briefly reviewed. Taken together, this information provides a suitable basis for both understanding and selecting from the variety of methods applicable to empirical software engineering.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==[https://www.sigplan.org/Resources/EmpiricalEvaluation/ ACM SIGPLAN Empirical Evaluation Guidelines]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming languages research community often develops ideas whose worth is evaluated empirically. Compiler optimizations, static and dynamic analyses, program synthesizers, testing tools, memory management algorithms, new language features, and other research developments each depend on some empirical evidence to demonstrate their effectiveness. This reality raises some important questions. What kind of empirical evidence yields the most reliable conclusions? What are the best practices for putting together an empirical evaluation in PL research? Do PL research papers published in top venues always follow these best practices?&lt;br /&gt;
&lt;br /&gt;
To answer these questions, in August of 2017 the SIGPLAN Executive Committee formed the ad hoc committee on Programming Language Research Empirical Evaluations. The committee is chaired by Steve Blackburn, and its members include Matthias Hauswirth, Emery Berger, and Michael Hicks. Shriram Krishnamurthi has acted as an external collaborator. The committee brings together expertise on empirical evaluation methodology, experience in running workshops and publishing papers on that topic, experience introducing artifact evaluation into SIGPLAN conferences, and experience chairing the PCs of major SIGPLAN conferences.&lt;br /&gt;
&lt;br /&gt;
==Statistical Methods==&lt;br /&gt;
&lt;br /&gt;
Meaningfully designed statistical analysis is at the core of many theses. Please discuss the choice of appropriate methods with your supervisor. A very nice overview of how statistical methods have evolved during the computer age is given in [https://web.stanford.edu/~hastie/CASI_files/PDF/casi.pdf Computer Age Statistical Inference] by Bradley Efron and Trevor Hastie.&lt;br /&gt;
&lt;br /&gt;
==[https://doi.org/10.1145/2442776.2442781 R3: repeatability, reproducibility and rigor]==&lt;br /&gt;
&lt;br /&gt;
by Jan Vitek and Tomas Kalibera.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Computer  systems  research  spans  subdisciplines  that  include embedded systems, programming languages and compilers,  networking,  and  operating  systems.  Our  contention&lt;br /&gt;
is that a number of structural factors inhibit quality systems&lt;br /&gt;
research. We highlight some of the factors we have encountered in our own work and observed in published papers and&lt;br /&gt;
propose solutions that could both increase the productivity&lt;br /&gt;
of researchers and the quality of their output.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==[https://doi.org/10.1002/9781118181034 Case Study Research in Software Engineering: Guidelines and Examples]==&lt;br /&gt;
&lt;br /&gt;
by Per Runeson, Martin Höst, Austen Rainer and Björn Regnell.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering.  This is the first software engineering specific book on the case study research method.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The book is accessible via Ebook Central. Please go to [https://tutl-primo.hosted.exlibrisgroup.com/primo-explore/search?vid=372TUTL_VU1&amp;amp;sortby=rank&amp;amp;lang=en_US e-resource portal Primo]. Then enter the title in quotation marks. There will be 2 responses both linking to the EbookCentral database. From outside the university network please follow the instructions at [https://wiki.ttu.ee/it/en/doc/lib_toru the web page of the IT Department].&lt;br /&gt;
&lt;br /&gt;
Raamat on TTÜ tudengitele ja töötajatele kättesaadav andmebaasi Ebook Central kaudu. Kõige kiiremini jõuab raamatuni raamatukogu esilehel Infoallikad loetelus [https://tutl-primo.hosted.exlibrisgroup.com/primo-explore/search?vid=372TUTL_VU1&amp;amp;sortby=rank&amp;amp;lang=en_US e-ressursside portaali Primo] kasutades. Kui sisestada raamatu pealkiri jutumärkides, siis saame kaks vastust, mis mõlemad viivad EbookCentral andmebaasi.  Väljaspool ülikooli võrku saavad üliõpilased juurdepääsu ülikooli Uni-ID-ga &lt;br /&gt;
toimides vastavalt [https://wiki.ttu.ee/it/et/doc/lib_toru#juurdepaeaes_raamatukogu_andmebaasidele IT Helpdeski juhendile].&lt;br /&gt;
&lt;br /&gt;
==[https://books.google.ee/books?id=iaQ5DwAAQBAJ Research Methods in Education]==&lt;br /&gt;
&lt;br /&gt;
by Louis Cohen, Lawrence Manion and Keith Morrison.&lt;br /&gt;
&lt;br /&gt;
If your thesis touches on improving or analysis of the way education is provided, please consult the book linked above. Please note that for IT students the thesis should involve a substantial amount of software development or data analysis, but you should be aware of the methods used for education research and be able to fit your results into the wider context.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11536</id>
		<title>MScSeminar II 2024 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11536"/>
		<updated>2024-10-03T11:09:49Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois2.taltech.ee/uusois/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* Oct 10: Revise your problem statement to bring it up to date. Add description of the research method that you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 24: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Dec 22: Deadline for extended problem statement. There should be additional section for background and initial section for related work.&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
** https://taltech.ee/infotehnoloogia-teaduskond/lopetajale&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11490</id>
		<title>MScSeminar II 2024 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11490"/>
		<updated>2024-09-05T10:19:52Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois2.taltech.ee/uusois/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* Oct 10: Revise your problem statement to bring it up to date. Add description of the research method that you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 24: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Dec 22: Deadline for extended problem statement. There should be additional section for background and initial section for related work.&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11489</id>
		<title>MScSeminar II 2024 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2024_Autumn&amp;diff=11489"/>
		<updated>2024-09-05T10:10:12Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039; Course description: https://ois2.taltech.ee/uusois/subject/ITX8302  Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?en   * Environment for topics https:/...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois2.taltech.ee/uusois/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://tunniplaan.taltech.ee/#/public/subject/110031?en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* Oct 10: Revise your problem statement to bring it up to date. Add description of the research method that you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 24: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Dec 22: Deadline for extended problem statement. There should be additional section for background and initial section for related work.&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11488</id>
		<title>ITX8302</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11488"/>
		<updated>2024-09-05T10:00:10Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Muudetud ümbersuunamise sihtkoht: MScSeminar II 2023 Autumn → MScSeminar II 2024 Autumn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[MScSeminar II 2024 Autumn]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11179</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11179"/>
		<updated>2023-11-17T13:03:19Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mektory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Dec 22: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11115</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11115"/>
		<updated>2023-09-19T07:00:28Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mektory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764 A Survey of Techniques for Internet Topology Discovery].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11114</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11114"/>
		<updated>2023-09-19T06:59:54Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mektory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
*** Additional reading [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6970764  A Survey of Techniques for&lt;br /&gt;
Internet Topology Discovery]&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11090</id>
		<title>Advanced Programming 2023 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11090"/>
		<updated>2023-09-13T09:19:58Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers and lab staff: Juhan Ernits, Hendrik Maarand, Ian Erik Varatalu&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2023 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 10:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 (broken timetable)])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 12:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-404&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2022 edition]] [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @taltech.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2023 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0] (and [https://dotnet.microsoft.com/download/dotnet/8.0 .Net 8.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3afrwvRn2ScUFwCwP_yuHRoIOL_iB5ercW87FwungilNg1%40thread.tacv2/conversations?groupId=800cee9d-e915-46cb-ac70-bdc669ad90b7&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on November 1st during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on November 1st, you should let us know in writing by Monday, October 30th to juhan.ernits@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
- online version of 4th version is available via [https://www.oreilly.com/library-access/ O&amp;#039;Reilly Library access]. Please use our Taltech e-mail address uniid@taltech.ee and complete the instructions you receive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32998].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2023/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32998]. To log in use your uni-id@taltech.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.taltech.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2023. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.taltech.ee/jodo/itt8060-2023.git&lt;br /&gt;
 cd itt8060-2023&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11089</id>
		<title>Advanced Programming 2023 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11089"/>
		<updated>2023-09-13T09:16:43Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers and lab staff: Juhan Ernits, Hendrik Maarand, Ian Erik Varatalu&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2023 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 10:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 (broken timetable)])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 12:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-404&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2022 edition]] [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @taltech.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3afrwvRn2ScUFwCwP_yuHRoIOL_iB5ercW87FwungilNg1%40thread.tacv2/conversations?groupId=800cee9d-e915-46cb-ac70-bdc669ad90b7&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on November 1st during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on November 1st, you should let us know in writing by Monday, October 30th to juhan.ernits@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
- online version of 4th version is available via [https://www.oreilly.com/library-access/ O&amp;#039;Reilly Library access]. Please use our Taltech e-mail address uniid@taltech.ee and complete the instructions you receive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32998].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2023/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32998]. To log in use your uni-id@taltech.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.taltech.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2023. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.taltech.ee/jodo/itt8060-2023.git&lt;br /&gt;
 cd itt8060-2023&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11088</id>
		<title>Advanced Programming 2023 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11088"/>
		<updated>2023-09-13T09:14:56Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand&lt;br /&gt;
&lt;br /&gt;
Lab staff: Ian Erik Varatalu&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2023 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 10:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 (broken timetable)])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 12:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-404&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2022 edition]] [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @taltech.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3afrwvRn2ScUFwCwP_yuHRoIOL_iB5ercW87FwungilNg1%40thread.tacv2/conversations?groupId=800cee9d-e915-46cb-ac70-bdc669ad90b7&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on November 1st during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on November 1st, you should let us know in writing by Monday, October 30th to juhan.ernits@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
- online version of 4th version is available via [https://www.oreilly.com/library-access/ O&amp;#039;Reilly Library access]. Please use our Taltech e-mail address uniid@taltech.ee and complete the instructions you receive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32998].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2023/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32998]. To log in use your uni-id@taltech.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.taltech.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2023. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.taltech.ee/jodo/itt8060-2023.git&lt;br /&gt;
 cd itt8060-2023&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11087</id>
		<title>Advanced Programming 2023 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2023_edition&amp;diff=11087"/>
		<updated>2023-09-13T08:58:33Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]  Lecturers: Juhan Ernits, Hendrik Maarand  Lab staff: Ian Erik Varatalu  Contact: juhan.ernits@taltech.ee NB! Mention IT...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand&lt;br /&gt;
&lt;br /&gt;
Lab staff: Ian Erik Varatalu&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2023 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 10:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 12:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-404&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2022 edition]] [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 26th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 24th, you should let us know in writing by Monday, October 24th to juhan.ernits@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32998]. To log in use your uni-id@taltech.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2023.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.taltech.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2023. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltechu.ee/your-tut-username/itt8060-2023.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.taltech.ee/jodo/itt8060-2023.git&lt;br /&gt;
 cd itt8060-2023&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.taltech.ee/your-tut-username/itt8060-2023.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITT8060&amp;diff=11086</id>
		<title>ITT8060</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITT8060&amp;diff=11086"/>
		<updated>2023-09-13T08:54:58Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Muudetud ümbersuunamise sihtkoht: Advanced Programming 2022 edition → Advanced Programming 2023 edition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[Advanced Programming 2023 edition]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11068</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11068"/>
		<updated>2023-09-05T07:42:14Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mektory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11067</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11067"/>
		<updated>2023-09-05T07:28:50Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mectory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [moodle.taltech.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11066</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11066"/>
		<updated>2023-09-05T07:18:04Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* September 28. 16:00 - 18:00 in Mectory Innovation hub. Speed dating of supervisors. Environment for topics https://cs.taltech.ee/protsessor&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [https://ained.ttu.ee/course/view.php?id=281 ained.ttu.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11065</id>
		<title>ITX8302</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=11065"/>
		<updated>2023-09-05T06:56:31Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Muudetud ümbersuunamise sihtkoht: MScSeminar II 2022 Autumn → MScSeminar II 2023 Autumn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[MScSeminar II 2023 Autumn]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11064</id>
		<title>MScSeminar II 2023 Autumn</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MScSeminar_II_2023_Autumn&amp;diff=11064"/>
		<updated>2023-09-05T06:56:10Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039; Course description: https://ois.ttu.ee/subject/ITX8302  Course timetable: https://ois.ttu.ee/timetable/ITX8302  =Deadlines=  * date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add descripti...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Course description: https://ois.ttu.ee/subject/ITX8302&lt;br /&gt;
&lt;br /&gt;
Course timetable: https://ois.ttu.ee/timetable/ITX8302&lt;br /&gt;
&lt;br /&gt;
=Deadlines=&lt;br /&gt;
&lt;br /&gt;
* date &amp;lt;strike&amp;gt;Oct 17&amp;lt;/strike&amp;gt; Oct 20: Add description of which method you are going to use in your MSc thesis. Submit it to [https://ained.ttu.ee/course/view.php?id=281 ained.ttu.ee] to the appropriate assignment.&lt;br /&gt;
[[Problem Statement]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* date Oct 30: Review deadline (3 reviews each)&lt;br /&gt;
&lt;br /&gt;
* date Nov 21: Background and related work chapter submission.&lt;br /&gt;
&lt;br /&gt;
* date TBA:&lt;br /&gt;
&lt;br /&gt;
* October - December: Defence talk practice.&lt;br /&gt;
&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
* Intro&lt;br /&gt;
* Seminar on reviewing.&lt;br /&gt;
** Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
** Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
*** HW: Read [http://www.nature.com/nature/journal/v406/n6794/full/406378a0.html Error and Attack Tolerance].&lt;br /&gt;
* Interactive session on problem statement and methodology.&lt;br /&gt;
* Seminar on background and related work. [https://usingsources.fas.harvard.edu]&lt;br /&gt;
* Seminar on how to write papers / theses. [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper]&lt;br /&gt;
* Seminar on how to give presentations. [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/ A set of slides and video by Simon Peyton Jones]. We will take a look at [http://cs.au.dk/~amoeller/talks/talks.pdf  another] take on the matter in class.&lt;br /&gt;
* October 17 - December: Student presentations according to the schedule at [https://to.be.modified moodle.taltech.ee]. NB! You should sign yourself up ASAP for an open slot!&lt;br /&gt;
&lt;br /&gt;
=Grading=&lt;br /&gt;
&lt;br /&gt;
* 10% of 100%: Problem statement and methodology, another 10% of  100% for giving feedback to problem statements submitted by others.&lt;br /&gt;
* 50% of 100%: Background and related work submission.&lt;br /&gt;
* 30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk.&lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
* 90% or more: 5&lt;br /&gt;
* 80% or more: 4&lt;br /&gt;
* 70% or more: 3&lt;br /&gt;
* 60% or more: 2&lt;br /&gt;
* 50% or more: 1&lt;br /&gt;
* less than 50%: 0&lt;br /&gt;
&lt;br /&gt;
=Useful links=&lt;br /&gt;
&lt;br /&gt;
[https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/ How to write a great research paper (thesis)] by Simon Peyton Jones.&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EQjrSbBeTKpOo1zpzVzdS18BYRkhY5hxcB2Fj_UJOeLVqw?e=cvhM3L list of available thesis topics for defence in the Summer 2019]&lt;br /&gt;
&lt;br /&gt;
[https://livettu-my.sharepoint.com/:w:/g/personal/juhan_ernits_ttu_ee/EX7g7yXZIVdPqBOcMsEd4ooB7TN955AtDh5Qxs-XQWrgaw?e=hxGo2c list of available thesis topics for defence in the Summer 2020]&lt;br /&gt;
&lt;br /&gt;
[https://livettu.sharepoint.com/:w:/s/TTIttajadSSDstaff/EarXP6f225FCoREwVvBHfjcByQbpSTHIA4sjogzCBPT1KA?e=kYIioB available thesis topics for defence in the Summer 2021]&lt;br /&gt;
&lt;br /&gt;
Ian Parberry&amp;#039;s advice: [https://www.cs.utexas.edu/~dahlin/professional/parbery-referee.pdf]&lt;br /&gt;
&lt;br /&gt;
Bertrand Meyer: Why I sign my reviews: [http://se.ethz.ch/~meyer/publications/online/whysign/]&lt;br /&gt;
&lt;br /&gt;
Seminar on writing thesis in Latex. An example of TTÜ thesis template in Latex is [https://github.com/antirais/thesis_template here].&lt;br /&gt;
&lt;br /&gt;
Digital library TalTech [https://digi.lib.ttu.ee/?]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=10694</id>
		<title>ITX8302</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8302&amp;diff=10694"/>
		<updated>2022-09-16T09:46:19Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Ümbersuunamine lehele MScSeminar II 2022 Autumn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[MScSeminar II 2022 Autumn]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10675</id>
		<title>ITX8300</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10675"/>
		<updated>2022-09-07T12:54:00Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Õpingute kavandamise seminar ITX8300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Õpingute kavandamise seminar ITX8300=&lt;br /&gt;
&lt;br /&gt;
Sügis 2022/23&lt;br /&gt;
&lt;br /&gt;
Ainekood: [https://ois.ttu.ee/aine/ITX8300 ITX8300]&lt;br /&gt;
[https://ois.ttu.ee/tunniplaan/ITX8300 Tunniplaan]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10674</id>
		<title>ITX8300</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10674"/>
		<updated>2022-09-07T12:53:30Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Õpingute kavandamise seminar ITX8300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Õpingute kavandamise seminar ITX8300=&lt;br /&gt;
&lt;br /&gt;
Sügis 2022/23&lt;br /&gt;
&lt;br /&gt;
Ainekood: [https://ois.ttu.ee/aine/ITX8300| ITX8300]&lt;br /&gt;
[https://ois.ttu.ee/tunniplaan/ITX8300| Tunniplaan]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10673</id>
		<title>ITX8300</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10673"/>
		<updated>2022-09-07T12:53:13Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Õpingute kavandamise seminar ITX8300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Õpingute kavandamise seminar ITX8300=&lt;br /&gt;
&lt;br /&gt;
Sügis 2022/23&lt;br /&gt;
&lt;br /&gt;
Ainekood: [https://ois.ttu.ee/aine/ITX8300| ITX8300]&lt;br /&gt;
[https://ois.ttu.ee/tunniplaan/IT8300| Tunniplaan]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10672</id>
		<title>ITX8300</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10672"/>
		<updated>2022-09-07T12:52:46Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Õpingute kavandamise seminar ITX8300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Õpingute kavandamise seminar ITX8300=&lt;br /&gt;
&lt;br /&gt;
Sügis 2022/23&lt;br /&gt;
&lt;br /&gt;
Ainekood: [https://ois.ttu.ee/aine/ITX8300|ITX8300]&lt;br /&gt;
Tunniplaan: [https://ois.ttu.ee/tunniplaan/IT8300|ITX8300]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10671</id>
		<title>ITX8300</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITX8300&amp;diff=10671"/>
		<updated>2022-09-07T12:52:18Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039;=Õpingute kavandamise seminar ITX8300=  Sügis 2022/23  Ainekood: ITX8300 Tunniplaan: ITX8300&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Õpingute kavandamise seminar ITX8300=&lt;br /&gt;
&lt;br /&gt;
Sügis 2022/23&lt;br /&gt;
&lt;br /&gt;
Ainekood: [[https://ois.ttu.ee/aine/ITX8300|ITX8300]]&lt;br /&gt;
Tunniplaan: [[https://ois.ttu.ee/tunniplaan/IT8300|ITX8300]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10638</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10638"/>
		<updated>2022-08-31T07:14:48Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Important dates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 26th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 24th, you should let us know in writing by Monday, October 24th to juhan.ernits@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITS8030&amp;diff=10637</id>
		<title>ITS8030</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITS8030&amp;diff=10637"/>
		<updated>2022-08-30T09:19:26Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Lectures and labs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITS8030 Computer vision  / tehisnägemine=&lt;br /&gt;
&lt;br /&gt;
https://ois.ttu.ee/tunniplaan/ITS8030&lt;br /&gt;
&lt;br /&gt;
https://ois.ttu.ee/subject/ITS8030&lt;br /&gt;
&lt;br /&gt;
==Lectures and labs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lecture notes are available in [https://gitlab.cs.ttu.ee/its8030-2022/course-materials local Gitlab instance].&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10631</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10631"/>
		<updated>2022-08-29T12:47:39Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Thesis topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
=Access to Taltech Study Information System=&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==University e-mail address Uni-ID@taltech.ee==&lt;br /&gt;
&lt;br /&gt;
Much of the communication in courses takes place using the official university e-mail addresses. All students of Taltech all have an e-mail address in the form Uni-ID@taltech.ee (and an alias Uni-ID@ttu.ee). To access the e-mail, please log in to [https://mail.taltech.ee mail.taltech.ee] and you will be able to read the e-mail online or set up a forwarding service. It is your responsibility to make sure you monitor the e-mail communication to the address.&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a one-time password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the Taltech campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the Taltech campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Thesis topics are offered in the [https://cs.taltech.ee/services/protsessor Protsessor] environment.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10630</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10630"/>
		<updated>2022-08-29T12:46:53Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Thesis topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
=Access to Taltech Study Information System=&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==University e-mail address Uni-ID@taltech.ee==&lt;br /&gt;
&lt;br /&gt;
Much of the communication in courses takes place using the official university e-mail addresses. All students of Taltech all have an e-mail address in the form Uni-ID@taltech.ee (and an alias Uni-ID@ttu.ee). To access the e-mail, please log in to [https://mail.taltech.ee mail.taltech.ee] and you will be able to read the e-mail online or set up a forwarding service. It is your responsibility to make sure you monitor the e-mail communication to the address.&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a one-time password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the Taltech campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the Taltech campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Thesis topics are offered in the [https://cs.taltech.ee/services/protsessor/projects Protsessor] environment.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10629</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10629"/>
		<updated>2022-08-29T12:43:57Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Electives */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
=Access to Taltech Study Information System=&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==University e-mail address Uni-ID@taltech.ee==&lt;br /&gt;
&lt;br /&gt;
Much of the communication in courses takes place using the official university e-mail addresses. All students of Taltech all have an e-mail address in the form Uni-ID@taltech.ee (and an alias Uni-ID@ttu.ee). To access the e-mail, please log in to [https://mail.taltech.ee mail.taltech.ee] and you will be able to read the e-mail online or set up a forwarding service. It is your responsibility to make sure you monitor the e-mail communication to the address.&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a one-time password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the Taltech campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the Taltech campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10628</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10628"/>
		<updated>2022-08-29T12:43:15Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Core module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
=Access to Taltech Study Information System=&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==University e-mail address Uni-ID@taltech.ee==&lt;br /&gt;
&lt;br /&gt;
Much of the communication in courses takes place using the official university e-mail addresses. All students of Taltech all have an e-mail address in the form Uni-ID@taltech.ee (and an alias Uni-ID@ttu.ee). To access the e-mail, please log in to [https://mail.taltech.ee mail.taltech.ee] and you will be able to read the e-mail online or set up a forwarding service. It is your responsibility to make sure you monitor the e-mail communication to the address.&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a one-time password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the Taltech campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the Taltech campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530]] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10627</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10627"/>
		<updated>2022-08-29T10:52:09Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0] on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10626</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10626"/>
		<updated>2022-08-29T10:51:36Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced Programming 2021 edition]] [[Advanced Programming 2020 edition]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0]) on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10625</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10625"/>
		<updated>2022-08-29T10:50:09Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced programming 2021 edition]] [[Advanced programming 2020 edition]] [[Advanced programming 2019]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0]) on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10624</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10624"/>
		<updated>2022-08-29T10:48:24Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced programming 2021]] [[Advanced programming 2020]] [[Advanced programming 2019]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0]) on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10623</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10623"/>
		<updated>2022-08-29T10:47:57Z</updated>

		<summary type="html">&lt;p&gt;Juhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced programming 2021]] [[Advanced programming 2020]] [[Advanced programming 2019]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# [https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-6 6.0) on [https://dotnet.microsoft.com/download/dotnet/6.0 .Net 6.0] (and [https://dotnet.microsoft.com/download/dotnet/7.0 .Net 7.0 preview]) .&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10622</id>
		<title>Advanced Programming 2022 edition</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Advanced_Programming_2022_edition&amp;diff=10622"/>
		<updated>2022-08-29T10:42:59Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]  Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse  Lab staff: Artjom Pahhomov, Bahdan Yanovich  Contact: juhan...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
Lecturers: Juhan Ernits, Hendrik Maarand, Edward Morehouse&lt;br /&gt;
&lt;br /&gt;
Lab staff: Artjom Pahhomov, Bahdan Yanovich&lt;br /&gt;
&lt;br /&gt;
Contact: juhan.ernits@taltech.ee NB! Mention ITT8060 in the subject line!&lt;br /&gt;
&lt;br /&gt;
Time and place (2022 edition):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lectures: Wednesdays 12:00, ICO-221 (ICO stands for IT College building)&amp;#039;&amp;#039;&amp;#039;. (Link to [https://ois.ttu.ee/timetable/ITT8060 timetable])&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labs: Wednesdays 14:00, ICT-121&amp;#039;&amp;#039;&amp;#039;, (priority for software engineering students as students travel from Tartu);&lt;br /&gt;
IAPM students or &amp;#039;&amp;#039;&amp;#039;Thursdays 8:00, ICT-402&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Past editions: [[Advanced programming 2021]] [[Advanced programming 2020]] [[Advanced programming 2019]] [[Advanced programming 2018]], [[Advanced programming 2017]], [[Advanced programming 2016]], [[Advanced programming - 2015]], [[Advanced programming 2014]] &lt;br /&gt;
&lt;br /&gt;
The course is in the core module of the Software Engineering MSc curriculum and among electives in the Informatics MSc curriculum. The course assumes the knowledge of programming and concentrates on functional principles. Details about the learning outcomes can be found here: [https://ois.ttu.ee/subject/ITT8060 ITT8060]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio via the Microsoft Azure Tools for Teaching (formerly also known as Microsoft Imagine, MS Academic Alliance, Dreamspark) program. Unless you explicitly opt out, your @ttu.ee e-mail will be used to activate a MS Imagine account. Students will have access to a wide range of Microsoft products for study purposes at no cost.&lt;br /&gt;
&lt;br /&gt;
If you want to set up your development environment in a virtual machine, you are welcome to use the free VirtualBox or get a license of VMware Workstation via the VMware Academic Program. You will need to contact us at vmware at cs.ttu.ee to gain access.&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Windows is described [http://fsharp.org/use/windows/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on Linux is described [http://fsharp.org/use/linux/ here].&lt;br /&gt;
&lt;br /&gt;
Installing F# tools on a Mac is described [http://fsharp.org/use/mac/ here].&lt;br /&gt;
&lt;br /&gt;
In 2022 we will use F# 5.0 on .Net 6.0 (and 7.0 preview) [https://dotnet.microsoft.com/download/dotnet/6.0].&lt;br /&gt;
&lt;br /&gt;
== Discussion group ==&lt;br /&gt;
&lt;br /&gt;
The group chat will be organized in [https://teams.microsoft.com/l/team/19%3a0bKZg0kuqeK_abmvgRQbWEp4ZT8DSXmip4TGHPiGV7k1%40thread.tacv2/conversations?groupId=d79d258c-3d72-4772-93b0-f3cf66e3fb6d&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 Teams]. &lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
The midterm test will take place on October 30th during the lecture. It will contribute up to 5% of your &lt;br /&gt;
final exam mark. In case you have some serious reason why you cannot be present on October 28th, you should let us know in writing by Monday, October 26th to juhan.ernits@ttu.ee.&lt;br /&gt;
&lt;br /&gt;
== Textbooks ==&lt;br /&gt;
&lt;br /&gt;
* Tomas Petricek with Jon Skeet: Real-world functional programming with examples in F# and C#&lt;br /&gt;
&lt;br /&gt;
- 10 copies at TUT: [http://tallinn.ester.ee/record=b2780259~S1*eng]&lt;br /&gt;
- Several copies available in Tartu&lt;br /&gt;
&lt;br /&gt;
* Michael R. Hansen, Hans Rischel: [http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/functional-programming-using-f Functional programming using F#]&lt;br /&gt;
&lt;br /&gt;
- Electronic edition available at TUT library (TUT Uni-ID required for login) [http://www.ester.ee/record=b4486823*eng]&lt;br /&gt;
&lt;br /&gt;
- several paper copies available in the ATI library in Tartu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional textbook&lt;br /&gt;
Don Syme: Expert F#&lt;br /&gt;
&lt;br /&gt;
- 5 copies at TUT: [http://tallinn.ester.ee/record=b2994544~S1*eng]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lecture recordings==&lt;br /&gt;
&lt;br /&gt;
Lecture recordings are available in Moodle or in Teams team [https://moodle.taltech.ee/course/view.php?id=32401].&lt;br /&gt;
&lt;br /&gt;
==Lecture notes and courseworks==&lt;br /&gt;
&lt;br /&gt;
All lecture notes and courseworks will become available available at [https://gitlab.cs.ttu.ee/itt8060-2022/course-materials ITT8060 course materials on our Gitlab instance].&lt;br /&gt;
&lt;br /&gt;
Task for the first lab:&lt;br /&gt;
&lt;br /&gt;
You need your ID card or residence permit with a chip to sort out your access to the systems at TUT.&lt;br /&gt;
* To access the computers in the labs and electronic books at the library you will need and Uni-ID. You will be able to find it out at [https://pass.taltech.ee pass.taltech.ee] by logging in with your ID card/residence permit.&lt;br /&gt;
* To access [https://ois2.ttu.ee The study information system aka ÕIS of Tallinn University of Technology] you will need your ID card/residence permit or Uni-ID.&lt;br /&gt;
&lt;br /&gt;
If you &amp;#039;&amp;#039;&amp;#039;do not have an ID card or residence permit with a chip&amp;#039;&amp;#039;&amp;#039; proceed as follows:&lt;br /&gt;
* To get access to the study information system without a chip card, go to room SOC-132. (The [https://taltech.ee/en/campus Campus Map] will help you find your way).&lt;br /&gt;
&lt;br /&gt;
The rest of the tasks and lecture notes be available at https://moodle.taltech.ee under the course ITT8060-2022.&lt;br /&gt;
&lt;br /&gt;
The marks to courseworks are available at [https://moodle.taltech.ee/course/view.php?id=32401]. To log in use your uni-id@ttu.ee as an e-mail address (it actually is an e-mail address as well!). Once logged in, please enroll to ITT8060-2022 using the key ESIGyNcD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warning: you are required to solve the courseworks yourself. It is OK to ask questions in class and in the course forum, and discuss the problems with fellow students, but it is not OK to share solutions. If you get caught submitting somebody else&amp;#039;s work, you and the person copied from will be penalised by receiving 0 marks and your act will be reported to the program manager. Repeated offence will result in losing your student status.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tentative lecture titles (there will be some modifications) ==&lt;br /&gt;
&lt;br /&gt;
===Lecture 1: Introduction. Basic concepts of F# ===&lt;br /&gt;
&lt;br /&gt;
Recommended reading: Chapters 1-2 in RWFP, Chapter 1 in FPuF#.&lt;br /&gt;
&lt;br /&gt;
=== Lecture 2: Tuples, lists, recursion. Functions as values===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 3: Lists and recursion ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 4: Discriminated unions and higher order functions ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 5: Discriminated unions and higher order functions continued===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 6: Behaviour centric programs===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 7: Units of measure. Charting. Accessing CSV files with CsvFile and CSV type provider===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 8: Property based testing: FsCheck ===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 9: Accessing .Net libraries, implementing interfaces, Unit testing in F#===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 10: Efficiency of data structures. Tail recursion===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 11: Sequences and computation expressions===&lt;br /&gt;
&lt;br /&gt;
=== Lecture 12: F# for the web: compiling F# to JavaScript with Fable===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 13: Asynchronous computations and reactive programming===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 14: Data analysis with FsLab ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lecture 15: Parallel computations in F# ===&lt;br /&gt;
&lt;br /&gt;
==Submission of courseworks ==&lt;br /&gt;
&lt;br /&gt;
(From week 2)&lt;br /&gt;
&lt;br /&gt;
You are required to upload courseworks to a GIT repository provided by the university.&lt;br /&gt;
&lt;br /&gt;
You are required to set the repository up yourself. To do that you are required to go to &lt;br /&gt;
&lt;br /&gt;
https://gitlab.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
log in using your Uni-ID, and create a project itt8060-2022. NB! It is very important that you use all small caps, because renaming it later will cause problems)&lt;br /&gt;
&lt;br /&gt;
Your repository GIT URL will then become:&lt;br /&gt;
&lt;br /&gt;
https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
You should be able to clone the empty repository by running the following command&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===First time submission===&lt;br /&gt;
&lt;br /&gt;
To submit the courseworks the first time you should create appropriate subdirectories into the freshly cloned directory. For example, if your name is John Doe and your TUT Uni-ID user name is jodo, then you would run the following commands from Git Bash:&lt;br /&gt;
&lt;br /&gt;
To set your user details:&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
 git config --global user.email john.doe@example.com&lt;br /&gt;
&lt;br /&gt;
To clone the repository and copy courseworks into it:&lt;br /&gt;
&lt;br /&gt;
 git clone https://jodo@gitlab.cs.ttu.ee/jodo/itt8060-2022.git&lt;br /&gt;
 cd itt8060-2022&lt;br /&gt;
 mkdir coursework1&lt;br /&gt;
&lt;br /&gt;
NB! The permissions have been pre-configured for you when you create the correct URL. Some courseworks will run automated tests and you will not get any points if you have not set up the repository according the the instructions.&lt;br /&gt;
&lt;br /&gt;
Now copy coursework1.fsx into the newly created directory &amp;quot;coursework1&amp;quot; and run&lt;br /&gt;
&lt;br /&gt;
 git add coursework1/coursework1.fsx&lt;br /&gt;
&lt;br /&gt;
To commit a logical set of changes you run commit:&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
Your default text editor will be [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi] unless your settings say otherwise. To make it easier, Esc + : + x saves and exits, Esc + : + q! quits without saving (note that + is a separator, i.e. you should not type +)&lt;br /&gt;
&lt;br /&gt;
To upload the contents to the server run&lt;br /&gt;
&lt;br /&gt;
 git push origin main&lt;br /&gt;
&lt;br /&gt;
NB! Remember to replace &amp;quot;jodo&amp;quot; with your own TUT UNI-ID username which you can find out from [https://pass.taltech.ee] if you have an ID card or residence permit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Submission of additional files to a non-empty repository===&lt;br /&gt;
&lt;br /&gt;
Once you have successfully submitted your first homework, you will be asked to submit further homeworks to the same repository.&lt;br /&gt;
&lt;br /&gt;
We assume that you have a local copy of the repositori in directory called &amp;quot;myrepo&amp;quot;. You can always clone a fresh copy by running the following command&lt;br /&gt;
from Git Bash:&lt;br /&gt;
&lt;br /&gt;
 git clone https://your-tut-username@gitlab.cs.ttu.ee/your-tut-username/itt8060-2022.git mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
This command is also useful to check if your submission of homeworks has been useful. Just replace &amp;quot;mylocalrepodir&amp;quot; with some temporary directory to check what got uploaded to the GIT server.&lt;br /&gt;
&lt;br /&gt;
When you modify a file that is already registered with git, e.g. you modify the coursework that you already committed and pushed, the only thing you need to do is commit the modifications and push them again.&lt;br /&gt;
&lt;br /&gt;
The following assumes that you have a local copy of the repo and you have changed directory into that repository by running e.g.&lt;br /&gt;
&lt;br /&gt;
 cd mylocalrepodir&lt;br /&gt;
&lt;br /&gt;
For example, you modified coursework1/coursework1.fsx and want to upload the modifications. What you need to do is to commit the changes:&lt;br /&gt;
&lt;br /&gt;
 git commit coursework1/coursework1.fsx -m &amp;quot;Description of the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then, to upload the changes to the server by running&lt;br /&gt;
&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
To add new files, e.g. coursework2.fsx, you will need to run the &amp;quot;git add&amp;quot; command after copying the new file to the appropriate location in the myrepo directory:&lt;br /&gt;
&lt;br /&gt;
 git add coursework2/coursework2.fsx&lt;br /&gt;
 git commit coursework2/coursework2.fsx -m &amp;quot;Some message describing the commit&amp;quot;&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Never attempt to add directories, i.e. only add files! Git figures directories out automatically, you can only add files that have been already placed in appropriate directories.&lt;br /&gt;
&lt;br /&gt;
NB! Please add only the files required by the instructions to the repository. Also, please do not use Git Submodules in the homework repositories as this is not supported.&lt;br /&gt;
&lt;br /&gt;
If you run &amp;quot;git commit&amp;quot; without the &amp;quot;-m&amp;quot; switch, you will be prompted with the default text editor in your system. If you are using Git Bash, the editor tends to be Vim. Look at the [http://www.digilife.be/quickreferences/QRC/Vi%20Reference%20Card.pdf Vi reference card] for survival tips.&lt;br /&gt;
&lt;br /&gt;
Issues regarding the repository access should be reported to your lecturer.&lt;br /&gt;
&lt;br /&gt;
If git seems to be doing something different from what you expect it to do, check what state it is in by running in myrepo&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
The output will show which files are tracked and which are not. To track untracked files add them by &amp;quot;git add&amp;quot;. If you accidentally added some files you&lt;br /&gt;
do not want to be tracked, run &amp;quot;git rm file-not-to-be-tracked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To see the history of commits in the repository, run &lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
You can also visualise the history by running&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
Further info is available in the [http://git-scm.com/book Git book], which is highly recommended reading for every developer.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITT8060&amp;diff=10620</id>
		<title>ITT8060</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITT8060&amp;diff=10620"/>
		<updated>2022-08-29T10:13:35Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Ümbersuunamine lehele Advanced Programming 2022 edition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[Advanced Programming 2022 edition]]&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10619</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10619"/>
		<updated>2022-08-29T10:12:15Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Access to Taltech Study Information System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
=Access to Taltech Study Information System=&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==University e-mail address Uni-ID@taltech.ee==&lt;br /&gt;
&lt;br /&gt;
Much of the communication in courses takes place using the official university e-mail addresses. All students of Taltech all have an e-mail address in the form Uni-ID@taltech.ee (and an alias Uni-ID@ttu.ee). To access the e-mail, please log in to [https://mail.taltech.ee mail.taltech.ee] and you will be able to read the e-mail online or set up a forwarding service. It is your responsibility to make sure you monitor the e-mail communication to the address.&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the TTÜ campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the TTU campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530]] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10618</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10618"/>
		<updated>2022-08-29T10:07:09Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Login to lab computers, study information system, submission of homeworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
==Access to Taltech Study Information System==&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.taltech.ee pass.taltech.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
Many courses use the university wide Moodle based learning environment [https://moodle.taltech.ee moodle.taltech.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://moodle.taltech.ee moodle.taltech.ee] and choose the Taltech Uni-ID login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses.&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the TTÜ campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the TTU campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530]] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10617</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10617"/>
		<updated>2022-08-29T10:03:05Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* Campus information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mektory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
==Access to Taltech Study Information System==&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.ttu.ee pass.ttu.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
There is a learning environment [https://ained.ttu.ee ained.ttu.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://ained.ttu.ee ained.ttu.ee] and choose the Office365 login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses. And there is Taltech Moodle as well [https://moodle.taltech.ee]&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the TTÜ campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the TTU campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530]] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10616</id>
		<title>Master of Science in Software Engineering</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Master_of_Science_in_Software_Engineering&amp;diff=10616"/>
		<updated>2022-08-29T10:01:39Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* COVID-19 information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.cs.ut.ee/en/studying/software-engineering-msc Master of Science in Software Engineering] is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.&lt;br /&gt;
&lt;br /&gt;
=COVID-19 information=&lt;br /&gt;
&lt;br /&gt;
From the academic year 2022/23 we return to on campus learning and teaching. It is necessary to take precautions and avoid spreading any virus. Thus we strive towards a solution where there are recordings of e.g. lectures, but participation is expected on campus unless otherwise stated.&lt;br /&gt;
We encourage all students to get vaccinated. Up to date Covid-19 information of the Tallinn University of Technology is available [https://www.taltech.ee/en/covid19information here].&lt;br /&gt;
&lt;br /&gt;
=Campus information=&lt;br /&gt;
&lt;br /&gt;
To find your way around the Taltech campus, please take a look at [https://www.taltech.ee/en/student-housing], there is also a map available there. The dining options in our campus are: 1) Big diner Taltech main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) diner in SOC building (considered one of the best by many people); 5) Diner in Taltech library (also considered one of the best). And there is a diner in IT College building at Raja 4C and also in Mectory building at Raja 15. &lt;br /&gt;
&lt;br /&gt;
==Campus navigation==&lt;br /&gt;
&lt;br /&gt;
There is a Taltech app called [https://play.google.com/store/apps/details?id=ee.taltech.android Taltech] that can be used to navigate on the Taltech campus and inside the buildings.&lt;br /&gt;
&lt;br /&gt;
==Accommodation==&lt;br /&gt;
The dormitory situation is very tight in Tallinn, so please make sure you book your places well ahead. &lt;br /&gt;
&lt;br /&gt;
The information how to book a place at the dormitories can be found [https://www.ttu.ee/organizations/campus/applicant/ here].&lt;br /&gt;
&lt;br /&gt;
For new students, please make sure you file your applications on the &amp;#039;&amp;#039;&amp;#039;13th of June&amp;#039;&amp;#039;&amp;#039;! The system opens on June 13 (2022), and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. &amp;#039;&amp;#039;In the commentary field, please write:„A booked place as agreed with the Taltech Student Campus&amp;quot;,  as we have reserved few places for software engineering students.&amp;#039;&amp;#039; &lt;br /&gt;
Student can choose only two houses on the application, so have a look at different dormitory buildings here:[https://www.ttu.ee/organizations/campus/student-residence/] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [https://taltech.ee/en/student-housing] For students who plan to move after Autumn semester, November is about the latest time when to file an application with [https://taltech.ee/en/student-housing/how-to-apply#p19609]. Please note that students who have not stayed in Taltech dormitories can follow the link &amp;quot;Send application&amp;quot;. Students who have previously stayed at the dormitories need to follow the link &amp;quot;e-kyla login&amp;quot; and file the application from there. You can send yourself a password reminder from the page.&lt;br /&gt;
&lt;br /&gt;
==Access to Taltech Study Information System==&lt;br /&gt;
&lt;br /&gt;
It is necessary to register to the courses given at Taltech in Taltech Study Information System (&amp;quot;Õppeinfosüsteem&amp;quot; in Estonian, ÕIS for short). To access it you need to either&lt;br /&gt;
&lt;br /&gt;
* Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at https://ois2.taltech.ee&lt;br /&gt;
* There is an old inteface to the same system at https://ois.ttu.ee. Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).&lt;br /&gt;
&lt;br /&gt;
==Login to lab computers, study information system, submission of homeworks==&lt;br /&gt;
&lt;br /&gt;
To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at [https://pass.ttu.ee pass.ttu.ee] by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card). Read more about it at [https://confluence.ttu.ee/it-info/uus-toeoetaja-opilane-new-employee-student/koondjuhend-ueliopilasele-general-guide-for-students &amp;#039;&amp;#039;&amp;#039;IT info&amp;#039;&amp;#039;&amp;#039;].&lt;br /&gt;
&lt;br /&gt;
If you do not have the chip card, you will be able to find out your Uni-ID and set passwords at the IT HelpDesk, room SOC-129. &lt;br /&gt;
Every student should receive also an email with a password and guidelines how to set up UNI-ID if it is not possible to come to Mustamäe. &lt;br /&gt;
Those of you, who have not received that email, contact Siiri Taveter: siiri.taveter@taltech.ee &lt;br /&gt;
&lt;br /&gt;
There is a learning environment [https://ained.ttu.ee ained.ttu.ee] where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to [https://ained.ttu.ee ained.ttu.ee] and choose the Office365 login. Use your Uni-ID based e-mail address in the form &amp;#039;your-uni-id@ttu.ee&amp;#039; and set up your account in the system. You will later be able to join courses. And there is Taltech Moodle as well [https://moodle.taltech.ee]&lt;br /&gt;
&lt;br /&gt;
=Academic Calendar=&lt;br /&gt;
&lt;br /&gt;
Please note that the academic calendars of Taltech and Tartu University are not in sync. Please find the academic calendar for Taltech [https://www.taltech.ee/en/academic-calendar#p19320/ here].&lt;br /&gt;
&lt;br /&gt;
=Timetables=&lt;br /&gt;
&lt;br /&gt;
It is possible to view the timetables by going to [https://ois.ttu.ee] and selecting &amp;quot;Timetables&amp;quot; from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.&lt;br /&gt;
&lt;br /&gt;
For combining your electives and free choice courses, please check out the &amp;quot;condensed timetable&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
=1st semester=&lt;br /&gt;
&lt;br /&gt;
==Core module==&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/ASD/fall Agile Software Development] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@taltech.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ut.ee/2022/systemsmodelling/fall Systems Modelling] The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact siiri.taveter@ttu.ee for further information.&lt;br /&gt;
&lt;br /&gt;
[http://tepandi.ee/spqs/ IDY0204] Software Quality and Standards (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/IDY0204 Timetable in OIS]&lt;br /&gt;
Timetable      &lt;br /&gt;
&lt;br /&gt;
[https://courses.cs.ttu.ee/pages/ITT8060 ITT8060] Advanced programming (Lecture Wed , lab Wed ) [http://ois.ttu.ee/timetable/ITT8060 Timetable in OIS]&lt;br /&gt;
Timetable     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For students staying in Tartu, there will be bus service this year. &amp;#039;&amp;#039;&amp;#039;Bus leaves every Wed at 7:15 at Delta Building Narva mnt 18 Tartu. In the evening bus leaves from Tallinn at 18:15 at ICT building Akadeemia tee 15A.&amp;#039;&amp;#039;&amp;#039; There is a wifi in the bus. &lt;br /&gt;
If you need to come to Tallinn (other day than Wednesday) using public transport, we will reimburse economy class bus/train tickets. For reimbursement, please contact Siiri Taveter, siiri.taveter@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buildings of the TTÜ campus can be located by the help of the [https://haldus.taltech.ee/sites/default/files/2020-08/TalTech%20campuse%20kaart_2020_EST-ENG.pdf?_ga=2.37927715.1435035133.1660561186-4283395.1654691043 map of the TTU campus].&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ITS8020]] System Programming  [http://ois.ttu.ee/timetable/ITS8020 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/subject/ITB8832 ITB8832] Mathematics for Computer Science [http://ois.ttu.ee/timetable/ITB8832 Timetable in OIS]&lt;br /&gt;
* [https://ois.ttu.ee/subject/IAS0430 IAS0430] Microprocessor Systems [http://ois.ttu.ee/timetable/IAS0430 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=2nd semester=&lt;br /&gt;
&lt;br /&gt;
NB! Always double check with the timetable available at [https://ois2.ttu.ee study information system].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seminar module==&lt;br /&gt;
&lt;br /&gt;
[[ITX8301]] MSc Seminar I  [http://ois.ttu.ee/timetable/ITX8301 Timetable in OIS]. If you are missing the seminar course with code ITX8302, please contact the lecturer responsible for the seminar course ITX8301.&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
[[ITI8531]] Software synthesis and verification [http://ois.ttu.ee/timetable/ITI8531 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8050 ITS8050] Embedded Software Workshop  [http://ois.ttu.ee/timetable/ITS8050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8520]] Real-time software engineering [http://ois.ttu.ee/timetable/ITI8520 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8040 ITS8040] Natural Language and Speech Processing  [http://ois.ttu.ee/timetable/ITS8040 Timetable in OIS] &lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITS8030 ITS8030] Computer vision [http://ois.ttu.ee/timetable/ITS8030  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0530/ IAS0530]] Dependability and fault tolerance [http://ois.ttu.ee/timetable/IAS0530  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[[ITI8565]] Machine learning   [http://ois.ttu.ee/timetable/ITI8565  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IEE1570 IEE1570] Cognitronics - course on building cyber-physical systems that work together with the human body [http://ois.ttu.ee/timetable/IEE1570  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/YFX1510 YFX1510] Scientific computing [http://ois.ttu.ee/timetable/YFX1510 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0330 IAS0330] Embedded Systems [http://ois.ttu.ee/timetable/IAS0330 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8700 ITI8700] Formalizing knowledge [http://ois.ttu.ee/timetable/ITI8700 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI8590 ITI8590] Advanced Algorithms and Data Structures [http://ois.ttu.ee/timetable/ITI8590 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8060 ITS8060] Real-Time Big Data Analytics   [http://ois.ttu.ee/timetable/ITS8060  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITC8240 ITC8240] Cryptography [http://ois.ttu.ee/timetable/ITC8240 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/IAS0060 IAS0060] Robotics [http://ois.ttu.ee/timetable/IAS0060 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITI9200 ITI9200] Introduction to Category Theory and its Applications  [http://ois.ttu.ee/timetable/ITI9200 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
New course in Spring 2022:&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8055 ITS8055] Large-Scale Intelligent Environmental Sensing: Theory and Practice [http://ois.ttu.ee/timetable/ITS8055 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
== Some recommended free choice courses==&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/MLE0010 MLE0010] Estonian Language and Culture [http://ois.ttu.ee/timetable/MLE0010 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/HLE0050 HLE0050] Estonian Language and Culture [http://ois.ttu.ee/timetable/HLE0050 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
=3rd semester=&lt;br /&gt;
&lt;br /&gt;
==Embedded and real-time software specialization==&lt;br /&gt;
&lt;br /&gt;
ITX8302 [[ITX8302|MSc seminar II]] &lt;br /&gt;
All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.&lt;br /&gt;
&lt;br /&gt;
You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.&lt;br /&gt;
[http://ois.ttu.ee/timetable/ITX8302 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Electives==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/IAS0220 IAS0220] Robot guidance and software [http://ois.ttu.ee/timetable/IAS0220  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8010 ITS8010] Mathemathical Modelling [http://ois.ttu.ee/timetable/ITS8010  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ITS8035 ITS8035] Speech processing by humans and computers [http://ois.ttu.ee/timetable/ITS8035  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0018] Hybrid Mobile Applications [http://ois.ttu.ee/timetable/ICD0018  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
[http://ois.ttu.ee/subject/ICD0018 ICD0017] Native Mobile Applications [http://ois.ttu.ee/timetable/ICD0017  Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Suggested courses that will count as electives==&lt;br /&gt;
&lt;br /&gt;
ITI8730 Data mining  [http://ois.ttu.ee/timetable/ITI8730 Timetable in OIS]&lt;br /&gt;
&lt;br /&gt;
==Practical training projects==&lt;br /&gt;
&lt;br /&gt;
[https://ois.ttu.ee/subject/ITX8522 ITX8522] Software Entrepreneurship Project. Will take place together with [https://ois.ttu.ee/subject/ITX8540 ITX8540]. Software engineering students should register to ITX8522.&lt;br /&gt;
&lt;br /&gt;
=4th semester=&lt;br /&gt;
&lt;br /&gt;
You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.&lt;br /&gt;
&lt;br /&gt;
=Practical training=&lt;br /&gt;
&lt;br /&gt;
In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module.&lt;br /&gt;
The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.&lt;br /&gt;
&lt;br /&gt;
To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:&lt;br /&gt;
&lt;br /&gt;
* ITX8510 offers 6 ECTS for Internships &amp;amp; Practical trainings. (4 weeks of full time work)&lt;br /&gt;
* ITX8511 offers 12 ECTS for Internships &amp;amp; Practical trainings. (8 weeks of full time work)&lt;br /&gt;
&lt;br /&gt;
If you are looking for a new internship place, please first check out UT practical training offers: [https://comserv.cs.ut.ee/ati_practice_offers/index.php?language=en] and also the following Tallinn University of Technology faculty wide page: [https://www.taltech.ee/en/offers-for-it-students].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:&lt;br /&gt;
&lt;br /&gt;
1) [[:Pilt:Practical training plan2016.docx|Practical training plan2016.docx]]&lt;br /&gt;
&lt;br /&gt;
If you have already work experience, the requirements to get this recognised are as follows:&lt;br /&gt;
&lt;br /&gt;
The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.&lt;br /&gt;
&lt;br /&gt;
Sign the form, have it signed by the supervisor at the company and then enrol yourself to the  [https://moodle.taltech.ee/course/view.php?id=31030 IVSM internships and practical training course] and upload it to the appropriate course in Moodle.&lt;br /&gt;
&lt;br /&gt;
Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.&lt;br /&gt;
&lt;br /&gt;
NB! No forms should be forwarded by e-mails!&lt;br /&gt;
&lt;br /&gt;
2)  Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and &amp;lt;b&amp;gt;supervisor form&amp;lt;/b&amp;gt; can be found on the Internship regulation and forms page [https://www.taltech.ee/en/internship-it] of School of IT web under menu Assessment of Internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in Moodle [https://moodle.taltech.ee/course/view.php?id=31030].&lt;br /&gt;
&lt;br /&gt;
You can give the paper copy to the member of staff during your practical training seminar.&lt;br /&gt;
&lt;br /&gt;
3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: [[:Pilt:Internship report guidelines.pdf|Internship report guidelines.pdf]]. That needs to be submitted together with the supervisor form mentioned in the previous point.&lt;br /&gt;
&lt;br /&gt;
4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.&lt;br /&gt;
&lt;br /&gt;
The slots for each semester will be listed in the moodle [https://moodle.taltech.ee/course/view.php?id=31030] under an appropriate course. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.&lt;br /&gt;
&lt;br /&gt;
Before the seminar, &amp;lt;b&amp;gt; you should file the application &amp;lt;/b&amp;gt;  to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in [https://ois2.ttu.ee study information system]. NB! Please press the &amp;quot;submit&amp;quot; button as well!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please don&amp;#039;t hesitate to contact the practical training coordinator Tõnu Näks, tonu.naks@taltech.ee.&lt;br /&gt;
&lt;br /&gt;
=Thesis=&lt;br /&gt;
&lt;br /&gt;
When writing the thesis you should follow the Taltech School of IT thesis formatting guidelines: [https://www.taltech.ee/en/thesis-and-graduation-it]&lt;br /&gt;
&lt;br /&gt;
==Deadlines for defence in January 2023==&lt;br /&gt;
&lt;br /&gt;
* October 4, 2022: Thesis problem statement submission in Moodle [https://moodle.taltech.ee/course/view.php?id=32298]under IVSM Thesis defence course&lt;br /&gt;
* December 12, 2022: deadline for Defence application submission in OIS &lt;br /&gt;
* January 3, 2023: Thesis pdf-file submission in Moodle course page [https://moodle.taltech.ee/course/view.php?id=32298]&lt;br /&gt;
* January 3rd week, 2023: Thesis defence&lt;br /&gt;
&lt;br /&gt;
==Examples of Successful Theses in Software Engineering==&lt;br /&gt;
&lt;br /&gt;
* Mahmud MD Ashek [https://digi.lib.ttu.ee/i/?7689 Automatic Detection of Bladderwrack in Underwater Video Stream] &lt;br /&gt;
* Ahmed Abdelhady [https://digi.lib.ttu.ee/i/?7684 Low cost gait capture during turning motion]&lt;br /&gt;
* Khasanboy Akbarov [https://digi.lib.ttu.ee/i/?7687 A Self Service POS System Using RFID Authentication]&lt;br /&gt;
* Madhushree Singh [https://digi.lib.ttu.ee/i/?9987  Provably Correct Test Development for TUT Mektory Nanosatellite Software]&lt;br /&gt;
* Liisi Soots [https://digi.lib.ttu.ee/i/?10758 Pavement Mapping Using Convolutional Neural Networks]&lt;br /&gt;
* Andrii Khrystian [https://digi.lib.ttu.ee/i/?9988 Subprime Consumer Credit Scoring ]&lt;br /&gt;
* Roman Hrushchak [https://digi.lib.ttu.ee/i/?10762 Visualization of tongue and lip movements ]&lt;br /&gt;
* Kristin Ehala [https://digi.lib.ttu.ee/i/?10759 Context Based Study Progress Monitoring Model ]&lt;br /&gt;
* Leo Kristopher Piel [https://digi.lib.ttu.ee/i/?10757 Speech-Based Identification of Children&amp;#039;s Gender and Age with Neural Networks ]&lt;br /&gt;
* Demur Nodia [https://digi.lib.ttu.ee/i/?11516 SDMX type provider for F#. ]&lt;br /&gt;
* Kristiina Oks [https://digi.lib.ttu.ee/i/?11515 R library for post-processing of multi-temporal InSAR results using multivariate outlier detection]&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
Information will be offered at later time.&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10358</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10358"/>
		<updated>2022-01-20T12:28:57Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* [https://taltech.ee/en/contacts/leonidas-tsiopoulos Leonidas Tsiopoulos]&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[https://teams.microsoft.com/l/team/19%3aP-pCq0TTDVLM5QVHFU_TQSDIHGniNlT4yGleTW-fIPQ1%40thread.tacv2/conversations?groupId=a2f03dce-0a9b-4697-b178-8224243b0abe&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de DBLP], [https://www.taltech.ee/en/library Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query%914%93=&amp;amp;Query%915%93=&amp;amp;Query%918%93=&amp;amp;Query%917%93=IVSM Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10357</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10357"/>
		<updated>2022-01-20T12:27:45Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[https://teams.microsoft.com/l/team/19%3aP-pCq0TTDVLM5QVHFU_TQSDIHGniNlT4yGleTW-fIPQ1%40thread.tacv2/conversations?groupId=a2f03dce-0a9b-4697-b178-8224243b0abe&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de DBLP], [https://www.taltech.ee/en/library Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query%914%93=&amp;amp;Query%915%93=&amp;amp;Query%918%93=&amp;amp;Query%917%93=IVSM Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10356</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10356"/>
		<updated>2022-01-20T11:57:56Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de DBLP], [https://www.taltech.ee/en/library Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query%914%93=&amp;amp;Query%915%93=&amp;amp;Query%918%93=&amp;amp;Query%917%93=IVSM Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10355</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10355"/>
		<updated>2022-01-20T11:53:27Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de DBLP], [https://www.taltech.ee/en/library Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query%914%93=&amp;amp;Query%915%93=&amp;amp;Query%918%93=&amp;amp;Query%917%93=IVSM Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
** Lauri&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10354</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10354"/>
		<updated>2022-01-20T11:51:49Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de DBLP], [https://www.taltech.ee/en/library Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query%917%93=IVSM Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
** Lauri&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10353</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10353"/>
		<updated>2022-01-20T11:46:23Z</updated>

		<summary type="html">&lt;p&gt;Juhan: /* ITX8301 Magistriseminar I / MSc Seminar I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com|Google Scholar], [https://academic.microsoft.com|Microsoft Academic Search], [https://dblp.uni-trier.de/|DBLP], [https://www.taltech.ee/en/library|Tallinn University of Technology Library], [https://digikogu.taltech.ee/en/Search/Items?ItemTypes=18&amp;amp;ItemTypes=9&amp;amp;ItemTypes=19&amp;amp;Query[4]=&amp;amp;Query[5]=&amp;amp;Query[8]=&amp;amp;Query[7]=IVSM|Theses defended in Software Engineering MSc in Tallinn University of Technology]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn|EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
** Lauri&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10352</id>
		<title>MSc seminar I 2022 Spring</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=MSc_seminar_I_2022_Spring&amp;diff=10352"/>
		<updated>2022-01-20T11:43:41Z</updated>

		<summary type="html">&lt;p&gt;Juhan: Uus lehekülg: &amp;#039;=ITX8301 Magistriseminar I / MSc Seminar I=  Lecturer:  * Leonidas Tsiopoulos  Spring 2022: Tue 16:00-17:30 online only in MS Teams Team for ITX8301 in Spring 2022.  Prelimi...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ITX8301 Magistriseminar I / MSc Seminar I=&lt;br /&gt;
&lt;br /&gt;
Lecturer:&lt;br /&gt;
&lt;br /&gt;
* Leonidas Tsiopoulos&lt;br /&gt;
&lt;br /&gt;
Spring 2022: Tue 16:00-17:30 online only in [[MS Teams Team for ITX8301 in Spring 2022]].&lt;br /&gt;
&lt;br /&gt;
Preliminary plan:&lt;br /&gt;
* Jan 25: Introduction. How to perform search and evaluate sources I&lt;br /&gt;
[https://scholar.google.com], [https://academic.microsoft.com], [https://dblp.uni-trier.de/], [https://www.taltech.ee/en/library]. To access the research papers in various portals, please consider using [https://confluence.ttu.ee/it-info/it-arvuti-ja-oppetoeoekoht/kauguehendus-vpn/kaugtoeoeuehendus-eduvpn|EduVPN]&lt;br /&gt;
&lt;br /&gt;
* Feb 1: How to perform search and evaluate sources II. &lt;br /&gt;
&lt;br /&gt;
* Task: deadline March 1: Pick a research paper (with the help of supervisor / seminar lecturer), read it and be prepared to present the results.&lt;br /&gt;
&lt;br /&gt;
* Feb 8 - Discussion on how research papers are written and how to read them. Please watch the following video before the seminar: [https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/]&lt;br /&gt;
* Feb 15 Research talks by example. Please watch some talk videos, e.g. [https://esec-fse19.ut.ee/program/keynotes/ ESEC/FSE2019 keynotes] [https://www.youtube.com/watch?v=vgdVIeQKH-E Satya Nadella&amp;#039;s keynote at CVPR2020] (Current videos from the CVF youtube channel [https://www.youtube.com/channel/UC0n76gicaarsN_Y9YShWwhw]) (more links to be provided according to your interests).&lt;br /&gt;
* Feb 22 Discussion on how to give research talks. Please watch the video ahead of the seminar [https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/]&lt;br /&gt;
* March 1: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
** Lauri&lt;br /&gt;
* March 8: Student presentations round I (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 15: Student presentations round I (research paper of interest or problem statement, 20 min presentation) &lt;br /&gt;
&lt;br /&gt;
* March 22 : Student presentations round I (additional slot) (research paper of interest or problem statement, 20 min presentation)&lt;br /&gt;
&lt;br /&gt;
* March 29: What constitutes a good [[Problem Statement]] for MSc thesis? &lt;br /&gt;
* April 5: Interactive session on planned problem statements&lt;br /&gt;
* April 12: Structured writing in Latex&lt;br /&gt;
* April 19: Discussion of submissions (submissions due on April 30)&lt;br /&gt;
* April 26:  Student presentations II&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
**&lt;br /&gt;
* May 3: Student presentations II&lt;br /&gt;
&lt;br /&gt;
**&lt;br /&gt;
* May 10: Student presentations II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student presentations ==&lt;br /&gt;
&lt;br /&gt;
On your MSc topic&lt;br /&gt;
&lt;br /&gt;
April - May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The discussions in Teams.&lt;br /&gt;
&lt;br /&gt;
== Thesis topics ==&lt;br /&gt;
&lt;br /&gt;
[https://cs.ttu.ee/services/protsessor|List of thesis topics for defence]&lt;br /&gt;
&lt;br /&gt;
== Methods for research ==&lt;br /&gt;
&lt;br /&gt;
[[Selecting the Research Method]]&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
==ITX8301:==&lt;br /&gt;
&lt;br /&gt;
* 50% Written problem statement.&lt;br /&gt;
* 20% Presentation of research paper (peresentation session I).&lt;br /&gt;
* 30% Final presentation and participation in sessions where fellow students give presentations.&lt;br /&gt;
&lt;br /&gt;
==ITX8302:==&lt;br /&gt;
&lt;br /&gt;
*    20% of 100%: Problem statement and methodology.&lt;br /&gt;
*    50% of 100%: Written background and related work submission.&lt;br /&gt;
*    30% of 100%: Your mock defence talk and participation in seminars where other students give talks. Note that you will need to submit your current draft of the thesis by the time you give the talk. The draft is not marked, but it will be used for questions after your talk. &lt;br /&gt;
&lt;br /&gt;
The final grade will be calculated as follows from the sum of the above results:&lt;br /&gt;
&lt;br /&gt;
*    90% or more: 5&lt;br /&gt;
*    80% or more: 4&lt;br /&gt;
*    70% or more: 3&lt;br /&gt;
*    60% or more: 2&lt;br /&gt;
*    50% or more: 1&lt;br /&gt;
*    less than 50%: 0&lt;/div&gt;</summary>
		<author><name>Juhan</name></author>
	</entry>
</feed>