<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fi">
	<id>https://fuksiwiki.tko-aly.fi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kxantti</id>
	<title>Fuksiwiki - Käyttäjän muokkaukset [fi]</title>
	<link rel="self" type="application/atom+xml" href="https://fuksiwiki.tko-aly.fi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kxantti"/>
	<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/Toiminnot:Muokkaukset/Kxantti"/>
	<updated>2026-05-01T07:14:40Z</updated>
	<subtitle>Käyttäjän muokkaukset</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=8156</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=8156"/>
		<updated>2016-09-28T19:17:36Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Advanced Course in Machine Learning || &#039;&#039;&#039;#tkt-aml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Systems Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Blizzardin räiskintäpeli pikkulapsille || &#039;&#039;&#039;#tkt-overwatch&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi, Gurula-kanava || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pokemon GO -kanava || &#039;&#039;&#039;#tkt-pokemon&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturva/infosec/kyberkyberkyberturva || &#039;&#039;&#039;#tkt-security&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=8153</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=8153"/>
		<updated>2016-09-08T19:28:06Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Advanced Course in Machine Learning || &#039;&#039;&#039;#tkt-aml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Systems Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Blizzardin räiskintäpeli pikkulapsille || &#039;&#039;&#039;#tkt-overwatch&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pokemon GO -kanava || &#039;&#039;&#039;#tkt-pokemon&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=8137</id>
		<title>Fuksien kysymää</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=8137"/>
		<updated>2016-08-28T20:30:24Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Miten ja milloin saan haalarit? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lisää kysymyksiä ja vastauksia ilmestyy sitä mukaa kun kysytään.&#039;&#039;&#039;&lt;br /&gt;
* Katso myös [http://www.hyy.helsinki.fi/suomi/25/doc/227/ HYY:n uusien opiskelijoiden sivujen &amp;quot;usein kysyttyä&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
===Missä voin syödä?===&lt;br /&gt;
:Helsingin yliopistolla palvelevat yleisesti UniCafe-lounasravintolat. Kumpulan kampuksella UniCafe-ravintoloita on sekä Exactumissa että Chemicumissa. Lisäksi Physicumissa on saman firman kahvio, josta saa kohtuullisen suosittuja lounaspatonkeja. UniCafe-ravintoloissa on tarjolla yleensä kahta lounasvaihtoehtoa, &amp;quot;edullisesti&amp;quot; ja &amp;quot;maukkaasti&amp;quot;, hinnat löytyvät linkistä [http://www.unicafe.fi/lounas/hinnasto Unicafen lounashinnat] . Halvempi hinta edellyttää, että opiskelijalla on esittää lukuvuositarralla varustettu Lyyra-opiskelijakortti - asianmukainen todistus Ylioppilaskunnan jäsenmaksun maksamisestakin riittää vielä alkusyksystä, lataamalla rahaa lyyrakortille ja maksamalla sillä säästää myös 10snt. Ilman korttia tai todistusta sinut kuitenkin tulkitaan ei-opiskelijaksi ja joudut pulittamaan melkein tuplasti enemmän. Itse maksuvälineinä UniCafeissa käyvät Visa, Mastercard, Visa Electron, Lyyra ja käteinen. Aukioloaikoihin ja ruokalistoihin ks. http://www.varjocafe.net . Gurulassa kahvikassaperiaatteella toimiva [http://tko-aly.fi/toiminta/rv TKO-älyn ruokavälitys] , eli rv, auttanee pienempään nälkään.&lt;br /&gt;
&lt;br /&gt;
:Unicafen lisäksi yhden kilometrin päässä Arabiakeskuksessa opiskelijahintaisia lounaita tarjoilevat myös Katri-Antell [http://www.antell.fi/index.php?2573], Amica [http://www.amica.fi/meccala#.UDPJoeju5XE] sekä Kipsari [http://www.kipsari.com/]&lt;br /&gt;
&lt;br /&gt;
===Mitä jos sairastun?===&lt;br /&gt;
:YTHS, eli Ylioppilaiden terveydenhuoltosäätiö on jotakuinkin &amp;quot;opiskelijan työterveyshuolto&amp;quot;, ja sairastumistapauksissa kannattaa aina ensisijaisesti kääntyä sen puoleen. Ylioppilaskunnan jäsenmaksun maksamisen jälkeen opiskelijalla on oikeus käyttää kaikkia YTHS:n palveluja (terveydenhoito, hammaslääkäri, mielenterveystyö). Palveluiden käyttö on hammaslääkäriä lukuunottamatta ilmaista. Ks. [http://www.yths.fi YTHS:n sivuilta] &amp;quot;Uudelle opiskelijalle&amp;quot;-sivu. Lähin toimipiste sijaitsee Töölössä (Töölönkatu 37 A).&lt;br /&gt;
&lt;br /&gt;
:[http://www.yths.fi/yhteystiedot/toimipisteet/helsinki/kumpula YTHS:n Kumpulan palvelupiste] palvelee tiistaisin ja siellä voi käydä terveydenhoitajan puheilla tai vaikka hakea rokotuksia.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan tietojenkäsittelytieteen kursseille?===&lt;br /&gt;
:* Katso [[Kursseille ilmoittautuminen]]. &lt;br /&gt;
&lt;br /&gt;
:Ensimmäisillä kursseilla tilaa löytyy vielä kurssin alkamisenkin jälkeen, mutta myöhemmin kurssit saattavat täyttyä hyvinkin nopeasti ja sopivan harjoitusryhmän löytyminen voi olla hankalaa, mikäli ilmoittautumisesta myöhästyy reilusti. Jos siis tiedät pääseväsi vain johonkin tiettyyn harjoitusryhmään, ilmoittaudu ajoissa. Ilmo aukeaa ilmoittautumispäivänä aina kello 09:00.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan matematiikan kursseille?===&lt;br /&gt;
:Matematiikan laitoksen kursseille ja erilliskokeisiin ilmoittaudutaan [http://www.helsinki.fi/weboodi WebOodissa] valitsemalla sopiva harjoitusryhmä, ihan kuin meidänkin ilmoittautumisessamme. Yleensä vastaavan kurssin kurssisivulta löytyy suora ilmoittaumislinkki, ettei tarvitse erikseen etsiä WebOodin Ilmoittautumiset-sivun kurssilistasta. Matematiikan laitoksen ilmoittautuminen alkaa kotisivuilla lukukauden alussa ilmoitettavana päivänä. Yleensä ilmoittautuminen alkaa sen viikon alussa, jolloin luennotkin alkavat.&lt;br /&gt;
* [http://mathstat.helsinki.fi Matematiikan ja tilastotieteen laitoksen kotisivut]&lt;br /&gt;
&lt;br /&gt;
===Kenen puoleen minun pitäisi kääntyä, jos haluan sisällyttää tkt-tutkintooni aiempia opintoja tai korvata jonkun kurssin muualla suorittamallani vastaavalla kurssilla?===&lt;br /&gt;
:* Katso http://www.cs.helsinki.fi/opiskelu/muualla-suoritettujen-opintojen-hyv-ksilukeminen&lt;br /&gt;
:Reijo Sivèn (puh. 191 51382, huone D236) käsittelee laitoksella hyväksilukemiset. Vastaanottoajat löytyvät sivulta http://www.cs.helsinki.fi/people/siven.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saavatko opiskelijat laitoksen kautta kehitystyökaluja tai ohjelmistoja ilmaiseksi?=== &lt;br /&gt;
:*Kyllä, ks. [[MSDNaa ja DreamSpark]]&lt;br /&gt;
:Suosittelemme erityisesti MSDNaa:ta, josta löytyy Microsoftin kehitystyökalujen lisäksi kaikki modernit Windows-käyttöjärjestelmät (myös Windows 7). MSDNaa:han pääsee tietojenkäsittelytieteen laitoksen tunnuksilla (siis myös sivuaineilijat).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten liitytään TKO-älyn sähköpostilistalle?===&lt;br /&gt;
:TKO-älyn sähköpostilistalle saat liityttyä, kun lähetät viestin osoitteeseen majordomo@helsinki.fi (viesti menee sähköpostilista-automaatille). Jätä otsikkokenttä tyhjäksi ja laita viestiin tekstiksi subscribe tko-aly etunimi.sukunimi@cs.helsinki.fi (sähköpostiosoite voi olla myös jokin muu osoite, johon haluat listalle tulevat viestit. Listan ylläpitäjä kuitenkin suositteli käytettäväksi @cs.helsinki.fi tai @helsinki.fi -osoitetta).&lt;br /&gt;
&lt;br /&gt;
:Listalta pääsee pois lähettämällä samaiseen osoitteeseen vastaavanlaisen unsubscribe-viestin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mitä muita listoja TKO-älyllä on? / Onko TKO-älyllä jotain rekrytointilistaa?===&lt;br /&gt;
:*Rekrytointilistakin löytyy, ks. http://tko-aly.fi/yhdistys/tiedotus&lt;br /&gt;
&lt;br /&gt;
:Listoille voivat liittyä TKO-älyn jäsenet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin saan haalarit?===&lt;br /&gt;
:Haalarit voit hankkia koska tahansa, kunhan olet TKO-älyn jäsen. Kysäiset Gurulassa sattuisiko olemaan paikalla joku, jolla on avain Harmaaseen kaappiin tai vaihtoehtoisesti sovit tapaamisen jonkun avaimenhaltijan kanssa vaikkapa kyselemällä IRCissä kanavalta #tkt-fuksit2016. Avaimellisia ovat TKO-älyn hallituksen jäsenet, muun muassa osa tuutoreista.&lt;br /&gt;
&lt;br /&gt;
:Haalarit maksavat 10€, merkit 2-5€/kpl.&lt;br /&gt;
&lt;br /&gt;
===Miten voi tarkistaa omat opintosuoritukset?===&lt;br /&gt;
:Opintorekisterin voi tarkistaa [http://www.helsinki.fi/weboodi WebOodista]. Samasta paikasta voit myös tilata suoritusotteen (linkki tulostettavaan suoritusotteeseen ilmaantuu WebOodin etusivulle noin 1.5 tunnin kuluttua tilaamisesta).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan kielet?===&lt;br /&gt;
:Tutkintovaatimuksissa vaaditaan 3 op toista kotimaista ([http://www.helsinki.fi/weboodi/ eHOPSia] varten suositeltu koodi ruotsille: 99291Mat-lu) ja 4 op vierasta kieltä (eHOPS-koodi englannille: 99501Mat-lu tai tasokokeen vaatima 2 op:n täydennys esim. 995011Mat-lu). Vastaus keskittyy näihin yleisimpiin; ruotsinkielisten toinen kotimainen on suomi, ja seikkailunhaluisten vieras kieli voi olla ihan mitä vaan [https://alma.helsinki.fi/doclink/29931 mikä Kielikeskukselle tältä osin kelpaa].&lt;br /&gt;
&lt;br /&gt;
:Sekä ruotsin että englannin kohdalla on mahdollista suorittaa hela hoito (taso)kokeella. Kokeen hyväksytysti läpäisseet saavat siitä myös opintopisteensä. Englannin tasokokeen tulos voi olla &amp;quot;koko suoritus hoidettu&amp;quot;, &amp;quot;käy vielä vapaavalintainen 2 op:n kokonaisuus&amp;quot; tai &amp;quot;käy 4 op:n kurssi/kursseja&amp;quot;. [https://alma.helsinki.fi/doclink/126798 Englannin tasokokeesta on lisätietoa Almassa], mukaanlukien lista näistä vapaavalintaisista 2 op:n kokonaisuuksista. Niistä voi myös koostaa sen 4 op.&lt;br /&gt;
&lt;br /&gt;
:Entä kannattaako kokeilla tasokoetta, miten vaikea se on? Englannin tasokokeen sivulta pääsee [https://oodi-www.it.helsinki.fi/hy/opettaptied.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;OpetTap=77700350&amp;amp;haettuOrg=&amp;amp;sortJarj=&amp;amp;haettuOrg=&amp;amp;Kieli=1&amp;amp;NimiTunniste=&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Selite=&amp;amp;Sivu=&amp;amp;haettuOpas=&amp;amp;haettuOppAin=&amp;amp;haettuLk=&amp;amp;haettuOpetKiel=&amp;amp;haeOpintJaks=&amp;amp;takaisin=opintjakstied.jsp&amp;amp;OpinKohd=52739013&amp;amp;takaisin2=ilmsuor.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;Tunniste=99501&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Nimi=&amp;amp;haeOpintJaks=haeopintojaksot&amp;amp;haeVainIlmKelp=&amp;amp;haeMyosAlemOrg=&amp;amp;eHOPSpaluu=0&amp;amp;eHOPSpaluusivu= Weboodin taika-URL-sivulle] jossa pohdiskellaan tätä (linkki &amp;quot;korvaavalla kokeella&amp;quot; -&amp;gt; tenttiluettelosta &amp;quot;Faculty of Science English Language Exemption&amp;quot;). Voit myös kokeilla englannintaitojasi [http://kielikeskus.helsinki.fi/vkk/rr/itsearviointi/2.php yleisellä Dialang-kielitestillä]. Ruotsin kohdalla tilanne on useimpien kohdalla selvä, joko olet erikoinen tai menet kurssille.&lt;br /&gt;
&lt;br /&gt;
:[https://alma.helsinki.fi/doclink/95081 Muualla suoritettujen kielikurssien korvaamisesta] päättää Kielikeskus. Toisten [http://www.helsinki.fi/kksc/opetus/kieliopinnot5.html Helsingin yliopiston tiedekuntien vaatimusten mukaiset kielisuoritukset] eivät välttämättä korvaa koko suorituksia matemaattis-luonnontieteellisessä, erityisesti humanistinen ja valtiotieteellinen ovat kulkeneet jossain määrin omia polkujaan. (Vanhojen opiskelijoiden suoritusotteista löytyvistä 0 op:n ylioppilaskirjoitusten perusteella tehdyllä &amp;quot;korvaavuudella&amp;quot; voi ilmeisesti kuitata kirjallisen osuuden, jonka kaveriksi tarvitaan kuitenkin vielä 2 op suullinen suoritus.)&lt;br /&gt;
&lt;br /&gt;
:Huomaa, että niin kauan kuin Johdatus tietojenkäsittelytieteeseen -kurssiin on integroitu englannin opinnot, on vieras kieli sillä hoidettu. Näin oli asia ainakin 2010.&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan JTKT:n / TVT-ajokortin / Työvälinekurssin / Opiskelutekniikan?===&lt;br /&gt;
&lt;br /&gt;
:Katso [https://www.cs.helsinki.fi/courses/582102/2016/s/k/1 Johdatus tietojenkäsittelytieteeseen -kurssin sivulta] (vaihda mieluusti lukukausi soveltuvaksi). Yksinkertaisin vaihtoehto on käydä koko iso JTKT-paketti ja ajokorttikurssit fuksivuonna, jolloin aikataulut ovat synkassa, sinua pidetään sopivasti kädestä, ja hoidat kaikki nämä hilukurssit kerralla. &lt;br /&gt;
&lt;br /&gt;
:Jos nyt kuitenkin joudut palastelemaan: [http://www.cs.helsinki.fi/courses/581324 Tietokone työvälineenä -kurssia] järjestetään nähtävästi myös keväisin, ja sen sisältämää [http://www.cs.helsinki.fi/courses/582514 TVT-ajokorttitenttiä] järjestetään säännöllisesti. Opiskelutekniikan voi suorittaa keväisin tiedekunnan kurssina [http://blogs.helsinki.fi/mlopetuki/tehoa-opiskeluun-2-op/ Tehoa opiskeluun], muttei tietääkseni syksyllä erillisenä; jos aloitit opintosi ennen S2008, ei tätä tarvitse enää erikseen suorittaa. Jos olet pitkällä opinnoissasi, ota yhteys Patrik Floréeniin (kurssin vastuuhenkilö S2016) tarkoituksenmukaisimman suoritustavan löytämiseksi; JTKT:n voi suorittaa myös avoimen yliopiston puolella.&lt;br /&gt;
&lt;br /&gt;
===Löysin vielä jonkun muun oudon hilukurssin TKT-tutkintovaatimuksista, hä?===&lt;br /&gt;
&lt;br /&gt;
:* Kandidaatintutkielma (Tieteellisen kirjoittamisen kurssi) kattaa Äidinkielisen viestinnän 3 op ja Tutkimustiedonhaun 1 op. &lt;br /&gt;
:* Ohjelmistotuotantoprojekti kattaa Ohjelmistotuotantoprojektiin liittyvä työelämään orientointi -suorituksen, ja ammattitehtävissä työskentely on vain vaihtoehto tälle; [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena työkokemusnoppia sopii hakea opintoesimieheltä].&lt;br /&gt;
:** [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena Tähän] on tullut vuoden 2014 aikana vielä dokumentoimaton tapa saada suoritukset hyväksyttyä haastattelun perusteella. Ota yhteyttä Matti Luukkaiseen ja tiedustele asiaa häneltä.&lt;br /&gt;
:* LuK-HOPS suoritetaan säännöllisiä hyväksyttyjä opintosuunnitelmia tekemällä. Ota yhteys kurssin vastuuhenkilöön jos olet onnistunut välttämään kaikki karhukirjeet tähän asti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Olen saanut ristiriitaista tietoa tutkintovaatimuksien pykälästä §423,562. Kuka on oikeassa?===&lt;br /&gt;
:Ylin ja suurin opintopäällikkö, [http://www.cs.helsinki.fi/people/klemstro Kjell Lemström], jonka sana on laki. Jos sinulla on kirjavia suorituksia joista pitäisi saada kasaan tutkinto etkä tiedä mitä tehdä, kysy Kjelliltä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=S%C3%A4hk%C3%B6postitilit&amp;diff=8082</id>
		<title>Sähköpostitilit</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=S%C3%A4hk%C3%B6postitilit&amp;diff=8082"/>
		<updated>2016-08-15T19:20:20Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Mikä sitten on pääkäyttölupa? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jos sinulla ei ole vielä tunnuksia, katso [[Käyttölupien aktivointi]].&lt;br /&gt;
&lt;br /&gt;
== Office 365 ==&lt;br /&gt;
&lt;br /&gt;
Yliopistolla on käynnissä sähköpostisiirtymä yliopiston omasta Mappi-järjestelmästä Microsoftin tuottamaan Office 365 -järjestelmään.&lt;br /&gt;
&#039;&#039;&#039;2015 syksyllä aloittavat uudet opiskelijat saavat automaattisesti Office 365 -sähköpostijärjestelmän käyttöönsä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sähköpostiosoite:&#039;&#039;&#039; etunimi.sukunimi@helsinki.fi&lt;br /&gt;
* &#039;&#039;&#039;Kirjautumistunnus:&#039;&#039;&#039; AD-tunnus&lt;br /&gt;
* &#039;&#039;&#039;Webmail:&#039;&#039;&#039; http://www.helsinki.fi/office365/&lt;br /&gt;
* &#039;&#039;&#039;Ohjeita:&#039;&#039;&#039; http://www.helsinki.fi/helpdesk/3279 (Sähköpostiohjelmat ja mobiililaitteet)&lt;br /&gt;
* &#039;&#039;&#039;Ohjaus:&#039;&#039;&#039; [http://www.helsinki.fi/helpdesk/3282 Postinohjaus Office 365 -järjestelmästä]&lt;br /&gt;
* &#039;&#039;&#039;Roskaposti:&#039;&#039;&#039; [http://www.helsinki.fi/helpdesk/3281#roskaposti filtteröintiohjeet]&lt;br /&gt;
&lt;br /&gt;
== Mappi (Vain 2014 tai sitä aiemmin aloittaneet) ==&lt;br /&gt;
&lt;br /&gt;
Helsingin yliopiston (tietotekniikkaosaston) IMAP-posti. 2014 ja sitä aiemmin aloittaneilla HY-opiskelijoilla on tällainen. &#039;&#039;&#039;HUOM: 2015 syksyllä aloittavilla opiskelijoilla ei enää ole Mappia!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sähköpostiosoite:&#039;&#039;&#039; tunnus@mappi.helsinki.fi, etunimi.sukunimi@helsinki.fi (oletuksena, ks. ohjeet alempana)&lt;br /&gt;
* &#039;&#039;&#039;Kirjautumistunnus:&#039;&#039;&#039; AD-tunnus&lt;br /&gt;
* &#039;&#039;&#039;Webmail:&#039;&#039;&#039; http://www.helsinki.fi/webmail/ (Mappi)&lt;br /&gt;
* &#039;&#039;&#039;Postipalvelin (IMAP):&#039;&#039;&#039; posti.mappi.helsinki.fi - käytä suojattua yhteyttä (SSL/TSL)&lt;br /&gt;
* &#039;&#039;&#039;Lähtevän postin palvelin (SMTP):&#039;&#039;&#039; smtp.helsinki.fi&lt;br /&gt;
* &#039;&#039;&#039;Thunderbirdin asetukset:&#039;&#039;&#039; http://www.helsinki.fi/helpdesk/ohjeet/sahkoposti/sahkopostiohjelmat/thunderbird_asennus_asetukset_win.html&lt;br /&gt;
* &#039;&#039;&#039;Etäkäyttö:&#039;&#039;&#039; -&lt;br /&gt;
* &#039;&#039;&#039;Ohjaus:&#039;&#039;&#039; [http://www.helsinki.fi/atk/neuvonta/ohjehakemisto/postinohjaus_mapista.html Postinohjaus Mappi-järjestelmästä]&lt;br /&gt;
* &#039;&#039;&#039;Ohjeita:&#039;&#039;&#039; http://www.helsinki.fi/helpdesk/ohjeet/sahkoposti/webmail/index.html&lt;br /&gt;
* &#039;&#039;&#039;Roskaposti:&#039;&#039;&#039; [http://www.helsinki.fi/helpdesk/ohjeet/sahkoposti/webmail/roskapostin_suodatus.html filtteröintiohjeet]&lt;br /&gt;
** Roskapostiksi arveltuihin viesteihin lisätään otsake X-HY-Spam-Status (Low, Medium, High).&lt;br /&gt;
&lt;br /&gt;
== CS-posti ==&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytieteen laitoksen oma järjestelmä.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sähköpostiosoite:&#039;&#039;&#039; tunnus@cs.helsinki.fi, etunimi.sukunimi@cs.helsinki.fi (täyskaimoille laitoksen sisällä yleensä toisen nimen ensimmäinen kirjain väliin erotukseksi tyyliin etunimi.x.sukunimi@cs.helsinki.fi, tulos voi kuitenkin olla erilainen yliopisto- ja laitososoitteessa)&lt;br /&gt;
* &#039;&#039;&#039;Kirjautumistunnus:&#039;&#039;&#039; laitoksen käyttäjätunnus &lt;br /&gt;
* &#039;&#039;&#039;Webmail:&#039;&#039;&#039; http://webmail.cs.helsinki.fi &lt;br /&gt;
* &#039;&#039;&#039;Postipalvelin (POP/IMAP):&#039;&#039;&#039; mail.cs.helsinki.fi (IMAP) - käytä suojattua yhteyttä (SSL/TSL)&lt;br /&gt;
** Thunderbird laitoksen koneella tai pine laitoksen palvelimilla on valmiiksi aseteltu käyttämään tätä.&lt;br /&gt;
* &#039;&#039;&#039;Etäkäyttö:&#039;&#039;&#039; cs.helsinki.fi -palvelimet, esim. melkki.cs.helsinki.fi&lt;br /&gt;
* &#039;&#039;&#039;Ohjaus:&#039;&#039;&#039; Aseta [http://mail.cs.helsinki.fi/sqwebmail SqWebMailista filtteri], ks. alempi ohje. &lt;br /&gt;
* &#039;&#039;&#039;Ohjeita:&#039;&#039;&#039; http://www.cs.helsinki.fi/tietotekniikka/s-hk-posti&lt;br /&gt;
* &#039;&#039;&#039;Roskaposti:&#039;&#039;&#039; http://www.cs.helsinki.fi/compfac/roskaposti.html&lt;br /&gt;
** Roskapostiksi arvatut viestit menevät suoraan Junk_E-mail-kansioon, josta ne poistuvat automaattisesti 30 päivän kuluttua.&lt;br /&gt;
** Lisäksi &amp;quot;ehkä roskapostia&amp;quot; -viestit voi ohjata itse filtterein pois Inboxista, &amp;quot;X-Bogosity: Unsure&amp;quot; -otsakkeen perusteella.&lt;br /&gt;
&lt;br /&gt;
== Mikä sitten on pääkäyttölupa? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pääkäyttölupa on yhtä kuin AD-lupa.&#039;&#039;&#039; Sillä kirjaudutaan useimpiin Helsingin yliopiston verkkopalveluihin.&lt;br /&gt;
&lt;br /&gt;
* Esimerkiksi Flamma  (http://flamma.helsinki.fi/) ja WebOodi (http://www.helsinki.fi/weboodi/) käyttävät siis juurikin pääkäyttölupaa.&lt;br /&gt;
&lt;br /&gt;
== Missä sähköpostiosoitteeni näkyy? ==&lt;br /&gt;
&lt;br /&gt;
* http://www.helsinki.fi/mainari/&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Tietojenk%C3%A4sittelytieteen_opiskelusta&amp;diff=8081</id>
		<title>Tietojenkäsittelytieteen opiskelusta</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Tietojenk%C3%A4sittelytieteen_opiskelusta&amp;diff=8081"/>
		<updated>2016-08-15T19:19:51Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Kursseille ilmoittautuminen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tietojenkäsittelytiede ==&lt;br /&gt;
&lt;br /&gt;
=== Tietojenkäsittelytiede tieteenä ===&lt;br /&gt;
&lt;br /&gt;
Yleensä tuoreella tietojenkäsittelytieteen opiskelijalla, käpistelijällä, ei ole juuri minkäänlaista käsitystä siitä, mitä tietojenkäsittelytiede, TKT, tosiasiassa on. Moni kuvittelee tietojenkäsittelytieteen olevan ohjelmointia, mitä se ei suinkaan pelkästään ole. Ohjelmointi on TKT:ssä vain yksi - joskin tärkeä - työväline.&lt;br /&gt;
&lt;br /&gt;
Opinto-opas yrittää kuvailla tietojenkäsittelytiedettä, mutta käytännössä vain alan opiskeleminen auttaa hahmottamaan, mistä todella on kysymys. Eräs tyypillinen yhden virkkeen tiivistelmä on, että tietojenkäsittelytieteessä tutkitaan, mitä voidaan automatisoida tehokkaasti. Hieman pidemmin ilmaistuna tietojenkäsittelytieteessä ollaan kiinnostuneita siitä, mihin voidaan löytää luotettava, tehokas ja mahdollisimman automatisoitu ratkaisu.&lt;br /&gt;
&lt;br /&gt;
Matematiikassa riittää todistaa, että ongelmaan on olemassa ratkaisu. Teoreettisessa tietojenkäsittelytieteessä tämä ratkaisu on lisäksi pystyttävä löytämään tehokkaasti. Tietojenkäsittelytieteen sovelluksissa, esimerkiksi ohjelmistotuotannossa, tämäkään ei riitä, vaan tehokas menetelmä on lisäksi pystyttävä toteuttamaan luotettavaksi. Ehkäpä siis voidaankin sanoa, että tietojenkäsittelytieteessä on kysymys luotettavien ja tehokkaiden ratkaisuiden löytämisestä erilaisiin ongelmiin.&lt;br /&gt;
&lt;br /&gt;
Suurin osa tietotekniikka-alan töistä liittyy tavalla tai toisella ohjelmistokehitykseen, mikä tarjoaa mitä erilaisimpia työmahdollisuuksia esimerkiksi ohjelmoinnista, ohjelmistosuunnittelusta tai tietojenkäsittelyteoriasta kiinnostuneille. Tietojenkäsittelytieteen laitos tarjoaa monenlaisia kursseja mm. kaikista edellä mainituista tietojenkäsittelyn osa-alueista. Käytännössä tietojenkäsittelytiede antaa valmiudet mille tahansa alalle, jossa ongelmanratkaisu on keskeisessä asemassa. Nykyongelmien ratkaisuun vieläpä useimmiten liittyy tavalla tai toisella tietotekniikka.&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytiede on informaation tuottamiseen ja koneelliseen käsittelyyn perustuva ala. Tietojenkäsittelytieteelliselle ajattelulle on tyypillistä, että ongelmat jaetaan osaongelmiin, jotka ovat tarpeeksi yksinkertaisia ratkaistavaksi. Tämä saattaa kuulostaa suoraviivaiselta, mutta oppiessaan todella soveltamaan tätä ajattelutapaa myös arkipäivän elämässä, huomaa saaneensa jotain todella arvokasta. Monimutkaisen kokonaisuuden hallinta ja olennaisen hahmottaminen ovat keskeisimpiä taitoja tietojenkäsittelytieteessä.&lt;br /&gt;
&lt;br /&gt;
TKT:n opiskelussa tekijän oma osallistuminen on ensisijaisen tärkeää. Tietojenkäsittelytiedettä voidaan oikeutetusti pitää nykyajan käsityönä. Tietojenkäsittelytieteilijöiden harrastamalla satunnaisella vitsailulla humanististen tieteiden opiskelijoita kohtaan on myös perää, sillä tietojenkäsittelytieteen opiskelumenetelmät eivät voisi kirjatenteistä oikeastaan kauempana olla. Kurssissa epäonnistuneelle ei useimmiten voi antaa muuta neuvoa, kuin käskeä tekemään enemmän harjoituksia. Keskeistä on, että TKT:n opiskelussa esiin tulevia asoita pitää ymmärtämisen lisäksi osata soveltaa. Opetettavien asioiden ulkoa opiskelu ei riitä, joskin tarkka perustotuuksien osaaminen auttaa opiskelun eri vaiheissa.&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelyn ongelmiin on harvoin olemassa yksittäisiä oikeita ratkaisuja; ratkaisutapoja on useita ja vastaukset voivat olla hyvinkin erilaisia. Sen takia tietojenkäsittelyssä ei ole läheskään aina olemassa oikeaa vastausta tuottavaa kaavaa tai prosessia, jolla ongelma pystytään ratkaisemaan. Ongelmien ratkaisemisen tapauskohtaisuus johtuu osaksi siitä, että tietojenkäsittelytiede on nuori tieteenala ja osaksi siitä, että tietojenkäsittelytieteen ongelmat esiintyvät eri paikoissa eri muodossa. Monien mielestä mielenkiintoisia ovat myös ongelmat, joihin ei ratkaisua, ainakaan toistaiseksi, ole olemassa.&lt;br /&gt;
&lt;br /&gt;
=== Teoriaa ja käytäntöä ===&lt;br /&gt;
&lt;br /&gt;
Helsingin yliopiston tietojenkäsittelytieteen laitoksen tutkintovaatimukset ovat alan teoreettisimmat Suomen monialaisissa yliopistoissa. Varsin yleistä onkin kuulla vaatimuksia, että opetuksessa pitäisi vähentää teoriaa ja lisätä käytännön osaamista. Tällaiset vaatimukset eivät ole ominaisia vain tietojenkäsittelytieteelle tai Helsingin yliopiston tietojenkäsittelytieteen laitokselle. Vastaavaa kuulee miltei kaikkialla ja usein nimenomaan suhteellisen nuorten tieteenharjoittajien suusta. Kun opinnoissa on sitten edetty pidemmälle, nämä vaatimukset usein laantuvat.&lt;br /&gt;
&lt;br /&gt;
Kysymys lienee siitä, että teoriasta on usein vaikea saada otetta, jos ei ole myös riittävää käytännön osaamista perspektiiviä antamassa. Toisaalta kysymys on usein myös vääristä odotuksista siitä, mistä yliopisto-opiskelussa oikein on kysymys. Yliopisto ei opeta suoraan työelämässä tarvittavia taitoja vaan ennemminkin valmiuksia, joilla sellaiset taidot voi hankkia. Vaikka lyhyellä aikavälillä käytännön taitojen opettelu olisikin hyödyllisempää, vanhenevat sellaiset taidot pian nopeasti kehittyvillä aloilla. Riittävät teoreettiset valmiudet sen sijaan helpottavat kehityksen kelkassa pysymistä, kun uusia asioita ei tarvitse opetella alusta alkaen, vaan ne tunnistaa toimivan jonkin yleisemmän periaatteen mukaisesti. Tietojenkäsittelytieteen perimmäiset ongelmat eivät ole juurikaan, jos ollenkaan, aikojen saatossa muuttuneet.&lt;br /&gt;
&lt;br /&gt;
Moni aloitteleva opiskelija hieman virheellisesti ajattelee, että vaikeimpia ongelmia ovat juuri matemaattiset pulmat tai tekniset rajoitteet. Esimerkiksi ohjelmistotuotannossa keskeisimmät ongelmat liittyvät ohjelmistoprosesseihin, niiden johtamiseen ja asiakkaan kanssa toimimiseen. Laitokselle ei tosin kannata tulla silläkään asenteella, ettei &amp;quot;käpistelijän tarvitse osata ohjelmoida&amp;quot;. Tällaisille henkilöille oikeampi paikka lienee jokin kauppakorkeakoulu.&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytieteen tutkintovaatimuksissa ei ole käytännön ohjelmointi- tai muiden taitojen opettelua alun jälkeen. Opiskelijan oletetaan itse täydentävän tällaisia taitojaan tarpeen mukaan, vaikka tätä ei missään suoraan mainitakaan. Uuden ohjelmointikielen opettelu ei loppujen lopuksi ole kovinkaan suuri ponnistus, kunhan ohjelmointikokemus hieman karttuu. Tämä taas onnistuu paremmin työelämässä tai harrastusprojekteissa kuin tekemällä harjoitustyötä harjoitustyön perään. Kiinnostus opiskelualaa kohtaan myös opintojen ulkopuolella lienee asia, jota yliopisto-opiskelijalta voidaan edellyttää. Ilman sitäkin tutkinnon voi toki suorittaa, mutta silloin taidot jäävät melko vajavaisiksi. Tietojenkäsittelytieteen opiskelijan opiskelun ja vapaa-ajan raja on useimmiten hyvin häilyvä.&lt;br /&gt;
&lt;br /&gt;
=== Matematiikkaa ja tilastotiedettä ===&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytieteen pääaineopiskelija joutuu lukemaan pakollisena sivuaineena matematiikkaa tai menetelmätieteitä (matematiikkaa sekä tilastotiedettä). Osittain tämä johtuu historiallisista syistä - tietojenkäsittelytiede erkani matematiikasta itsenäiseksi tieteeksi vasta joitain vuosikymmeniä sitten. Osittain taas kysymys on siitä, että tietojenkäsittelytiedettä opiskeltaessa ja harjoitettaessa välillä tarvitsee matematiikkaa.&lt;br /&gt;
&lt;br /&gt;
Toisin kuin vaikkapa fyysikot, käpistelijät opiskelevat matematiikkaa enimmäkseen samasta syystä kuin matemaatikot itsekin: Oppiakseen matemaattista ajattelua eikä niinkään menetelmiä ja työkaluja. Vaikka lähes mille tahansa matematiikan haaralle löytyy sovelluskohteita tietojenkäsittelytieteestä, on olennaisempaa kuitenkin tulla toimeen formalismien ja matemaattisten todistusten kanssa. Formaali päättely, matemaattinen todistaminen ja ohjelmointi ovat kaikki loppujen lopuksi varsin samankaltaisia asioita, vaikka yhteyttä niiden välillä voikin olla vaikea nähdä ennen kuin on tutustunut kaikkiin näihin pintaa syvemmältä.&lt;br /&gt;
&lt;br /&gt;
Matematiikan kursseista Johdatus yliopistomatematiikkaan on kaikille pääaineopiskelijoille pakollinen. Logiikan, todennäköisyyslaskennan ja tilastollisen päättelyn opiskelu on hyödyllistä, sillä ne tarjoavat välineitä ajatteluun ja päättelyyn. Kurssit &amp;quot;Analyysi I&amp;quot; ja &amp;quot;Analyysi II&amp;quot; sekä &amp;quot;Lineaarialgebra ja matriisilaskenta I&amp;quot; taas ovat hyödyllisiä lähinnä siksi, että ne ovat matematiikan pääaineopiskelijoille pakollisia ensimmäisen vuoden kursseja. Tämän vuoksi niillä opetetaan kurssien varsinaisen sisällön lisäksi myös yliopistomatematiikan opiskelua. Lisäksi niiden tiedot saatetaan olettaa tunnetuiksi myöhemmillä kursseilla, vaikka tätä ei olisi erikseen mainittukaan, koska &amp;quot;kaikkihan ne ovat kuitenkin käyneet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Tietojenkäsittelytieteen laitos ==&lt;br /&gt;
&lt;br /&gt;
=== Opetus- ja tietokonetilat ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;quot;Ylläpeto asuu mikroluolassa ja tuskailee tietoturhan kanssa.&amp;quot;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytieteen laitos sijaitsee Exactumissa. Exactumin huoneet on numeroitu loogisesti siten, että huoneen tunnus koostuu rakennuksen siiven kirjaimesta, kerroksesta sekä huoneen numerosta. Esimerkkinä numeroinnissa A232, jossa A = kerroksen A-osa, 2 = toinen kerros ja 32 = huoneen numero. Numerointi on kuitenkin siinä mielessä harhaanjohtava, ettei pelkkä numero (esim. 232) vielä yksilöi huonetta, vaan eri siivissä voi olla numeroltaan samoja huoneita (esim. A232 ja B232). Mikäli et löydä jotain paikkaa laitokselta, voit kysyä ohjeita muilta tilojen käyttäjiltä tai rakennuksen vahtimestareilta. Vahtimestarien lasikopin löytää Exactumin pääovien vierestä.&lt;br /&gt;
&lt;br /&gt;
Exactumissa on auditorioita, muutaman kymmenen ihmisen opetussaleja sekä laitoksen ja yliopiston tietotekniikkaosaston mikroluokkia. Laitoksen luennot pidetään joko auditorioissa tai suuremmissa opetussaleissa. TKT:n kursseilla on lähes aina pienryhmäopetusta. Osa pienryhmäopetuksesta järjestetään laitoksen mikroluokissa. Yleisesti mikroluokat ovat hyvä resurssi opiskelijoille, koska niissä on tarjolla tehokkaita ja ylläpidettyjä tietokoneita.&lt;br /&gt;
&lt;br /&gt;
=== Käyttäjätunnukset ===&lt;br /&gt;
&lt;br /&gt;
Kaikki pääaineopiskelijat saavat käyttäjätunnuksen laitoksen mikroverkkoon ja näin ollen pääsevät käyttämään laitoksen mikroluokkien tietokoneita. Tunnuksia myöntää ylläpito, joka majailee Exactumin 2. kerroksen A-siivessä. Myös sivuaineopiskelijat saavat pyytäessään käyttäjätunnuksia muun muassa kurssien harjoitustöiden tekemistä varten. Laitoksen käyttäjätunnuksen hankkimisohjeet pää- ja sivuaineopiskelijoille löytyvät osoitteesta: http://www.cs.helsinki.fi/tietotekniikka/k-ytt-luvat.&lt;br /&gt;
&lt;br /&gt;
Kaikissa opiskelijoiden käytössä olevissa koneissa on Linux-käyttöjärjestelmä. Osassa koneista on myös Windows 7 (joissain vielä Windows XP). Käyttöjärjestelmät on asennettu siten, että käyttäjät pääsevät käsiksi verkkolevyllä sijaitseviin tiedostoihinsa sekä Windowsista että Linuxista.&lt;br /&gt;
&lt;br /&gt;
=== Kirjastoista ===&lt;br /&gt;
&lt;br /&gt;
Kumpulassa on tiedekirjasto, jonne pääsee Physicumin toisen kerroksen kautta, kahvilan yläpuolelta. Tiedekirjastossa on laitoksen kurssikirjoja ja muuta alaan liittyvää kirjallisuutta. Osa kirjaston kirjoista on niteitä, joita voi lukea kirjastossa, mutta joita ei lainata ulos kirjastosta. Kirjastokorttina toimii Lyyra, joka pitää rekisteröidä Helsingin yliopiston kirjastojen asiakastietokantaan esittämällä henkilötodistus ja Lyyra-kirjastossa. Kirjaston lainoja voi uusia Helka-järjestelmän nettisivuilla. Lainojen uusintasivuille pääsee esimerkiksi osoitteesta http://www.helsinki.fi/kirjastot/.&lt;br /&gt;
&lt;br /&gt;
Helka-järjestelmän sivuilla on hakutoiminto, jolla voi etsiä kirjoja yliopiston kirjastoista. Vaikka Helkan hakutoiminto kertoisi, että kirjasta ei ole niteitä tarjolla, kirjasta saattaa silti olla olemassa lainakappaleita kirjaston hyllyssä. Tämä pätee erityisesti Kaisaniemessä sijaitsevaan opiskelijakirjastoon, jossa samoista, pääsääntöisesti sivuainekurssien, kirjoista on olemassa useita lainakappaleita. Kirjoja, joita ei löydy pienistä kirjastoista, kannattaa kysyä niiden kirjastonhoitajilta, koska osa kirjoista voi olla kirjastonhoitajilta pyydettäessä lainattavia. Opiskelijahuone Gurulassa on myös oma kirjalainauksensa.&lt;br /&gt;
&lt;br /&gt;
=== Muoviavain ===&lt;br /&gt;
&lt;br /&gt;
Opiskelijat voivat saada 25 euron panttia vastaan käyttöönsä ns. muoviavaimen eli magneettiavaimen, jolla pääsee osaan laitoksen mikroluokista ja keskustan ATK-asemille aukioloajoista riippumatta. Tietojenkäsittelytieteen laitoksen myöntämällä opiskelija-avaimella pääsee ympärivuorokautisesti myös opiskelijahuone Gurulaan.&lt;br /&gt;
&lt;br /&gt;
Muoviavainta anottaessa on täytettävä hakulomake, joka löytyy laitoksen kotisivuilta, vahtimestarilta tai opintoneuvonnasta. Tarkemmat ohjeet muoviavaimen hakemiseen ja luvan myöntäjät löytyvät osoitteesta http://www.cs.helsinki.fi/opiskelu/y-k-ytt-tilojen-muoviavaimet-0.&lt;br /&gt;
&lt;br /&gt;
Lisätietoa tietotekniikkakeskuksen yökäyttötiloista löytyy täältä: https://flamma.helsinki.fi/fi/tietotekniikantyoskentelytilat/yokaytto&lt;br /&gt;
&lt;br /&gt;
=== Opiskelijahuone Gurula ===&lt;br /&gt;
&lt;br /&gt;
Laitoksen opiskelijahuone Gurula sijaitsee Exactumin pohjakerroksessa. Sen osoite on DK115. Gurula on myös TKO-älyn, tietojenkäsittelytieteen opiskelijoiden ainejärjestön, koti, päämaja ja vaelluskohde, jonne opiskelijat vaeltavat toisinaan myös vapaa-aikanaan(!). Niinpä siellä voi esimerkiksi liittyä ainejärjestön jäseneksi tai ostaa TKO-äly-tuotteita, kuten haalarit, haalarimerkkejä, laulukirjan tai aina yhtä tyylikkään mustan TKO-äly-t-paidan. Gurulassa toimii TKO-älyn ympärivuorokautinen ruokavälitys, joka on nälkäisen opiskelijan pelastus silloin, kun Unicafet eivät täytä asiakkaittensa vatsoja.&lt;br /&gt;
&lt;br /&gt;
Gurulaan tilataan lehtiä, kuten Aku Ankka ja Hesari. Lehtien lisäksi Gurulassa on usein ihmisiä, joita kiinnostaa esimerkiksi pelata Gurulassa olevia lautapelejä. Gurulan vieressä yökäytössä olevalla alueella on laitoksen ja tietotekniikkaosaston mikroluokkia sekä WC, mikä tarjoaa mahdollisuuden viettää aikaa laitoksella riippumatta turhan paljon vuorokauden vaihtumistahdista ulkomaailmassa.&lt;br /&gt;
&lt;br /&gt;
== Laitoksen ja kurssien WWW-sivut ==&lt;br /&gt;
&lt;br /&gt;
TKT-laitoksen www-sivut osoitteessa http://www.cs.helsinki.fi/ ovat hyvä tietolähde kaikkeen, mikä liittyy tietojenkäsittelytieteen opetukseen. Valitettavasti ajankohtaisen tiedotuksen osalta laitoksen sivut ovat edelleen hieman aikaansa jäljessä. Laitoksen opetustarjonta löytyy webistä osoitteesta http://www.cs.helsinki.fi/opiskelu/.&lt;br /&gt;
&lt;br /&gt;
Luennoijien ylläpitämät kurssien kotisivut sisältävät kursseihin liittyvää hallinnollista tietoa (esim. koetuloksia ja mallivastauksia) sekä luento- ja oheismateriaalia. Kurssien kotisivuilla on mm. luentokalvoja, kirjallisuusviitteitä ja artikkeleja. Tenttien tulokset julkaistaan pääsääntöisesti laitoksen sisäverkossa, johon pääsee laitoksen käyttäjätunnuksilla. Koetulokset linkitetään usein kurssien kotisivuille, joista siirtymisen jälkeen kysytään käyttäjätunnusta laitoksen verkkoon. Koetulokset julkaistaan myös niille omistetuilla ilmoitustauluilla kakkoskerroksen käytävällä. Kurssisivuilta pitäisi löytyä kaikki kurssiin liittyvä ajankohtainen informaatio - ei kuitenkaan kannata satavarmuudella luottaa että näin aina tapahtuisi. Sähköpostin käyttö reaaliaikaisena kommunikointivälineenä toimii laitoksella erittäin hyvin. Luennoisijat ja tuntiopettajat vastaavat sähköposteihin pääsääntöisesti saman päivän aikana. &lt;br /&gt;
&lt;br /&gt;
=== Opiskelu-pääsivu ===&lt;br /&gt;
&lt;br /&gt;
Sivulta löytyy linkki kaikkeen tarpeelliseen, jos vain osaa hakea. Opinto-opas, &#039;&#039;&#039;mallilukujärjestys&#039;&#039;&#039;, opetusohjelma, koepäivät, opintoneuvonnan päivystysajat jne.&lt;br /&gt;
&lt;br /&gt;
=== Opiskelijoiden sähköpostilista ===&lt;br /&gt;
&lt;br /&gt;
Ohjeet listalle liittymiseen löytyvät osoitteesta http://www.cs.helsinki.fi/opiskelu/opiskelijoiden-s-hk-postilista.&lt;br /&gt;
&lt;br /&gt;
=== Kursseille ilmoittautuminen ===&lt;br /&gt;
&lt;br /&gt;
Katso [[Kursseille ilmoittautuminen]].&lt;br /&gt;
&lt;br /&gt;
=== Kurssipalaute ===&lt;br /&gt;
&lt;br /&gt;
Kurssipalautetta kannattaa antaa jokaisesta kurssista, jolla tulee opintojensa aikana käytyä. Palautetta kannattaa antaa jo kurssin kuluessa, jos kurssin järjestelyissä tms. tuntuu olevan jotain huomautettavaa. Kurssipalautelomake löytyy laitoksen opiskelu-pääsivulta. Annettu palaute lähetetään edelleen laskariohjaajille, luennoijille ja laitoksen johtoportaalle. Palautteen antaminen ei ole koskaan turhaa! Laitoksella toimii opiskelijoiden ja laitoshenkilökunnan yhteistyö opetuksen kehittämisen suhteen erinomaisesti. TKO-älyn opintovastaavien puoleen voi ja tulee kääntyä epäkohdissa koska tahansa. Opintovastaavat ovat saaneet toiminnastaan paljon kiitosta laitokselta. Laitos on lisäksi palkittu opetuksen kehittämisen ansiosta lukuisin eri palkinnoin.&lt;br /&gt;
&lt;br /&gt;
=== Muista erityisesti ===&lt;br /&gt;
&lt;br /&gt;
Painettua opinto-opasta vastaava opinto-oppaan online-versio ja ajan tasalla oleva opetusohjelma, jota päivitetään painetun oppaan jo ilmestyttyä.&lt;br /&gt;
&lt;br /&gt;
Helsingin yliopiston tietojenkäsittelytieteen uusille opiskelijoille suunnattu Fuksiwiki, josta löytyy näiden tekstien lisäksi paljon muuta käytännönläheistä informaatiota. http://fuksiwiki.tko-aly.fi.&lt;br /&gt;
&lt;br /&gt;
Rakkaan ainejärjestömme TKO-älyn nettisivut, jotta et missaisi niitä &#039;hieman&#039; rennompia tapahtumia. Sivujen osoite on http://www.tko-aly.fi/.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Päivitetty 2011, Anssi Syrjäsalo&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Yliopisto%E2%80%93suomi_-sanakirja&amp;diff=8080</id>
		<title>Yliopisto–suomi -sanakirja</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Yliopisto%E2%80%93suomi_-sanakirja&amp;diff=8080"/>
		<updated>2016-08-15T19:18:41Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Opiskelu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nimitykset (ei välttämättä negatiivisia)==&lt;br /&gt;
* käpistelijä = tietojenkäsittelytieteen opiskelija (käpistellä = opiskella tietojenkäsittelytiedettä pää- tai sivuaineena)&lt;br /&gt;
* maagikko = matematiikan opiskelija, ystävämme (joskus myös muodossa &#039;matruusi&#039; &amp;lt; Matrix ry)&lt;br /&gt;
* teekkari = tekniikan ylioppilas&lt;br /&gt;
* kylteri = kauppatieteiden ylioppilas&lt;br /&gt;
* fuksi = ensimmäisen vuoden opiskelija&lt;br /&gt;
* jäärä = n:nnen vuoden opiskelija, ei suostunut valmistumaan tavoiteajassa&lt;br /&gt;
&lt;br /&gt;
==Opiskelu==&lt;br /&gt;
* HY = Helsingin yliopisto&lt;br /&gt;
* TKT = tietojenkäsittelytiede (TKTL: tietojenkäsittelytieteen laitos)&lt;br /&gt;
** Alko-linja, Alko = Algoritmien ja koneoppimisen erikoistumislinja&lt;br /&gt;
** Hajatili = Hajautettujen järjestelmien ja tietoliikenteen erikoistumislinja&lt;br /&gt;
** Ohjä-linja, Ohjä = Ohjelmistojärjestelmien erikoistumislinja&lt;br /&gt;
* ilmo = yliopiston kurssi-ilmoittautumisjärjestelmä &lt;br /&gt;
** ilmota = ilmoittautua kurssille/kursseille&lt;br /&gt;
* oodi = WebOodi, Helsingin yliopiston järjestelmä. Kurssisuorituksen näkyvät täällä ja opintosuunnitelma laaditaan tänne. http://www.helsinki.fi/weboodi&lt;br /&gt;
* noppa = opintopiste (yksi opintopiste vastaa suunnilleen 0,5 opintoviikkoa - itse opintoviikkoja ei enää käytetä juuri missään)&lt;br /&gt;
* laskarit = laskuharjoitukset, käytetään yleisesti minkä tahansa kurssin harjoitusryhmätunneista&lt;br /&gt;
* paja, pajakurssi = harjoitukset, jotka tehdään paikan päällä mikroluokassa erityisellä pajametodilla&lt;br /&gt;
** voi tarkoittaa myös viikottaisia harjoitustehtäviä&lt;br /&gt;
* assari = harjoitusryhmän pitäjästä käytetty yleisesti käytetty nimitys (alkujaan sanasta assistentti, yliopiston virka)&lt;br /&gt;
* labra = harjoitustyökurssi, juontaa nimensä muista tiedekunnan (fysiikka, kemia) laboratorio-kursseista&lt;br /&gt;
* HOPS/hopsi = henkilökohtainen opintosuunnitelma (LuK-HOPS-kurssi)&lt;br /&gt;
* kandi = kandidaatti, pakollinen välitutkinto ennen maisteria, alempi korkeakoulututkinto. Meillä &amp;quot;luonnontieteiden kandidaatti&amp;quot;.&lt;br /&gt;
** voi tarkoittaa myös kyseisen tutkinnon suorittanutta henkilöä&lt;br /&gt;
* semma = seminaari, maisteriopintojen juttuja&lt;br /&gt;
* pruju/matsku = epämääräinen (nidottu) kasa paperia, josta sinun oletetaan oppivan kurssin asiat, tunnetaan myös nimellä kurssimoniste.&lt;br /&gt;
* appro, cumu, lavi = vanhan opintojärjestelmän mukaisia oppimääriä (approbatur, cum laude, laudatur), vastaavat nykyisiä perus-, aine- ja syventäviä opintoja. Vanhemmat opiskelijat saattavat vielä näitä käyttää.&lt;br /&gt;
* lipasto = (koko) yliopisto&lt;br /&gt;
* lafka = laitos, yleensä puheessa oma.&lt;br /&gt;
&lt;br /&gt;
==Ainejärjestösanastoa==&lt;br /&gt;
* Tekis = TKO-äly, ainejärjestömme&lt;br /&gt;
* aktiivi = henkilö, joka on aktiivisesti mukana oman ainejärjestönsä toiminnassa&lt;br /&gt;
* halko = Hallituksen kokous, tyypillisesti tarkoitetaan oman ainejärjestön sellaista&lt;br /&gt;
* HYY = Helsingin yliopiston ylioppilaskunta&lt;br /&gt;
* HYAL = Helsingin yliopiston ainejärjestöläiset eli HYAL ry., kokoaa yhteen ainejärjestöaktiiveja eri tiedekunnista&lt;br /&gt;
* sitsit = Akateemiset pöytäjuhlat. Pukeudutaan hienosti ja syödään hienosti. Lauletaan paljon.&lt;br /&gt;
* vujut = Akateemiset vuosijuhlat. Opiskelijajärjestöjen vuoden kohokohta, vielä hienompi tapahtuma kuin sitsit.&lt;br /&gt;
* excu = ekskursio, tutustumisretki esim. potentiaaliseen työantajayritykseen tai muuhun kulttuurilaitokseen (esim. leffateatteri, museo, Fazer)&lt;br /&gt;
* rv/ärvee = ruokavälitys ja virtuaalikassa Gurulassa&lt;br /&gt;
** depota/depositata = laittaa rahaa rv:hen&lt;br /&gt;
* Readme/redari/redis = TKO-älyn ainejärjestölehti, ilmestyy nelisen kertaa vuodessa&lt;br /&gt;
&lt;br /&gt;
==Paikkoja==&lt;br /&gt;
===[http://www.helsinki.fi/kumpula/kuvat/Kumpulakartta.pdf Kumpulassa]===&lt;br /&gt;
* Exactum = Uusi kotisi. Exactumissa majailee tietojenkäsittelytieteen laitoksen lisäksi matemaatikot ja seismologian laitos.&lt;br /&gt;
* Physicum = Exactumin viereinen (ja siihen yhdyskäytävällä yhdistetty) rakennus. Physicumin kautta pääsee kirjastoon ja lisäksi Unicafe tarjoaa patonkia ja panineja.&lt;br /&gt;
* Chemicum = Chemicumissa majailevat kemistit (yllättävää). Lisäksi sieltä löytyy suurempi ja paremmin avoinna oleva Unicafe.&lt;br /&gt;
* Kartano = Kumpulan kartano Jyrängöntiellä, kasvitieteellisen puutarhan alueella.&lt;br /&gt;
* VAK = Väinö Auerin katu, pääosin HOASin asuntoja Kumpulan kampuksen välittömässä läheisyydessä.&lt;br /&gt;
&lt;br /&gt;
===[http://cs.helsinki.fi/contact/exactum-kartat.html Laitoksella]===&lt;br /&gt;
* Gurula = tietojenkäsittelytieteen opiskelijahuone Exactumin kellarikerroksessa (huoneessa DK115)&lt;br /&gt;
* Navetta = Gurulan vieressä sijaitseva 24h -tietokoneluokka, yleinen opiskelutila (DK110)&lt;br /&gt;
* Haxxorointiluokka / Ninjaluokka = Navetan vieressä sijaitseva 24h -ryhmätyötila (DK108)&lt;br /&gt;
* Komero = matemaatikkojen opiskelijahuone Exactumin kolmannessa kerroksessa (C338)&lt;br /&gt;
&lt;br /&gt;
===Järjestötiloja===&lt;br /&gt;
* Uusi = Uusi Ylioppilastalo, Mannerheimintie 5, Vanhan Ylioppilastalon vieressä&lt;br /&gt;
* Vanha = Vanha Ylioppilastalo, Mannerheimintie 3, Uuden Ylioppilastalon vieressä&lt;br /&gt;
* Alina / Alina-sali = suosittu biletila (sitsit) Uudella Ylioppilastalolla (Mannerheimintie 5 A, 3. krs.)&lt;br /&gt;
* Alasauna = Uuden Ylioppilastalon kellarissa sijaitseva pienehkö saunatila (sisäänkäynti Mannerheimintie 5 B:stä)&lt;br /&gt;
* Domma = Domus Academica, Helsingin yliopiston ylioppilaskunnan opiskelija-asuntola&lt;br /&gt;
* Leppis / Ilotalo = Leppätalo, Domus Gaudium, kolmas ylioppilastalo. Etu-Töölössä Domus Academican välittömässä läheisyydessä&lt;br /&gt;
* Kertsi / Klusteri / Klurre / Christina Regina = Matlu ry:n kerhohuone osoitteessa Leppäsuonkatu 11, on myös TKO-älyn käytössä mutta sisään ei pääse ilman avainbittiä joka on tietyillä ainejärjestöaktiiveilla.&lt;br /&gt;
* Sivistys / Kattosauna = Leppätalon ylimmässä kerroksessa sijaitseva sauna (portaat ylös Leppäsuonkatu 11:sta puoleisen sisäänkäynnin vierestä)&lt;br /&gt;
* Ida = Ida Aalbergin tie 1:ssä Pohjois-Haagassa oleva sauna jossa TKO-älyn saunaillat useimmiten järjestetään&lt;br /&gt;
&lt;br /&gt;
===Muualla Helsingissä===&lt;br /&gt;
* UKK = [http://fi.wikipedia.org/wiki/Urho_Kekkosen_muistomerkki Urho Kekkosen muistomerkki] (tässä yhteydessä)&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=K%C3%A4ytt%C3%B6lupien_aktivointi&amp;diff=8079</id>
		<title>Käyttölupien aktivointi</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=K%C3%A4ytt%C3%B6lupien_aktivointi&amp;diff=8079"/>
		<updated>2016-08-15T19:18:16Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Kertauksena: Millä kirjaudun mihinkin? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Syksyllä aloittavien uusien opiskelijoiden käyttölupien aktivointi onnistuu heti kun henkilö on valittu Helsingin yliopistoon ja tiedot löytyvät rekistereistä. &#039;&#039;&#039;HUOM! Jos olet lykännyt opiskelujasi ja sinulla ei vielä ole tunnusta, maksa ensin HYY-maksu ja ilmoittaudu läsnäolevaksi (http://hyy.fi/maksu) tai asioi Pekka Niklanderin luona (ks. ongelmatilanteet).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Järjestelmät==&lt;br /&gt;
&#039;&#039;&#039;Tietojenkäsittelytieteen uudella opiskelijalla on automaattisesti käyttölupa kahteen eri järjestelmän:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Pääkäyttölupa&#039;&#039;&#039;, eli AD-lupa, eli Helsingin yliopiston järjestelmien käyttölupa&lt;br /&gt;
# &#039;&#039;&#039;CS-lupa&#039;&#039;&#039; eli tietojenkäsittelytieteen laitoksen järjestelmien käyttölupa &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näiden funktiot ovat seuraavat:&#039;&#039;&#039;&lt;br /&gt;
* Pääkäyttöluvalla kirjaudutaan koko Helsingin yliopiston laajuisiin web-järjestelmiin (esim. WebOodi).&lt;br /&gt;
* Laitoksen CS-tunnuksella kirjaudutaan laitoksen luokkien koneille ja laitoksen omiin tietojärjestelmiin.&lt;br /&gt;
* Kurssi-ilmoittautumisjärjestelmään (WebOodiin) kirjaudutaan aina pääkäyttöluvalla.&lt;br /&gt;
&lt;br /&gt;
Kaikissa käyttöluvissa käyttäjätunnus on sama (korkeintaan kahdeksanmerkkinen merkkijono muotoa mmeikala), mutta ne oikeuttavat eri laitteistojen käyttöön ja niillä on eri salasana.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Siis, vielä toistamiseen:&#039;&#039;&#039;&lt;br /&gt;
* On olemassa kahdenlaisia käyttölupia: 1. yliopiston lupa eli pääkäyttölupa (eli AD-lupa) ja 2. laitoksen lupa (eli CS-lupa).&lt;br /&gt;
* Helsingin yliopiston tietotekniikkakeskus on instituutio, joka vastaa koko Helsingin yliopiston kattavasta tietotekniikasta ja koko yliopiston kattavasta verkosta.&lt;br /&gt;
* Tietojenkäsittelytieteen laitoksella on, muista laitoksista poiketen, lisäksi oma atk-järjestelmä (sisäverkko, palvelimet)&lt;br /&gt;
* CS-luvalla käytät tietojenkäsittelytieteen laitoksen järjestelmiä (esimerkiksi kirjautuminen kaikkiin yhteiskäyttöisiin cs.helsinki.fi-hallintoalueella oleviin palvelimiin kuten melkinpaasi, melkinkari jne)&lt;br /&gt;
* (AD tulee sanoista ja tekniikasta &amp;quot;Active Directory&amp;quot;, CS sanoista &amp;quot;Computer Science&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Miten aktivoin käyttölupani?==&lt;br /&gt;
&lt;br /&gt;
Kumpikin käyttölupa pitää aktivoida erikseen. Edellytyksenä aktivoimiselle on, että käyttäjän tiedot löytyvät Helsingin yliopiston opiskelijarekisterista. Uusien opiskelijoiden lisääminen rekisteriin kestää tovin, ks. alempaa [[#Ongelmatilanteet|Ongelmatilanteet]].&lt;br /&gt;
&lt;br /&gt;
===Pääkäyttölupa (AD-lupa)===&lt;br /&gt;
Uudet opiskelijat aktivoivat käyttäjätunnuksensa ottaessaan paikan vastaan yliopistohaun järjestelmän kautta, jonka jälkeen salasana tulee vaihtaa. [http://www.helsinki.fi/helpdesk/oppaat/kun_aloitat_opiskelun.html Katso tietotekniikkakeskuksen oppaasta lisätietoja.]&lt;br /&gt;
&lt;br /&gt;
[http://www.helsinki.fi/helpdesk/yhteydenotto/palvelupisteet.html Aukioloajat ja sijainnit.]&lt;br /&gt;
&lt;br /&gt;
===Laitostunnukset (CS-lupa)===&lt;br /&gt;
&#039;&#039;&#039;Laitostunnukset aktivoidaan netissä pääkäyttöluvan avulla.&#039;&#039;&#039; Laitostunnuksen aktivointiin tarvitaan toimiva AD-lupa. CS-tunnus luodaan ja sille kopioidaan AD-tunnuksen salasana sivulla https://www.cs.helsinki.fi/passwd syöttämällä &amp;quot;Username&amp;quot;-kenttään oman AD-luvan käyttäjätunnus, alempaan AD-luvan salasanan. Tunnus aktivoituu seuraavana yönä, ja CS-sähköpostin aktivoitumisessa saattaa kestää vielä kauemmin.&lt;br /&gt;
&lt;br /&gt;
==Ongelmatilanteet==&lt;br /&gt;
&lt;br /&gt;
===Argh, yritän aktivoida AD-lupaa, mutta se ei onnistu===&lt;br /&gt;
&lt;br /&gt;
*Todennäköisesti tietosi eivät vielä löydy Helsingin yliopiston opiskelijarekisteristä.&lt;br /&gt;
**[http://www.helsinki.fi/helpdesk/oppaat/kun_aloitat_opiskelun.html Tietotekniikkaosaston ohjeesta]: &amp;quot;Ennen luvan saamista sinun tietojesi on löydyttävä Helsingin yliopiston opiskelijarekisteristä. Kun olet ottanut opiskelupaikan virallisesti vastaan, saat viikon kuluessa sähköpostitse ilmoituksen tietojesi viennistä opiskelijarekisteriin. Voit tämän jälkeen ryhtyä aktivoimaan käyttäjätunnustasi.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Argh, saan yllättävän järjestelmävirheen===&lt;br /&gt;
&lt;br /&gt;
Lupaavan monet tietojenkäsittelytieteen opiskelijat saavat jo varhaisessa opintojen vaiheessa ensi käden tietoa siitä, minkälaista huonoutta vastaan tänne on tultu taistelemaan. Tietotekniikkakeskuksen asiantuntijat ovat pyytäneet että tällaiset tapaukset lähettävät opiskelijanumeronsa osoitteeseen helpdesk ät helsinki.fi. Mukaan voi laittaa maininnan yllättävästä järjestelmävirheestä (ja siitä, jos pääsi jo valikoimaan minkälaisen @helsinki.fi -osoitteen haluaa, jos sattuu olemaan ei-ensimmäinen Matti Virtanen yliopistolla).&lt;br /&gt;
&lt;br /&gt;
===Argh, minulla ei ole soveltuvaa nettiyhteyttä tai sopivaa verkkopankkia===&lt;br /&gt;
&lt;br /&gt;
Käytä Pekka Niklanderia (Exactum A230, pääsisäänkäynniltä suoraan kierreportaat ylös kakkoskerrokseen, kierrä hissipömpelin taakse eli portailta katsoen oikealle ja kävele oven läpi käytävää jonkin matkaa eteenpäin. Pekan huone on ennen risteystä) tai yliopiston ainoaa [http://www.helsinki.fi/helpdesk/yhteydenotto/palvelupisteet.html käyttölupapistettä], joka sijaitsee Kaisa-talossa. Ota mukaan joko ajokortti, passi tai henkilökortti.&lt;br /&gt;
&lt;br /&gt;
==Lisätietoa käyttöluvista==&lt;br /&gt;
&lt;br /&gt;
Käyttäjäluvista lisää kertovat sivut löytyvät loogisesti joko [http://www.helsinki.fi/helpdesk/ohjeet/kayttoluvat_ja_salasanat/kayttoluvat/ Helpdeskin käyttölupaohjeesta] tai http://www.cs.helsinki.fi/tietotekniikka sen mukaan, haluaako yliopistonlaajuista vai laitoksenlaajuista tietoa. Käyttöluvista ja yliopiston verkosta kerrotaan enemmän pakollisessa Johdatus tietojenkäsittelytieteeseen -kurssin TVT-ajokortti-osassa.&lt;br /&gt;
&lt;br /&gt;
== Kertauksena: Millä kirjaudun mihinkin? ==&lt;br /&gt;
&lt;br /&gt;
===AD===&lt;br /&gt;
* &#039;&#039;&#039;Laitoksen luokkien koneet&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;WebOodi&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Office 365 -sähköposti&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;HUPnet-vierailijaverkko (ja HY-VPN)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Eduroam&#039;&#039;&#039;&lt;br /&gt;
* Flamma&lt;br /&gt;
* Blackboard&lt;br /&gt;
* Ohjelmistojakelu&lt;br /&gt;
&lt;br /&gt;
===CS===&lt;br /&gt;
* &#039;&#039;&#039;Laitoksen webmail (webmail.cs.helsinki.fi)&#039;&#039;&#039;&lt;br /&gt;
* Laitoksen intranet (https://cs.helsinki.fi/i/ -alkuiset urlit jossa yleensä sijaitsevat koetulokset yms.)&lt;br /&gt;
* [http://msdn62.e-academy.com/elms/Storefront/Home.aspx?campus=helsinki_compsci MSDNAA]&lt;br /&gt;
* Laitoksen yleiskäyttöiset Linux-palvelimet (voi ajaa Irssiä), eli&lt;br /&gt;
** melkki.cs.helsinki.fi&lt;br /&gt;
** melkinpaasi.cs.helsinki.fi&lt;br /&gt;
** melkinkari.cs.helsinki.fi&lt;br /&gt;
* Laitoksen tietokantapalvelin users.cs.helsinki.fi&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=K%C3%A4ytt%C3%B6lupien_aktivointi&amp;diff=8078</id>
		<title>Käyttölupien aktivointi</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=K%C3%A4ytt%C3%B6lupien_aktivointi&amp;diff=8078"/>
		<updated>2016-08-15T19:17:59Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Järjestelmät */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Syksyllä aloittavien uusien opiskelijoiden käyttölupien aktivointi onnistuu heti kun henkilö on valittu Helsingin yliopistoon ja tiedot löytyvät rekistereistä. &#039;&#039;&#039;HUOM! Jos olet lykännyt opiskelujasi ja sinulla ei vielä ole tunnusta, maksa ensin HYY-maksu ja ilmoittaudu läsnäolevaksi (http://hyy.fi/maksu) tai asioi Pekka Niklanderin luona (ks. ongelmatilanteet).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Järjestelmät==&lt;br /&gt;
&#039;&#039;&#039;Tietojenkäsittelytieteen uudella opiskelijalla on automaattisesti käyttölupa kahteen eri järjestelmän:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Pääkäyttölupa&#039;&#039;&#039;, eli AD-lupa, eli Helsingin yliopiston järjestelmien käyttölupa&lt;br /&gt;
# &#039;&#039;&#039;CS-lupa&#039;&#039;&#039; eli tietojenkäsittelytieteen laitoksen järjestelmien käyttölupa &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näiden funktiot ovat seuraavat:&#039;&#039;&#039;&lt;br /&gt;
* Pääkäyttöluvalla kirjaudutaan koko Helsingin yliopiston laajuisiin web-järjestelmiin (esim. WebOodi).&lt;br /&gt;
* Laitoksen CS-tunnuksella kirjaudutaan laitoksen luokkien koneille ja laitoksen omiin tietojärjestelmiin.&lt;br /&gt;
* Kurssi-ilmoittautumisjärjestelmään (WebOodiin) kirjaudutaan aina pääkäyttöluvalla.&lt;br /&gt;
&lt;br /&gt;
Kaikissa käyttöluvissa käyttäjätunnus on sama (korkeintaan kahdeksanmerkkinen merkkijono muotoa mmeikala), mutta ne oikeuttavat eri laitteistojen käyttöön ja niillä on eri salasana.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Siis, vielä toistamiseen:&#039;&#039;&#039;&lt;br /&gt;
* On olemassa kahdenlaisia käyttölupia: 1. yliopiston lupa eli pääkäyttölupa (eli AD-lupa) ja 2. laitoksen lupa (eli CS-lupa).&lt;br /&gt;
* Helsingin yliopiston tietotekniikkakeskus on instituutio, joka vastaa koko Helsingin yliopiston kattavasta tietotekniikasta ja koko yliopiston kattavasta verkosta.&lt;br /&gt;
* Tietojenkäsittelytieteen laitoksella on, muista laitoksista poiketen, lisäksi oma atk-järjestelmä (sisäverkko, palvelimet)&lt;br /&gt;
* CS-luvalla käytät tietojenkäsittelytieteen laitoksen järjestelmiä (esimerkiksi kirjautuminen kaikkiin yhteiskäyttöisiin cs.helsinki.fi-hallintoalueella oleviin palvelimiin kuten melkinpaasi, melkinkari jne)&lt;br /&gt;
* (AD tulee sanoista ja tekniikasta &amp;quot;Active Directory&amp;quot;, CS sanoista &amp;quot;Computer Science&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Miten aktivoin käyttölupani?==&lt;br /&gt;
&lt;br /&gt;
Kumpikin käyttölupa pitää aktivoida erikseen. Edellytyksenä aktivoimiselle on, että käyttäjän tiedot löytyvät Helsingin yliopiston opiskelijarekisterista. Uusien opiskelijoiden lisääminen rekisteriin kestää tovin, ks. alempaa [[#Ongelmatilanteet|Ongelmatilanteet]].&lt;br /&gt;
&lt;br /&gt;
===Pääkäyttölupa (AD-lupa)===&lt;br /&gt;
Uudet opiskelijat aktivoivat käyttäjätunnuksensa ottaessaan paikan vastaan yliopistohaun järjestelmän kautta, jonka jälkeen salasana tulee vaihtaa. [http://www.helsinki.fi/helpdesk/oppaat/kun_aloitat_opiskelun.html Katso tietotekniikkakeskuksen oppaasta lisätietoja.]&lt;br /&gt;
&lt;br /&gt;
[http://www.helsinki.fi/helpdesk/yhteydenotto/palvelupisteet.html Aukioloajat ja sijainnit.]&lt;br /&gt;
&lt;br /&gt;
===Laitostunnukset (CS-lupa)===&lt;br /&gt;
&#039;&#039;&#039;Laitostunnukset aktivoidaan netissä pääkäyttöluvan avulla.&#039;&#039;&#039; Laitostunnuksen aktivointiin tarvitaan toimiva AD-lupa. CS-tunnus luodaan ja sille kopioidaan AD-tunnuksen salasana sivulla https://www.cs.helsinki.fi/passwd syöttämällä &amp;quot;Username&amp;quot;-kenttään oman AD-luvan käyttäjätunnus, alempaan AD-luvan salasanan. Tunnus aktivoituu seuraavana yönä, ja CS-sähköpostin aktivoitumisessa saattaa kestää vielä kauemmin.&lt;br /&gt;
&lt;br /&gt;
==Ongelmatilanteet==&lt;br /&gt;
&lt;br /&gt;
===Argh, yritän aktivoida AD-lupaa, mutta se ei onnistu===&lt;br /&gt;
&lt;br /&gt;
*Todennäköisesti tietosi eivät vielä löydy Helsingin yliopiston opiskelijarekisteristä.&lt;br /&gt;
**[http://www.helsinki.fi/helpdesk/oppaat/kun_aloitat_opiskelun.html Tietotekniikkaosaston ohjeesta]: &amp;quot;Ennen luvan saamista sinun tietojesi on löydyttävä Helsingin yliopiston opiskelijarekisteristä. Kun olet ottanut opiskelupaikan virallisesti vastaan, saat viikon kuluessa sähköpostitse ilmoituksen tietojesi viennistä opiskelijarekisteriin. Voit tämän jälkeen ryhtyä aktivoimaan käyttäjätunnustasi.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Argh, saan yllättävän järjestelmävirheen===&lt;br /&gt;
&lt;br /&gt;
Lupaavan monet tietojenkäsittelytieteen opiskelijat saavat jo varhaisessa opintojen vaiheessa ensi käden tietoa siitä, minkälaista huonoutta vastaan tänne on tultu taistelemaan. Tietotekniikkakeskuksen asiantuntijat ovat pyytäneet että tällaiset tapaukset lähettävät opiskelijanumeronsa osoitteeseen helpdesk ät helsinki.fi. Mukaan voi laittaa maininnan yllättävästä järjestelmävirheestä (ja siitä, jos pääsi jo valikoimaan minkälaisen @helsinki.fi -osoitteen haluaa, jos sattuu olemaan ei-ensimmäinen Matti Virtanen yliopistolla).&lt;br /&gt;
&lt;br /&gt;
===Argh, minulla ei ole soveltuvaa nettiyhteyttä tai sopivaa verkkopankkia===&lt;br /&gt;
&lt;br /&gt;
Käytä Pekka Niklanderia (Exactum A230, pääsisäänkäynniltä suoraan kierreportaat ylös kakkoskerrokseen, kierrä hissipömpelin taakse eli portailta katsoen oikealle ja kävele oven läpi käytävää jonkin matkaa eteenpäin. Pekan huone on ennen risteystä) tai yliopiston ainoaa [http://www.helsinki.fi/helpdesk/yhteydenotto/palvelupisteet.html käyttölupapistettä], joka sijaitsee Kaisa-talossa. Ota mukaan joko ajokortti, passi tai henkilökortti.&lt;br /&gt;
&lt;br /&gt;
==Lisätietoa käyttöluvista==&lt;br /&gt;
&lt;br /&gt;
Käyttäjäluvista lisää kertovat sivut löytyvät loogisesti joko [http://www.helsinki.fi/helpdesk/ohjeet/kayttoluvat_ja_salasanat/kayttoluvat/ Helpdeskin käyttölupaohjeesta] tai http://www.cs.helsinki.fi/tietotekniikka sen mukaan, haluaako yliopistonlaajuista vai laitoksenlaajuista tietoa. Käyttöluvista ja yliopiston verkosta kerrotaan enemmän pakollisessa Johdatus tietojenkäsittelytieteeseen -kurssin TVT-ajokortti-osassa.&lt;br /&gt;
&lt;br /&gt;
== Kertauksena: Millä kirjaudun mihinkin? ==&lt;br /&gt;
&lt;br /&gt;
===AD===&lt;br /&gt;
* &#039;&#039;&#039;Laitoksen ilmoittautuminen (ilmo.cs.helsinki.fi)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Laitoksen luokkien koneet&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;WebOodi&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Office 365 -sähköposti&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;HUPnet-vierailijaverkko (ja HY-VPN)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Eduroam&#039;&#039;&#039;&lt;br /&gt;
* Flamma&lt;br /&gt;
* Blackboard&lt;br /&gt;
* Ohjelmistojakelu&lt;br /&gt;
&lt;br /&gt;
===CS===&lt;br /&gt;
* &#039;&#039;&#039;Laitoksen webmail (webmail.cs.helsinki.fi)&#039;&#039;&#039;&lt;br /&gt;
* Laitoksen intranet (https://cs.helsinki.fi/i/ -alkuiset urlit jossa yleensä sijaitsevat koetulokset yms.)&lt;br /&gt;
* [http://msdn62.e-academy.com/elms/Storefront/Home.aspx?campus=helsinki_compsci MSDNAA]&lt;br /&gt;
* Laitoksen yleiskäyttöiset Linux-palvelimet (voi ajaa Irssiä), eli&lt;br /&gt;
** melkki.cs.helsinki.fi&lt;br /&gt;
** melkinpaasi.cs.helsinki.fi&lt;br /&gt;
** melkinkari.cs.helsinki.fi&lt;br /&gt;
* Laitoksen tietokantapalvelin users.cs.helsinki.fi&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=8076</id>
		<title>Fuksien kysymää</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=8076"/>
		<updated>2016-08-15T19:16:03Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Miten ja milloin ilmoittaudutaan tietojenkäsittelytieteen kursseille? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lisää kysymyksiä ja vastauksia ilmestyy sitä mukaa kun kysytään.&#039;&#039;&#039;&lt;br /&gt;
* Katso myös [http://www.hyy.helsinki.fi/suomi/25/doc/227/ HYY:n uusien opiskelijoiden sivujen &amp;quot;usein kysyttyä&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
===Missä voin syödä?===&lt;br /&gt;
:Helsingin yliopistolla palvelevat yleisesti UniCafe-lounasravintolat. Kumpulan kampuksella UniCafe-ravintoloita on sekä Exactumissa että Chemicumissa. Lisäksi Physicumissa on saman firman kahvio, josta saa kohtuullisen suosittuja lounaspatonkeja. UniCafe-ravintoloissa on tarjolla yleensä kahta lounasvaihtoehtoa, &amp;quot;edullisesti&amp;quot; ja &amp;quot;maukkaasti&amp;quot;, hinnat löytyvät linkistä [http://www.unicafe.fi/lounas/hinnasto Unicafen lounashinnat] . Halvempi hinta edellyttää, että opiskelijalla on esittää lukuvuositarralla varustettu Lyyra-opiskelijakortti - asianmukainen todistus Ylioppilaskunnan jäsenmaksun maksamisestakin riittää vielä alkusyksystä, lataamalla rahaa lyyrakortille ja maksamalla sillä säästää myös 10snt. Ilman korttia tai todistusta sinut kuitenkin tulkitaan ei-opiskelijaksi ja joudut pulittamaan melkein tuplasti enemmän. Itse maksuvälineinä UniCafeissa käyvät Visa, Mastercard, Visa Electron, Lyyra ja käteinen. Aukioloaikoihin ja ruokalistoihin ks. http://www.varjocafe.net . Gurulassa kahvikassaperiaatteella toimiva [http://tko-aly.fi/toiminta/rv TKO-älyn ruokavälitys] , eli rv, auttanee pienempään nälkään.&lt;br /&gt;
&lt;br /&gt;
:Unicafen lisäksi yhden kilometrin päässä Arabiakeskuksessa opiskelijahintaisia lounaita tarjoilevat myös Katri-Antell [http://www.antell.fi/index.php?2573], Amica [http://www.amica.fi/meccala#.UDPJoeju5XE] sekä Kipsari [http://www.kipsari.com/]&lt;br /&gt;
&lt;br /&gt;
===Mitä jos sairastun?===&lt;br /&gt;
:YTHS, eli Ylioppilaiden terveydenhuoltosäätiö on jotakuinkin &amp;quot;opiskelijan työterveyshuolto&amp;quot;, ja sairastumistapauksissa kannattaa aina ensisijaisesti kääntyä sen puoleen. Ylioppilaskunnan jäsenmaksun maksamisen jälkeen opiskelijalla on oikeus käyttää kaikkia YTHS:n palveluja (terveydenhoito, hammaslääkäri, mielenterveystyö). Palveluiden käyttö on hammaslääkäriä lukuunottamatta ilmaista. Ks. [http://www.yths.fi YTHS:n sivuilta] &amp;quot;Uudelle opiskelijalle&amp;quot;-sivu. Lähin toimipiste sijaitsee Töölössä (Töölönkatu 37 A).&lt;br /&gt;
&lt;br /&gt;
:[http://www.yths.fi/yhteystiedot/toimipisteet/helsinki/kumpula YTHS:n Kumpulan palvelupiste] palvelee tiistaisin ja siellä voi käydä terveydenhoitajan puheilla tai vaikka hakea rokotuksia.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan tietojenkäsittelytieteen kursseille?===&lt;br /&gt;
:* Katso [[Kursseille ilmoittautuminen]]. &lt;br /&gt;
&lt;br /&gt;
:Ensimmäisillä kursseilla tilaa löytyy vielä kurssin alkamisenkin jälkeen, mutta myöhemmin kurssit saattavat täyttyä hyvinkin nopeasti ja sopivan harjoitusryhmän löytyminen voi olla hankalaa, mikäli ilmoittautumisesta myöhästyy reilusti. Jos siis tiedät pääseväsi vain johonkin tiettyyn harjoitusryhmään, ilmoittaudu ajoissa. Ilmo aukeaa ilmoittautumispäivänä aina kello 09:00.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan matematiikan kursseille?===&lt;br /&gt;
:Matematiikan laitoksen kursseille ja erilliskokeisiin ilmoittaudutaan [http://www.helsinki.fi/weboodi WebOodissa] valitsemalla sopiva harjoitusryhmä, ihan kuin meidänkin ilmoittautumisessamme. Yleensä vastaavan kurssin kurssisivulta löytyy suora ilmoittaumislinkki, ettei tarvitse erikseen etsiä WebOodin Ilmoittautumiset-sivun kurssilistasta. Matematiikan laitoksen ilmoittautuminen alkaa kotisivuilla lukukauden alussa ilmoitettavana päivänä. Yleensä ilmoittautuminen alkaa sen viikon alussa, jolloin luennotkin alkavat.&lt;br /&gt;
* [http://mathstat.helsinki.fi Matematiikan ja tilastotieteen laitoksen kotisivut]&lt;br /&gt;
&lt;br /&gt;
===Kenen puoleen minun pitäisi kääntyä, jos haluan sisällyttää tkt-tutkintooni aiempia opintoja tai korvata jonkun kurssin muualla suorittamallani vastaavalla kurssilla?===&lt;br /&gt;
:* Katso http://www.cs.helsinki.fi/opiskelu/muualla-suoritettujen-opintojen-hyv-ksilukeminen&lt;br /&gt;
:Reijo Sivèn (puh. 191 51382, huone D236) käsittelee laitoksella hyväksilukemiset. Vastaanottoajat löytyvät sivulta http://www.cs.helsinki.fi/people/siven.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saavatko opiskelijat laitoksen kautta kehitystyökaluja tai ohjelmistoja ilmaiseksi?=== &lt;br /&gt;
:*Kyllä, ks. [[MSDNaa ja DreamSpark]]&lt;br /&gt;
:Suosittelemme erityisesti MSDNaa:ta, josta löytyy Microsoftin kehitystyökalujen lisäksi kaikki modernit Windows-käyttöjärjestelmät (myös Windows 7). MSDNaa:han pääsee tietojenkäsittelytieteen laitoksen tunnuksilla (siis myös sivuaineilijat).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten liitytään TKO-älyn sähköpostilistalle?===&lt;br /&gt;
:TKO-älyn sähköpostilistalle saat liityttyä, kun lähetät viestin osoitteeseen majordomo@helsinki.fi (viesti menee sähköpostilista-automaatille). Jätä otsikkokenttä tyhjäksi ja laita viestiin tekstiksi subscribe tko-aly etunimi.sukunimi@cs.helsinki.fi (sähköpostiosoite voi olla myös jokin muu osoite, johon haluat listalle tulevat viestit. Listan ylläpitäjä kuitenkin suositteli käytettäväksi @cs.helsinki.fi tai @helsinki.fi -osoitetta).&lt;br /&gt;
&lt;br /&gt;
:Listalta pääsee pois lähettämällä samaiseen osoitteeseen vastaavanlaisen unsubscribe-viestin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mitä muita listoja TKO-älyllä on? / Onko TKO-älyllä jotain rekrytointilistaa?===&lt;br /&gt;
:*Rekrytointilistakin löytyy, ks. http://tko-aly.fi/yhdistys/tiedotus&lt;br /&gt;
&lt;br /&gt;
:Listoille voivat liittyä TKO-älyn jäsenet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin saan haalarit?===&lt;br /&gt;
:Haalarit voit hankkia koska tahansa, kunhan olet TKO-älyn jäsen. Kysäiset Gurulassa sattuisiko olemaan paikalla joku, jolla on avain Harmaaseen kaappiin tai vaihtoehtoisesti sovit tapaamisen jonkun avaimenhaltijan kanssa vaikkapa kyselemällä IRCissä kanavalta #tkt-fuksit2012. Avaimellisia ovat TKO-älyn hallituksen jäsenet, muun muassa osa tuutoreista.&lt;br /&gt;
&lt;br /&gt;
:Laitoksen orientoivien HOPS-aiheisen päivän (to 30. elokuuta, katso syksyn aikataulu) jälkeen pidetään myyntipäivystystä laitossuunnistuksen yhteydessä, jolloin voi ostaa niin haalareita, haalarimerkkejä, t-paitoja kuin liittyä TKO-älyn jäseneksikin. Haalarit maksavat 25e, merkit 2-3e.&lt;br /&gt;
&lt;br /&gt;
===Miten voi tarkistaa omat opintosuoritukset?===&lt;br /&gt;
:Opintorekisterin voi tarkistaa [http://www.helsinki.fi/weboodi WebOodista]. Samasta paikasta voit myös tilata suoritusotteen (linkki tulostettavaan suoritusotteeseen ilmaantuu WebOodin etusivulle noin 1.5 tunnin kuluttua tilaamisesta).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan kielet?===&lt;br /&gt;
:Tutkintovaatimuksissa vaaditaan 3 op toista kotimaista ([http://www.helsinki.fi/weboodi/ eHOPSia] varten suositeltu koodi ruotsille: 99291Mat-lu) ja 4 op vierasta kieltä (eHOPS-koodi englannille: 99501Mat-lu tai tasokokeen vaatima 2 op:n täydennys esim. 995011Mat-lu). Vastaus keskittyy näihin yleisimpiin; ruotsinkielisten toinen kotimainen on suomi, ja seikkailunhaluisten vieras kieli voi olla ihan mitä vaan [https://alma.helsinki.fi/doclink/29931 mikä Kielikeskukselle tältä osin kelpaa].&lt;br /&gt;
&lt;br /&gt;
:Sekä ruotsin että englannin kohdalla on mahdollista suorittaa hela hoito (taso)kokeella. Kokeen hyväksytysti läpäisseet saavat siitä myös opintopisteensä. Englannin tasokokeen tulos voi olla &amp;quot;koko suoritus hoidettu&amp;quot;, &amp;quot;käy vielä vapaavalintainen 2 op:n kokonaisuus&amp;quot; tai &amp;quot;käy 4 op:n kurssi/kursseja&amp;quot;. [https://alma.helsinki.fi/doclink/126798 Englannin tasokokeesta on lisätietoa Almassa], mukaanlukien lista näistä vapaavalintaisista 2 op:n kokonaisuuksista. Niistä voi myös koostaa sen 4 op.&lt;br /&gt;
&lt;br /&gt;
:Entä kannattaako kokeilla tasokoetta, miten vaikea se on? Englannin tasokokeen sivulta pääsee [https://oodi-www.it.helsinki.fi/hy/opettaptied.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;OpetTap=77700350&amp;amp;haettuOrg=&amp;amp;sortJarj=&amp;amp;haettuOrg=&amp;amp;Kieli=1&amp;amp;NimiTunniste=&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Selite=&amp;amp;Sivu=&amp;amp;haettuOpas=&amp;amp;haettuOppAin=&amp;amp;haettuLk=&amp;amp;haettuOpetKiel=&amp;amp;haeOpintJaks=&amp;amp;takaisin=opintjakstied.jsp&amp;amp;OpinKohd=52739013&amp;amp;takaisin2=ilmsuor.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;Tunniste=99501&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Nimi=&amp;amp;haeOpintJaks=haeopintojaksot&amp;amp;haeVainIlmKelp=&amp;amp;haeMyosAlemOrg=&amp;amp;eHOPSpaluu=0&amp;amp;eHOPSpaluusivu= Weboodin taika-URL-sivulle] jossa pohdiskellaan tätä (linkki &amp;quot;korvaavalla kokeella&amp;quot; -&amp;gt; tenttiluettelosta &amp;quot;Faculty of Science English Language Exemption&amp;quot;). Voit myös kokeilla englannintaitojasi [http://kielikeskus.helsinki.fi/vkk/rr/itsearviointi/2.php yleisellä Dialang-kielitestillä]. Ruotsin kohdalla tilanne on useimpien kohdalla selvä, joko olet erikoinen tai menet kurssille.&lt;br /&gt;
&lt;br /&gt;
:[https://alma.helsinki.fi/doclink/95081 Muualla suoritettujen kielikurssien korvaamisesta] päättää Kielikeskus. Toisten [http://www.helsinki.fi/kksc/opetus/kieliopinnot5.html Helsingin yliopiston tiedekuntien vaatimusten mukaiset kielisuoritukset] eivät välttämättä korvaa koko suorituksia matemaattis-luonnontieteellisessä, erityisesti humanistinen ja valtiotieteellinen ovat kulkeneet jossain määrin omia polkujaan. (Vanhojen opiskelijoiden suoritusotteista löytyvistä 0 op:n ylioppilaskirjoitusten perusteella tehdyllä &amp;quot;korvaavuudella&amp;quot; voi ilmeisesti kuitata kirjallisen osuuden, jonka kaveriksi tarvitaan kuitenkin vielä 2 op suullinen suoritus.)&lt;br /&gt;
&lt;br /&gt;
:Huomaa, että niin kauan kuin Johdatus tietojenkäsittelytieteeseen -kurssiin on integroitu englannin opinnot, on vieras kieli sillä hoidettu. Näin oli asia ainakin 2010.&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan JTKT:n / TVT-ajokortin / Työvälinekurssin / Opiskelutekniikan?===&lt;br /&gt;
&lt;br /&gt;
:Katso [https://www.cs.helsinki.fi/courses/582102/2016/s/k/1 Johdatus tietojenkäsittelytieteeseen -kurssin sivulta] (vaihda mieluusti lukukausi soveltuvaksi). Yksinkertaisin vaihtoehto on käydä koko iso JTKT-paketti ja ajokorttikurssit fuksivuonna, jolloin aikataulut ovat synkassa, sinua pidetään sopivasti kädestä, ja hoidat kaikki nämä hilukurssit kerralla. &lt;br /&gt;
&lt;br /&gt;
:Jos nyt kuitenkin joudut palastelemaan: [http://www.cs.helsinki.fi/courses/581324 Tietokone työvälineenä -kurssia] järjestetään nähtävästi myös keväisin, ja sen sisältämää [http://www.cs.helsinki.fi/courses/582514 TVT-ajokorttitenttiä] järjestetään säännöllisesti. Opiskelutekniikan voi suorittaa keväisin tiedekunnan kurssina [http://blogs.helsinki.fi/mlopetuki/tehoa-opiskeluun-2-op/ Tehoa opiskeluun], muttei tietääkseni syksyllä erillisenä; jos aloitit opintosi ennen S2008, ei tätä tarvitse enää erikseen suorittaa. Jos olet pitkällä opinnoissasi, ota yhteys Patrik Floréeniin (kurssin vastuuhenkilö S2016) tarkoituksenmukaisimman suoritustavan löytämiseksi; JTKT:n voi suorittaa myös avoimen yliopiston puolella.&lt;br /&gt;
&lt;br /&gt;
===Löysin vielä jonkun muun oudon hilukurssin TKT-tutkintovaatimuksista, hä?===&lt;br /&gt;
&lt;br /&gt;
:* Kandidaatintutkielma (Tieteellisen kirjoittamisen kurssi) kattaa Äidinkielisen viestinnän 3 op ja Tutkimustiedonhaun 1 op. &lt;br /&gt;
:* Ohjelmistotuotantoprojekti kattaa Ohjelmistotuotantoprojektiin liittyvä työelämään orientointi -suorituksen, ja ammattitehtävissä työskentely on vain vaihtoehto tälle; [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena työkokemusnoppia sopii hakea opintoesimieheltä].&lt;br /&gt;
:** [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena Tähän] on tullut vuoden 2014 aikana vielä dokumentoimaton tapa saada suoritukset hyväksyttyä haastattelun perusteella. Ota yhteyttä Matti Luukkaiseen ja tiedustele asiaa häneltä.&lt;br /&gt;
:* LuK-HOPS suoritetaan säännöllisiä hyväksyttyjä opintosuunnitelmia tekemällä. Ota yhteys kurssin vastuuhenkilöön jos olet onnistunut välttämään kaikki karhukirjeet tähän asti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Olen saanut ristiriitaista tietoa tutkintovaatimuksien pykälästä §423,562. Kuka on oikeassa?===&lt;br /&gt;
:Ylin ja suurin opintopäällikkö, [http://www.cs.helsinki.fi/people/klemstro Kjell Lemström], jonka sana on laki. Jos sinulla on kirjavia suorituksia joista pitäisi saada kasaan tutkinto etkä tiedä mitä tehdä, kysy Kjelliltä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kursseille_ilmoittautuminen&amp;diff=8075</id>
		<title>Kursseille ilmoittautuminen</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kursseille_ilmoittautuminen&amp;diff=8075"/>
		<updated>2016-08-15T19:15:37Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietojenkäsittelytieteen kursseille ilmoittautuminen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Johdanto yliopisto-opiskeluun==&lt;br /&gt;
* Lukuvuosi koostuu Helsingin yliopistossa neljästä jotakuinkin samanpituisesta jaksosta, joita kutsutaan nimellä &#039;&#039;&#039;periodi&#039;&#039;&#039;.&lt;br /&gt;
* Lukuvuosi kestää syyskuun alusta aina seuraavan vuoden syyskuun alkuun.&lt;br /&gt;
* Periodit jakaantuvat lukuvuodelle tasaisesti niin, että ensimmäinen ja toinen periodi järjestetään syksyllä (&amp;quot;syyslukukausi&amp;quot;) sekä kolmas ja neljäs periodi keväällä (&amp;quot;kevätlukukausi&amp;quot;).&lt;br /&gt;
* Näiden neljän periodin lisäksi on kesäopinnot, jotka jakautuvat alku- ja loppukesään. Kesälläkin on siis mahdollista halutessaan opiskella, joskin kurssitarjonta on tuolloin normaalia vähäisempää.&lt;br /&gt;
* Itse opetustekniset asiat (kurssijärjestelyt yms.) ovat Helsingin yliopiston sisällä hyvinkin erilaisia. Riittää kun tiedät meidän laitoksemme (ja matematiikan laitoksen) käytännöt.&lt;br /&gt;
* &#039;&#039;&#039;Kursseille ilmoittautuminen tapahtuu periodi kerrallaan&#039;&#039;&#039;.&lt;br /&gt;
** Huom! Ilmoittautuessa on syytä ottaa huomioon, että &#039;&#039;&#039;kurssit saattavat kestää useampiakin periodeja&#039;&#039;&#039;, erityisesti matematiikan laitoksella. Näille kursseille ilmoittaudutaan vain kerran.&lt;br /&gt;
&lt;br /&gt;
==Tietojenkäsittelytieteen kursseille ilmoittautuminen==&lt;br /&gt;
&lt;br /&gt;
=== Yleistä ===&lt;br /&gt;
* &#039;&#039;&#039;Tietojenkäsittelytieteen laitoksen kursseille ilmoittautuminen tapahtuu nykyään WebOodissa https://weboodi.helsinki.fi/hy/&#039;&#039;&#039;&lt;br /&gt;
** Laitoksella oli ennen käytössä oma ilmoittautumisjärjestelmä mutta se on jäänyt historiaan 2016 syksystä alkaen.&lt;br /&gt;
** Ilmoittautumisten alkamisajat periodeittain löydät [https://www.cs.helsinki.fi/opiskelu/ilmoittautumisten-alkamisajat-periodeittain täältä.]&lt;br /&gt;
&lt;br /&gt;
=== Kurssityypit ===&lt;br /&gt;
Ilmoittautumisjärjestelmässä on valittavissa kolmen tyyppisiä kursseja: &#039;&#039;&#039;&amp;quot;Luentokurssit&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;quot;Harjoitustyöt&amp;quot;&#039;&#039;&#039; ja &#039;&#039;&#039;&amp;quot;Seminaarit&amp;quot;&#039;&#039;&#039;. Lisäksi on valittavissa kohta &#039;&#039;&#039;&amp;quot;Kokeet&amp;quot;&#039;&#039;&#039;. Näistä selitykset ohessa:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Luentokurssit&#039;&#039;&#039; ovat ns. normaaleja kursseja. Näistä kursseista järjestetään sekä luentoja että viikottaisia harjoitusryhmiä (ns. &amp;quot;laskareita&amp;quot;). Harjoitusryhmän koko on yleensä noin 10-15 henkeä ja tapaamisia on kerran tai pari viikossa. Harjoitusryhmässä käydään läpi viikottaisia tehtäviä harjoitusryhmän vetäjän (ns. &amp;quot;assarin&amp;quot;) johdolla - ne muistuttavat siis jotakuinkin lukio-opetusta. Harjoitusten tekemisestä ja laskareissa käynnistä saa myös pisteitä kurssikokeeseen. Jako voi olla esim. 10 pistettä harjoituksista ja 50 tentistä. Harjoitusryhmiä on yleensä yhtä kurssia kohden useampia ja voit valita niistä siten itsellesi parhaiten sopivan. Itse harjoitustehtävät tehdään yleensä pienryhmissä (ns. &amp;quot;opintopiireissä&amp;quot;) tai joskus yksin. Luentokurssille ilmoittaudutaan valitsemalla se harjoitusryhmä, johon haluat. &#039;&#039;&#039;Luennoille ei tarvitse siis ilmoittautua erikseen&#039;&#039;&#039;, pelkkä harjoitusryhmään ilmoittautuminen riittää - luennothan ovat kaikille samaan aikaan. &#039;&#039;&#039;Muista aina tarkistaa, etteivät valitsemasi harjoitusryhmät mene muiden valitsemiesi kurssien luentojen tai harjoitusryhmien päälle!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Harjoitustyöt&#039;&#039;&#039; ovat omia kurssejaan (Ohjelmoinnin harjoitustyö, Tietokantasovellus ja Tietorakenteiden harjoitustyö), ja ne käydään sitten kun &amp;quot;esitiedot ovat kunnossa&amp;quot;, eli kunkin vaatimat esitietokurssit ovat kasassa. Tämä tarkoittaa, että esimerkiksi Ohjelmoinnin harjoitustyö -kurssille osallistuminen vaatii hyväksytyt suoritukset Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi sekä Ohjelmistojen mallintaminen -kursseista. &#039;&#039;&#039;Harjoitustöistä ei tarvitse ensimmäisenä syksynä siis välittää.&#039;&#039;&#039; Harjoitustyöt poikkeavat luentokursseista siten, että niissä ei ole luentoja, vaan kurssin suorittaminen koostuu yhden ison harjoituksen suorittamisesta (jonkin &amp;quot;projektin&amp;quot; toteuttamisesta).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Seminaareja&#039;&#039;&#039; käydään vasta kandin (eli kolmen tai neljän vuoden opiskelun) jälkeen, niistä &#039;&#039;&#039;ei tarvitse opintojen alkuvaiheessa olevan siis välittää&#039;&#039;&#039;. Seminaarien käyminen vaatii siis Tieteellisen kirjoittaminen -kurssin suorituksen. Seminaareihin, Ohjelmistotuotantoprojektiin ja Tieteellisen kirjoittamisen kurssille, sekä joillekin valinnaisille kursseille ilmoittaudutaan edellisen lukukauden puolella, opinto-oppaasta löytyy yhteiset ilmoittautumisajat näille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokeisiin ei tarvitse erikseen ilmoittautua, jos ilmoittauduit luentokurssille&#039;&#039;&#039;. Luentokursseilla ilmoittautumiseen sisältyy ns. &amp;quot;kurssikoe&amp;quot;. Kokeisiin ilmoittautuminen on niitä varten, jotka menevät tenttimään jotain kurssia (ns. &amp;quot;erilliskoe&amp;quot;) tai uusimaan hylätyksi mennyttä kurssikoetta (ns. &amp;quot;uusintakoe&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Huomioitavaa===&lt;br /&gt;
* Vaikka harjoitusryhmiä on yleensä kursseilla useita, ne täyttyvät nopeasti: &#039;&#039;&#039;Kursseille kannattaa ilmoittautua aina heti kun mahdollista.&#039;&#039;&#039;&lt;br /&gt;
* Ryhmää voi vaihtaa ilmoittautumisen jälkeen.&lt;br /&gt;
* Pyri käymään siinä ryhmässä, johon ilmottauduit. Joillain kursseilla tämä on jopa pakollista (mm. Johdatus tietojenkäsittelytieteeseen). Jos et jollakin viikolla pääse valitsemaasi ryhmään, kysy harjoitusten pitäjältä, voitko vierailla jossakin toisessa ryhmässä.&lt;br /&gt;
* Ilmoittautumisen voi perua, kunhan kurssi ei ole ehtinyt käyntiin - tällöin sitä ei lasketa suorituskerraksi. Peru siis ilmoittautuminen jos jättäydyt kurssilta pois!&lt;br /&gt;
* Pajakursseilla (mm. Ohjelmoinnin perusteet ja jatkokurssi) harjoitukset tehdään ohjelmointipajassa. Näillä kursseilla kaikki ilmottautuvat &amp;quot;samaan&amp;quot; harjoitusryhmään, eikä ryhmäkohtaisia opetustunteja pidetä.&lt;br /&gt;
&lt;br /&gt;
==Matematiikan kursseille ilmoittautuminen==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Matematiikan (laitoksen) kursseille ilmoittaudutaan WebOodissa.&#039;&#039;&#039;&lt;br /&gt;
** WebOodiin kirjaudutaan &#039;&#039;&#039;Helsingin yliopiston tunnuksilla&#039;&#039;&#039;, ei laitoksen.&lt;br /&gt;
** Tulee huomata, että tämä järjestelmä aukeaa yleensä eri aikaan (myöhemmin), kuin meidän laitoksen oma ilmoittautumisjärjestelmä.&lt;br /&gt;
&lt;br /&gt;
* Tietoa matematiikan opiskelusta ja kursseista kuvauksineen löytyy matematiikan laitoksen kotisivuilta osoitteesta http://mathstat.helsinki.fi/opiskelu/&lt;br /&gt;
** Matematiikan opiskelu on suositeltavaa aloittaa Matematiikka tutuksi -nimisellä kurssilla.&lt;br /&gt;
&lt;br /&gt;
==Kielikeskuksen kursseille ilmoittautuminen== &lt;br /&gt;
&lt;br /&gt;
Kielikurssien ilmo on usein eri aikaan ja aikaisemmin kuin minkään muun laitoksen, eli tarkista ajoissa. Ilmottautuminen tapahtuu Weboodissa.&lt;br /&gt;
&lt;br /&gt;
Opiskelijoiden valinta kursseille tapahtuu (pääsääntöisesti) automaattisesti priorisointijärjestelmän avulla (tai arpomalla). Osalle kursseista opettaja tekee valinnan ilmoittautumisen yhteydessä esitettyjen kysymysten perusteella. Tällöin opettaja tiedottaa valituille pääsystä kurssille. Kielikeskuksen [https://alma.helsinki.fi/doclink/29935 opinto-opas] on almassa.&lt;br /&gt;
&lt;br /&gt;
Vuodesta 2009 lähtien englannin pakolliset opinnot suoritetaan kurssin Johdatus tietojenkäsittelytieteeseen yhteydessä. Älä siis ilmoittaudu Kielikeskuksen englannin kurssille. Jos sinulla on Johdatus tietojenkäsittelytieteeseen käytynä esim. Avoimessa yliopistossa, suorita englannin kurssi 99501Mat-lu (4op). Halutessasi pitkän kielen pakollisen oppimäärän voi käydä myös jonain muuna kielenä kuin englantina, mutta englannin osaamisesta on iloa pääaineopinnoissasi. &lt;br /&gt;
&lt;br /&gt;
Pakollisen virkamiesruotsin kurssin (3op) koodi on 99291Mat-lu. Ilmoa nimenomaan oman tiedekuntasi ryhmään.&lt;br /&gt;
&lt;br /&gt;
==Miten laadin itse lukujärjestyksen?==&lt;br /&gt;
* Lukujärjestys laaditaan vaivattomimmin piirtämällä ihan perinteinen lukujärjestyspohja (se ruudukko, mitä piirrettiin jo peruskoulussa).&lt;br /&gt;
** Helpoiten tämä onnistuu käyttämällä taulukkolaskentaa tai vanhaa kunnon ruutupaperia.&lt;br /&gt;
** [https://ilmo.cs.helsinki.fi/kata/ Kata-päällekkäisanalyysiohjelma] auttaa tktl:n kurssien kanssa, sillä se näyttää kurssit valmiiksi &amp;quot;lukujärjestysformaatissa&amp;quot;. Katasta voi myös printata pdf:n.&lt;br /&gt;
&lt;br /&gt;
* Ennen lukujärjestyksen laatimista tulee tietysti selvittää itselleen, mitä kursseja haluaa (ja on järkevä) käydä.&lt;br /&gt;
** Tulevat kurssit löytyvät [http://www.cs.helsinki.fi/courses Kurssit-sivulta] laitoksen kotisivujen Opiskelu-välilehden alta&lt;br /&gt;
** Opetusohjelmista näkee myös harjoitusryhmien ajankohdat, jos haluaa kaverin kanssa samaan harjoitusryhmään&lt;br /&gt;
&lt;br /&gt;
* Asiaan:&lt;br /&gt;
:1. Merkataan kaikkien haluttujen kurssien luentoajat ylös taulukkoon (tai ruutupaperin ruudukkoon).&lt;br /&gt;
::* Tämä siksi, että luennothan ovat kaikille aina samaan aikaan&lt;br /&gt;
&lt;br /&gt;
:2. Kun kaikki luentoajat on merkattu, valitaan jokaiselle luentokurssille, yksi kerrallaan, sopivin harjoitusryhmä.&lt;br /&gt;
::* Jos harjoitusryhmä menee päällekkäin toisen kurssin luennon tai harjoitusryhmän kanssa, valitaan toinen harjoitusryhmä.&lt;br /&gt;
&lt;br /&gt;
:3. Lopuksi tarkistetaan, että kirjattiin ajat oikein, ja päällekkäisyyksiä ei ole.&lt;br /&gt;
::* Joskus ainakin luennot menevät (harvinaisempien kurssiyhdistelmien kohdalla) väkisin päällekkäin, tälle ei voi mitään.&lt;br /&gt;
&lt;br /&gt;
* Tietojenkäsittelytieteen laitoksen ulkopuolelta otettavien kurssien luentoaikataulut löytää kätevästi Flammasta linkkien &#039;Työkalut&#039; &amp;gt; &#039;Opintoni&#039; takaa.&lt;br /&gt;
&lt;br /&gt;
==Mitä sitten pitää/kannattaa valita?==&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Ensimmäinen syksy kannattaa ehdottomasti suorittaa [[Mallilukujärjestys ensimmäiselle syksylle|mallilukujärjestystä]] noudattaen.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Apua! Apua?==&lt;br /&gt;
&lt;br /&gt;
Jos herää kysymyksiä tai ihmettelyn aiheita, tuutoreita voi, ja pitää, häiritä sähköpostilla tai puhelimitse! Nopeamman vastauksen saat kuitenkin todennäköisesti IRCnetin kanavalta #tkt-apu tai kuluvan vuoden fuksikanavalta #tkt-fuksit201X.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kokeet_ja_arvostelu&amp;diff=8040</id>
		<title>Kokeet ja arvostelu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kokeet_ja_arvostelu&amp;diff=8040"/>
		<updated>2016-08-11T22:17:40Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Kurssikoe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Koetyypit==&lt;br /&gt;
&lt;br /&gt;
===Kurssikoe===&lt;br /&gt;
&#039;&#039;&#039;Kurssikoe on yleensä kurssin lopettava tilaisuus. Kurssikoe liittyy siis aina vastaavaan luentokurssiin.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssikokeeseen ei tarvitse ilmoittautua erikseen, riittää että olet ilmoittautunut kurssille.&#039;&#039;&#039; Kaikissa tietojenkäsittelytieteen laitoksen kursseissa (ohjelmoinnin, tietorakenteiden ja tietokantojen harjoitustyökurssit, Johdatus peliohjelmointiin ja muut erikoiskurssit) ei ole koetta, mutta nämä kurssien työmäärä on usein muuten vaativa. Kurssikokeessa ovat luonnollisesti voimassa kurssin aika kerätyt laskuharjoituspisteet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puoli vuotta kestävissä kursseissa (Tietorakenteet ja algoritmit, Laskennan mallit) on lähes aina kaksi kurssikoetta.&#039;&#039;&#039; Tällaisessa järjestelyssä on yleensä voimassa joko ehto a) Kurssi menee läpi jos kummastakin kokeesta saa koko kurssin kannalta vaaditun yhteispistemäärän (jos tämä raja on esim. 30/60, niin ensimmäisestä kokeesta voi saada vaikka 25/30 ja toisesta 5/30; tällöin siis 25+5=30, ja kurssi menee läpi) tai b) Kurssi menee läpi vain jos kummastakin kokeesta on saa vähintään puolet oikein. Voimassa oleva menettely selviää kurssisivulta.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssikokeen (tai kurssikokeiden) pistemäärään lisätään laskuharjoituksista saadut pisteet, jotka puolestaan määräytyvät tehtyjen harjoitustehtävien määrän mukaan.&#039;&#039;&#039; Jos kurssissa on lisäksi harjoitustyö, senkin pistemäärä lisätään koetulokseen. Se, kuinka paljon pisteitä harjoitustyöstä voi saada (tai on vähintään saatava) vaihtelee kursseittain. Yleensä tällaisessa tapauksessa on läpäistävä tietyllä pistemäärällä sekä kurssikoe että harjoitustyö, jotta kurssi voidaan katsoa suoritetuksi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssisivulta selviää kurssilla noudatettava pistelaskukäytäntö ja &amp;quot;koeleikkuri&amp;quot;, eli kuinka paljon kokeesta on joka tapauksessa saatava oikein.&#039;&#039;&#039; (Ks. [[#Yleinen arvosteluasteikko|yleinen arvosteluasteikko]] alempaa tältä sivulta)&lt;br /&gt;
&lt;br /&gt;
===Erilliskoe===&lt;br /&gt;
&#039;&#039;&#039;Erilliskokeeseen ilmoittaudutaan, jos halutaan suorittaa kurssi tenttimällä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kursseja voi melko poikkeuksetta suorittaa halutessaan tenttimällä, siis läpäisemällä vain kyseisen kurssin kurssikoetta vastaava erillinen kuulustelu. Kaikkia kursseja ei tosin voi tenttimällä suorittaa, esimeriksi joidenkin kurssien erilliskokeet vaativat vastaavan joskus pidetyn luentokurssin aikana tehdyn harjoitustyön (merkitty ilmoittaumisessa ja koeaikataulussa lisähuomautuksella (HT) tai &amp;quot;harjoitustyö vaaditaan&amp;quot;) ja toimivat siis pelkästään ikään kuin aiemmin pidetyn, harjoitustyön sisältävän, kurssin uusintakokeina. Jos et ole ollut vastaavalla kurssilla tekemässä kurssiin liittyvää harjoitustyötä mutta haluaisit silti tenttiä kurssin, voit kysyä sopivaa menettelyä kurssin viimekertaiselta luennoitsijalta. Joskus on sovittavissa että harjoitustyön voi palauttaa johonkin määräaikaan mennessä suoraan luennoitsijalle tarkastettavaksi sähköpostissa ja käydä sitten erilliskokeessa, mutta tähän ei todellakaan kannata luottaa liikaa. Pääpiirteittäin harjoitustyön sisältäviä kursseja kannattaa siis käydä luentokursseina. Erilliskoe voi joillakin harvoilla kursseilla olla myös suullinen kuulustelu tai jokin poikkeuksellisen laaja kirjallinen työ (Johdatus tekoälyyn), mutta tästä on ilmoitettu vastaavan kurssin sivulla erikseen. Puolen vuoden kurssit, joissa on normaalisti kaksi kurssikoetta, voi tenttiä yhdellä erilliskokeella.&lt;br /&gt;
&lt;br /&gt;
Yleisesti ottaen tenttimällä eli erilliskokeella ei kannata suorittaa sellaisia kursseja, jotka vaativat paljon käytännön harjoittelua, ellei aihe ole ennestään hyvin hallussa. Myöskään sisällöltään laajoja ja keskeisiä (Tietorakenteet) tai yleisesti ottaen vaikeina pidettyjä kursseja (Rinnakkaisohjelmointi, Laskennan mallit) ei kannata ensisijaisesti harkita omin päin tentittäviksi. Joitakin aineopintojen kursseja, joihin kuuluu pakollinen harjoitustyö, ei välttämättä voi suorittaa erilliskokeella lainkaan.&lt;br /&gt;
&lt;br /&gt;
Tenttimiseen soveltuvat parhaiten kurssit, joihin on selkeä oppimateriaali (hyvä kurssikirja tai opetusmoniste) ja joiden asiasisältö on ensisijaisesti lukemalla (ja tarvittaessa jonkin verran itsekseen tehtäviä tekemällä) opittavissa. Erityisen sopivia tentittäväksi ovat kurssit, joiden aihepiiri on jossain määrin ennestään tuttu (aiempien kurssien, työn tai harrastuksen tms. kautta).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Matematiikan laitoksella erilliskokeita kutsutaan, ainakin WebOodin ilmoittautumisjärjestelmässä, &amp;quot;yleistenteiksi&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Erilliskokeita pidetään yleensä tiettyinä &amp;quot;erilliskoepäivinä&amp;quot; (tai &amp;quot;yleistenttipäivinä&amp;quot;, siitä nimitys), ja samassa salissa on tällöin usean eri kurssien erilliskokeita.&lt;br /&gt;
&lt;br /&gt;
===Uusintakoe===&lt;br /&gt;
&#039;&#039;&#039;Uusintakoe-nimitystä käytetään kurssikoetta, noin kuukauden päästä, seuraavasta erilliskokeesta.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kokeen nimi on uusintakoe siksi, että siinä ovat vielä voimassa kurssikokeen tapaan kurssin aikana kerätyt harjoituspisteet. Joissain kursseissa laskuharjoituspisteet ovat voimassa pitempäänkin, esimerkiksi loppuvuoden. Laskuharjoituspisteiden voimassaolosta mainitaan kurssisivulla. Jos erillistä mainintaa ei ole, voi melko huoletta olettaa että harjoituspisteet ovat voimassa kurssikoetta seuraavassa uusintakokeessa. Uusintakoetilaisuus on kuitenkin myös aina erilliskoetilaisuus ja siihen voi ilmoittautua suorittamaan kurssin myös tavallisena erilliskokeena, vaikka ei itse kurssilla olisi ollutkaan.&lt;br /&gt;
&lt;br /&gt;
===Muut menettelyt===&lt;br /&gt;
Muitakin menettelyjä on olemassa. Yllä olevat kolme koetyyppiä kattavat kuitenkin käytännössä 97% tietojenkäsittelytieteen laitoksen ja matematiikan laitoksen koetarjonnasta.&lt;br /&gt;
&lt;br /&gt;
===Esitietokokeet===&lt;br /&gt;
Tietojenkäsittelytieteen laitoksella ei yleensä enää tarkasteta esitietoja esitietokokeilla edes kursseilla joilla tietyt esitietovaatimukset pitäisi täyttyä, ennen kuin kyseiselle kurssille pääsee.&lt;br /&gt;
&lt;br /&gt;
Erilliskokeella kurssin suorittamalla esitietoja ei tarkasteta eikä vaadita.&lt;br /&gt;
&lt;br /&gt;
==Menettely koetilaisuudessa==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seuraavassa tietojenkäsittelytieteen -ja matematiikan laitoksen yleinen käytäntö. Kokeen valvoja ilmoittaa kokeen alussa poikkeavista järjestelyistä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Omia papereita ei tuoda kokeisiin&#039;&#039;&#039;, mukaan opiskelijakortti sekä muistiinpanovälineet eli kyniä ja kumi (matematikan tentteihin tarvittaessa viivain, laskin ja taulukkokirja)&lt;br /&gt;
** Muu rekvisiitta jätetään ennen kokeen alkua luentosalin reunoille.&lt;br /&gt;
** Muistiinpanoja ei saa käyttää, ellei tähän ole annettu erikseen lupaa (joissain tietojenkäsittelytieteen tenteissä saa käyttää omaa A4-&amp;quot;lunttilappua&amp;quot;, noudata tällöin luennoitsijan ohjeita).&lt;br /&gt;
** Matematiikan laitos: Jos kurssin luennolla tai koetilaisuuden alussa &#039;&#039;&#039;ei ole erikseen kielletty&#039;&#039;&#039;, tenteissä saa käyttää taulukkokirjaa ja laskinta.&lt;br /&gt;
** Arkkeja haetaan erikseen pyytämättä koesalin edestä arveltu tarvittava määrä (4-6 kpl) ennen kokeen alkua.&lt;br /&gt;
** Valvojat jakavat ainoastaan kysymyspaperin, joka &#039;&#039;&#039;pidetään kysymyspuoli alaspäin&#039;&#039;&#039; kunnes koe julistetaan alkaneeksi.&lt;br /&gt;
* &#039;&#039;&#039;Kokeet alkavat aina tasalta.&#039;&#039;&#039;&lt;br /&gt;
** Kurssikokeet tietojenkäsittelytieteessä 2h 30min.&lt;br /&gt;
** Kurssikokeet matematiikan laitoksella yleensä 2h, mutta joskus myös 2h 30min.&lt;br /&gt;
** Erilliskokeet kummassakin noin 3 - 3,5 tuntia.&lt;br /&gt;
** Viimeinen sallittu saapumishetki koetilaisuuteen on 30 minuutin kuluttua alkamishetkestä.&lt;br /&gt;
** Kokeen valvoja julistaa koetilaisuuden alkaneeksi, jonka jälkeen saa kääntää paperin ja aloittaa.&lt;br /&gt;
** Poistua saa aikaisintaan 30 minuutin jälkeen kokeen alkamishetkestä.&lt;br /&gt;
** Poistuminen &#039;&#039;&#039;voidaan kieltää&#039;&#039;&#039; viimeisten 10-15 minuutin ajaksi, jotta työrauha säilyisi loppuun saakka. Valvoja ilmoittaa tästä kokeen alussa.&lt;br /&gt;
* Joskus jokainen tehtävä tulee ratkaista omalle konseptiarkilleen joten kuuntele ohjeustusta (monta henkilöä voi tarkastaa kokeita samaan aikaan).&lt;br /&gt;
** Kokeen aikana kiertää rivettäin nimilista, johon merkataan oma nimi ja suoritettavan kurssin nimi (samassa salissa on usein useampi eri tentti).&lt;br /&gt;
** WC:ssä saa käydä valvojan saattamana. Pienet eväät (vesipullo, suklaapatukka), jotka eivät häiritse muita tenttijöitä, ovat ok.&lt;br /&gt;
** Kännykän käyttö kokeessa on luonnollisesti kielletty, lisäksi sen tulee olla vähintään äänettömällä (värinähälytyskin kuuluu hiljaisessa salissa yllättävän hyvin). Kännykkä on suositeltavaa jättää laukkuun koesalin reunalle.&lt;br /&gt;
* Jokaiseen vastauspaperiin alkuun kirjoitetaan:&lt;br /&gt;
** kurssin nimi&lt;br /&gt;
** päivämäärä&lt;br /&gt;
** opiskelijanumero (tai henkilötunnus, jos ei muista opiskelijanumeroa)&lt;br /&gt;
** etunimi sukunimi&lt;br /&gt;
** allekirjoitus&lt;br /&gt;
* &#039;&#039;&#039;Papereita palauttaessa valvojalle tulee näyttää opiskelijakortti&#039;&#039;&#039; tai sen puuttuessa henkilöllisyystodistus.&lt;br /&gt;
** &#039;&#039;&#039;Vastauspaperit palautetaan&#039;&#039;&#039; sisäkkäin, muut paperit (ml. kysymyspaperi) saa heittää roskikseen. Kysymyspaperin saa useimmiten ottaa myös mukaansa.&lt;br /&gt;
** Vähintään yksi vastauspaperi tulee palauttaa, vaikka sitten tyhjänä.&lt;br /&gt;
&lt;br /&gt;
==Arvostelu ja arvosana==&lt;br /&gt;
* Kurssin tulosten on oltava saatavilla kuukauden sisään kurssin viimeisestä suorituksesta (yleensä koe tai joskus harjoitustyön deadline). Kokeiden korjauksen tulisi siis valmistua kuukauden määräajassa.&lt;br /&gt;
** Suurilla massakursseilla kokeiden korjaus kestää joskus kauemminkin.&lt;br /&gt;
* Tietojenkäsittelytiede&lt;br /&gt;
** Tietojenkäsittelytieteen laitoksella tulokset löytyvät [https://ilmo.cs.helsinki.fi/tulokset/ tiklistä].&lt;br /&gt;
** TKTL:n luento- ja itseopiskelukursseilla yleensä vaaditaan harjoitusten tekemistä parhaaseen arvosanaan! Suorita kurssi erillistentillä jos et halua tehdä harjoitustehtäviä. On tottakai myös täysin mahdollista käydä luennoilla, tehdä joitain tehtäviä ja osallistua sen jälkeen erillistettiin.&lt;br /&gt;
&lt;br /&gt;
* Matematiikan ja tilastotieteen laitos&lt;br /&gt;
** Matematiikan kurssien tulokset löytyvät matematiikan ja tilastotieteen laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Etusivu wikistä kohdasta koetulokset] (vaatii kirjautumisen)).&lt;br /&gt;
** Matematiikan kursseilla kannattaa kirjautua wikiin ja painaa &amp;quot;watch&amp;quot;-nappullaa kurssisivulta jolloin saat tiedon päivityksistä sähköpostiisi, ja sinun ei tarvitse aina käydä katsomassa onko kokeet jo tarkastettu.&lt;br /&gt;
** Isoilla kursseilla kokeet tarkastetaan yleensä noin kolmessa viikossa.&lt;br /&gt;
** Matematiikan kokeissa harjoitusten tekemisestä saa yleensä lisäpisteitä ja pelkillä kokeilla on mahdollista saada myös parhaita arvosanoja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Suoritusmerkintöjen on ilmestyttävä WebOodiin 2-3 viikon sisään tulosten ilmestymisestä.&lt;br /&gt;
** Monesti tulee jopa tulosten kanssa samoihin aikoihin.&lt;br /&gt;
&lt;br /&gt;
* Joistain kursseista ei saa arvosanaa, vaan pelkän suoritusmerkinnän &amp;quot;hyväksytty&amp;quot;. Esimerkiksi pakolliset kielikurssit ovat yleensä tällaisia.&lt;br /&gt;
&lt;br /&gt;
* Opiskelija on oikeutettu kuulemaan perustelut saamalleen arvosanalle. Omaa koettaan saa myös pyytää nähtäväksi. Jos luennoitsija (tai kokeen korjaaja, mikäli hän on eri henkilö) ei erikseen ilmoita kurssin palauteaikaa, häneen voi ottaa yhteyttä sähköpostilla tai vastaanottoaikana.&lt;br /&gt;
** Tarkista aina myös omat laskuharjoituspisteesi, niiden kirjaamisessa sattuu inhimillisiä vahinkoja. TKTL:n laskuharjoituspisteet näkyvät [https://ilmo.cs.helsinki.fi/tulokset/ tiklistä], matematiikan kursseilla löytyy yleensä linkki kurssin kotisivulta PDF-tiedostoon.&lt;br /&gt;
&lt;br /&gt;
===Yleinen arvosteluasteikko===&lt;br /&gt;
* Tietojenkäsittelytieteen laitos: tehtäviä 3-6&lt;br /&gt;
** 1, läpipääsy, vaatii puolet oikein. Pisteissä siis yleensä 25/50 (kurssikoe) tai 30/60 (erilliskoe)&lt;br /&gt;
** 5, korkein arvosana, vaatii ~50/60 pistettä&lt;br /&gt;
** Loput arvosanat jakautuvat tasaisesti tälle välille&lt;br /&gt;
&lt;br /&gt;
* Matematiikan laitos: 4 tehtävää kurssikokeessa, 5 tehtävää erilliskokeessa&lt;br /&gt;
** 1 läpipääsy: Vaatii puolet oikein, eli kurssikokeessa 12/24 tai erilliskokeessa 15/30.&lt;br /&gt;
** 5, korkein arvosana: Vaatii kurssikokeessa ~20/24 tai erilliskokeessa ~25/30 tai 90% kokeen pisteistä.&lt;br /&gt;
** Harjoitukset antavat yleensä lisäpisteitä eli niitä kannattaa tehdä.&lt;br /&gt;
&#039;&#039;&#039;Arvostelusta päättää aina viimekädessä luennoitsija.&#039;&#039;&#039; Monella kurssilla käytetäänkin &amp;quot;normaalista&amp;quot; poikkeavia pistemääriä tai annetaan esimerkiksi laskareissa paikallaolosta pisteitä tai muuta etua.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8039</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8039"/>
		<updated>2016-08-11T22:13:21Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietorakenteet ja algoritmit (8-10 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssi on hyvin erilainen kuin aiemmin. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan pääasiassa tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla on koe, mutta tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Tekstit ovat usein englanniksi myös suomenkielisiä esseitä varten, johtuen alan yleiskielestä. Osa aiheista saattaa olla haastavia, mutta tarkoituksena onkin perehtyä alaan ja sen monimuotoisuuteen, ei oppia kaikesta kaikkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5+1 op) ja Versionhallinta (1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikan mentelmät -kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Extrapintopisteitä on mahdollista saada tekemällä tehtäviä. Normaaleista laskaritehtävistä voi saada yhden lisäopintopisteen ja tekemällä kaikki versionhallintatehtävät saa yhden opintopisteen kokoisen versionhallinta -kurssin suorituksen.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (4-5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8038</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8038"/>
		<updated>2016-08-11T22:12:45Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmistotuotanto (5 + 1 op) ja Versionhallinta (1 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssi on hyvin erilainen kuin aiemmin. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan pääasiassa tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla on koe, mutta tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Tekstit ovat usein englanniksi myös suomenkielisiä esseitä varten, johtuen alan yleiskielestä. Osa aiheista saattaa olla haastavia, mutta tarkoituksena onkin perehtyä alaan ja sen monimuotoisuuteen, ei oppia kaikesta kaikkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5+1 op) ja Versionhallinta (1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikan mentelmät -kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Extrapintopisteitä on mahdollista saada tekemällä tehtäviä. Normaaleista laskaritehtävistä voi saada yhden lisäopintopisteen ja tekemällä kaikki versionhallintatehtävät saa yhden opintopisteen kokoisen versionhallinta -kurssin suorituksen.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (4-5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8037</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=8037"/>
		<updated>2016-08-11T22:12:31Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietorakenteiden harjoitustyö (3 tai 5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssi on hyvin erilainen kuin aiemmin. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan pääasiassa tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla on koe, mutta tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Tekstit ovat usein englanniksi myös suomenkielisiä esseitä varten, johtuen alan yleiskielestä. Osa aiheista saattaa olla haastavia, mutta tarkoituksena onkin perehtyä alaan ja sen monimuotoisuuteen, ei oppia kaikesta kaikkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 + 1 op) ja Versionhallinta (1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikan mentelmät -kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Extrapintopisteitä on mahdollista saada tekemällä tehtäviä. Normaaleista laskaritehtävistä voi saada yhden lisäopintopisteen ja tekemällä kaikki versionhallintatehtävät saa yhden opintopisteen kokoisen versionhallinta -kurssin suorituksen.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (4-5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=8035</id>
		<title>Fuksiwiki</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=8035"/>
		<updated>2016-08-11T22:04:22Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; colspan=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;clear: both;&amp;quot;&lt;br /&gt;
| style=&amp;quot;margin: 0; padding: 0 0.6em 0 0; vertical-align: top;&amp;quot; |&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 1.1em; border: 1px dashed #CCCCCC; background: #F5F5F5;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Fuksiwiki on tarkoitettu fuksien, ja miksei muidenkin opiskelijoiden, opintojen tueksi.&lt;br /&gt;
&lt;br /&gt;
Ensisijaisena tarkoituksena on koota &#039;&#039;&#039;Helsingin yliopiston tietojenkäsittelytieteen laitoksen&#039;&#039;&#039; uusia opiskelijoita askaruttavat asiat ja neuvot yksiin kansiin. Informaatiota on melko paljon, mutta kaikkea ei ole tarkoitus ahmia heti. Uuden opiskelijan olisi hyvä lukaista ainakin &amp;quot;Fuksisyksyn krittisimmät&amp;quot; ja &amp;quot;Ohjeita ja opastusta&amp;quot; -kohtien tekstit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fuksiwikin muokkausoikeudet ovat kaikilla sisäänkirjautuneilla. Sisäänkirjautuminen tapahtuu TKO-älyn jäsentunnuksilla.&#039;&#039;&#039; Fuksiwikin ylläpidosta vastaa [http://tko-aly.fi TKO-äly ry].&lt;br /&gt;
&lt;br /&gt;
Tällä hetkellä wikissä on &amp;lt;strong&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]]&amp;lt;/strong&amp;gt; artikkelia.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEF2E0; background: #F1FFF1;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3BFB1; background: #CEF2E0; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Fuksisyksyn kriittisimmät&amp;lt;/h2&amp;gt; &lt;br /&gt;
&amp;lt;!--&#039;&#039;&#039;Syksyn 2011 fuksi: Liity [[Fuksilista | fuksien sähköpostilistalle]], jos et liittynyt jo orientoivissa.&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Fuksin selviytymispaketti|Fuksin selviytymispaketti]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Syksyn 2016 aikataulu|Syksyn aikataulu]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Tuutorit 2016|Syksyn 2016 tuutorit]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Opintovastaavat]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Fuksisyksyn mallilukujärjestys 2016]]&#039;&#039;&#039;&lt;br /&gt;
* [[Opintotuki]]&lt;br /&gt;
&amp;lt;!--* [[Neuvontapaja]]--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Fuksien kysymää]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[http://www.cs.helsinki.fi/tietotekniikka/fuksilaitteet-2015 Fuksiläppärit 2015]&lt;br /&gt;
* [[Linkkejä | Tärkeimmät linkit]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEF2E0; background: #F1FFF1;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3BFB1; background: #CEF2E0; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Ohjeita ja opastusta&amp;lt;/h2&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Käyttölupien aktivointi]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Kursseille ilmoittautuminen]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC-ohjeet]]&#039;&#039;&#039;&lt;br /&gt;
* [[Ainejärjestön esittely | TKO-älyn esittely]]&lt;br /&gt;
* [[Gurulan esittely]] ja 24h mikroluokat&lt;br /&gt;
* [[Reittiopas]]&lt;br /&gt;
* [[Tapahtumapaikat]]&lt;br /&gt;
* [[Yliopisto - suomi -sanakirja]]&lt;br /&gt;
* [[Kurssien nimilyhenteet]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;45%&amp;quot; style=&amp;quot;margin: 0; padding: 0; vertical-align: top;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Opiskelu&amp;lt;/h2&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Tietojenkäsittelytieteen opiskelusta]]&#039;&#039;&#039;&lt;br /&gt;
* [[Täydennyksiä opinto-oppaaseen]]&lt;br /&gt;
* &#039;&#039;&#039;[[Opintojen malliaikataulu]]&#039;&#039;&#039;&lt;br /&gt;
* [[Kurssikuvauksia]]&lt;br /&gt;
* [[Opintomateriaaleista]]&lt;br /&gt;
* [[Kokeet ja arvostelu]]&lt;br /&gt;
* [[Sivuainekuvauksia]]&lt;br /&gt;
* &#039;&#039;&#039;[[Erikoistumislinjat ja maisteriohjelmat]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[http://tarpisto.tko-aly.fi Tenttiarkisto Tärpistö]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;!--* [[Tutkintokokonaisuuksia]]--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2; font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Matematiikkaa&amp;lt;/h2&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Matematiikan sivuaineopinnoista]]&#039;&#039;&#039;&lt;br /&gt;
* [[Matematiikan ja menetelmätieteen opintosuunnitelmia|Ehdotuksia sivuainekokonaisuudesta]]&lt;br /&gt;
* [[Matematiikan kurssit]]&lt;br /&gt;
&amp;lt;!--* [[Millaista matematiikkaa opinnoissa tarvitaan|Missä sitä tarvitaan]]--&amp;gt;&lt;br /&gt;
* [[Apua matematiikkaan | Apua matematiikasta kärsiville]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2;  font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Tietojärjestelmät&amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Sähköpostitilit]]&lt;br /&gt;
* [[MSDNaa ja DreamSpark]]&lt;br /&gt;
* [[Langattomat verkot]]&lt;br /&gt;
* [[Neuvoja laitoksen työasemiin]]&lt;br /&gt;
* [[Ongelmatilanteita]]&lt;br /&gt;
* [[Libproxy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 0.4em 0; padding: 0.6em; border: 1px solid #CEDFF2; background: #F1F1FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin: 0 0 0.6em 0; padding: 0.2em 0.4em; border: 1px solid #A3B0BF; background: #CEDFF2;  font-size: 120%; font-weight: bold;&amp;quot;&amp;gt;Muuta&amp;lt;/h2&amp;gt;&lt;br /&gt;
* [[Kiinnostavia kirjoja]]&lt;br /&gt;
* [[Yliopistoliikunta|Mietteitä yliopistoliikunnasta]]&lt;br /&gt;
* [[Kurssikanavat|Kurssien IRC-kanavat]]&lt;br /&gt;
* [[PhD Student FAQ]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=IRC-ohjeet&amp;diff=8033</id>
		<title>IRC-ohjeet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=IRC-ohjeet&amp;diff=8033"/>
		<updated>2016-08-11T21:30:14Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Aloittaminen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tämän ohjeen tarkoitus on toimia mahdollisimman lyhyenä johdantona laitoksen etäpalvelimelta irkkaamiseen.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tarkoituksena ei ole opastaa syvällisempään Irssin (tai muunkaan) asiakasohjelman käyttöön. Irssin käyttöön opastaa [http://irssi.org/documentation/startup Irssi.org:in Startup HOWTO]. Kun on päässyt alkuun, ohjeita saa kysellä myös [[Fuksikanava]]lta.&lt;br /&gt;
&lt;br /&gt;
== IRC ja käpistely ==&lt;br /&gt;
&lt;br /&gt;
IRC ([http://www.ietf.org/rfc/rfc1459.txt Internet Relay Chat]), tutummin &amp;quot;irkki&amp;quot;, on suosittu väline reaaliaikaiseen keskusteluun Internetin välityksellä. &#039;&#039;&#039;Tuutorit, ainejärjestöaktiivit ja huomattavan osan fukseista sekä kanssaopiskelijoista löytää irkistä, missä on tarjolla turinaseuran lisäksi apua ja neuvoja pitkälti vuorokauden ympäri.&#039;&#039;&#039; Irkkiä käytetään myös tapahtuma- ja muuhun tiedottamiseen perinteisten sähköpostilistojen ohella - näyttää kuitenkin siltä, että sähköposti alkaa olla meille käpistelijöille jo liian hidas järjestelmä. Lyhyesti: Tule siis irkkiin, siellä ovat kaikki muutkin!&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== WebIRC ===&lt;br /&gt;
Jos sinulla ei ole vielä laitoksen käyttäjätunnusta, allaolevan ohjeen pituus hirvittää, tai haluat vain oikeasti kysyä yhden nopean kysymyksen (kulkematta täyttymyksen tuovan irkkikoulutusputken kautta), ohjaa selaimesi osoitteeseen http://chat.ircnet.org/, naputa itsellesi joku lempinimi (nickname) ja valitse kanavaksi Other, #tkt-fuksit2010 niin pääset ns. fuksikanavalle. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH-yhteys ja IRC ==&lt;br /&gt;
&lt;br /&gt;
Homma toimii perusperiaatteessaan niin, että käyttäjä ottaa SSH-yhteyden koneeltaan etäpalvelimeen (jotkut puhuvat näistä &amp;quot;shelleinä&amp;quot;), jossa käynnistää IRC-pääteohjelman, joka puolestaan ottaa yhteyden johonkin tiettyyn IRC-palvelimeen. [http://fi.wikipedia.org/wiki/Ssh SSH-yhteys] itsessään on, näin yksinkertaisesti sanottuna, vahvan salauksensa vuoksi yleisesti käytetty tekstipohjainen etäkäyttöyhteys. Tulee myös huomata, että &amp;quot;etäpalvelinta&amp;quot; ja &amp;quot;IRC-palvelinta&amp;quot; ei tule tässä sekoittaa toisiinsa, vaan ne ovat kokonaan toisistaan riippumattomia asioita.&lt;br /&gt;
&lt;br /&gt;
Tämän ohjeen tapauksessa kyseisenä etäpalvelimena toimii laitoksen oma Linux-palvelin, jota voi käyttää suositun IRC-pääteohjelman, [http://irssi.org Irssin] ajamiseen. Voit kirjautua palvelimelle SSH-yhteyden avulla mistä tahansa verkkoon kytketystä koneesta, jossa on toimiva SSH-yhteysohjelma. Näistä lisää seuraavaksi. &lt;br /&gt;
&lt;br /&gt;
== SSH-yhteyden luominen ==&lt;br /&gt;
&lt;br /&gt;
=== Windowsilla ===&lt;br /&gt;
Windows-käyttöjärjestelmälle hyvä SSH-yhteysohjelma on PuTTY Tray, jonka voit ladata osoitteesta http://haanstra.eu/putty/. Raahaa sivulla ohjelman logo lataus-kuvakkeen päälle tai paina sivuilta &amp;quot;Download&amp;quot;-linkkiä, jonka alla on putty.exe-niminen tiedosto. Tallenna kyseinen tiedosto haluamaasi paikkaan koneellasi, ja käynnistä ohjelma kyseisestä tiedostosta. Muuta asennusta ei tarvita.&lt;br /&gt;
&lt;br /&gt;
Käynnistettyäsi ohjelman, kirjoita &#039;Host Name&#039; -kenttään &#039;melkki.cs.helsinki.fi&#039;, &#039;Saved Sessions&#039; -kenttään &amp;quot;Melkki&amp;quot; tai muu haluamasi nimi yhteydelle ja paina &#039;Save&#039;. Nyt voit jatkossa ottaa yhteyden palvelimeen pelkästään tuplaklikkaamalla yhteyden nimeä listasta. Paina &#039;Yes&#039; seuraavaksi ilmestyvään tietoturvavarmistukseen (tämä näkyy vain ensimmäisellä yhdistyskerralla). Tämän jälkeen syötä laitoksen käyttäjätunnuksesi ja salasanasi.&lt;br /&gt;
&lt;br /&gt;
=== Linuxilla ja OS X:llä ===&lt;br /&gt;
Useimmissa Unix-järjestelmissä on ssh-yhteysohjelma yleensä valmiiksi asennettuna ja jonka nimi on ytimekkäästi &amp;quot;ssh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
SSH-yhteyden laitoksen palvelimeen saa täten kirjoittamalla komentoriville/terminaaliin&lt;br /&gt;
 ssh tunnus@melkki.cs.helsinki.fi&lt;br /&gt;
&lt;br /&gt;
=== Automaattinen tunnistautuminen ssh-avaimella ===&lt;br /&gt;
Luomalla ensin omalla koneellasi ssh-avainpari&lt;br /&gt;
 ssh-keygen -t rsa -C &amp;quot;your_email@example.com&amp;quot;&lt;br /&gt;
sitten kopioidaan oletuksella polkuun &amp;lt;code&amp;gt;~/.ssh/id_rsa.pub&amp;lt;/code&amp;gt; tiedoston sisältö laitoksen koneelle tiedostoon &amp;lt;code&amp;gt;~/.ssh/authorized_keys&amp;lt;/code&amp;gt;.&lt;br /&gt;
Useampia avaimia voi lisätä tiedostoon rivinvaihdoilla erotettuna. Tiedosto voi näyttää esimerkiksi tältä:&lt;br /&gt;
 #koti:&lt;br /&gt;
 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YFesUYLoafcu5aRM75AjxTZbc+[...]E4AUGrNzdtnjZ3oiTXJi6GnLl4NfMCzppXwtvlDGINpjG4VoHRM3b3FoCXa+poRUrFvNLtiZqUdLbVJrsh5pxq22j0oXJ/LN email@example.org&lt;br /&gt;
 &lt;br /&gt;
 #jokutoinenautentikoitu:&lt;br /&gt;
 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC+jQlXHO6yNbesIn[...]hUBvy9Ebplg2Kp2UQNtvlDGINpjG4VoHRM3b3FoCXa+poRUrFvNLtiZqUdLFnEnZzIG80VaCsfvwnAO5L82uyExVoktnsf8ZnSQ== email@example.org&lt;br /&gt;
&lt;br /&gt;
== Irssin käyttö ==&lt;br /&gt;
&lt;br /&gt;
=== Aloittaminen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huom!&#039;&#039;&#039; Tämän kohdan ohje kertoo miten Irssi käynnistetään Melkille. Älä käynnistä aina irkkaamaan halutessasi uutta Irssiä, vaan katso kohdasta &#039;&#039;&#039;Keskeyttäminen ja jatkaminen&#039;&#039;&#039; miten jätät Irssin pyörimään Melkille.&lt;br /&gt;
&lt;br /&gt;
Irssi toimii näppärästi screen-apuohjelman kanssa. Käynnistä Irssi syöttämällä komento&lt;br /&gt;
 screen irssi&lt;br /&gt;
&lt;br /&gt;
Mikäli Irssin ruutu on aluksi tyhjä, yhdistetään ensin palvelimelle. Se tapahtuu komennolla&lt;br /&gt;
 /CONNECT palvelin&lt;br /&gt;
jossa palvelin-kohtaan laitetaan haluttu IRC-palvelin, esimerkiksi irc.cc.tut.fi.&lt;br /&gt;
&lt;br /&gt;
Palvelimelle yhdistämisen jälkeen asetetaan oma nimimerkki eli &amp;quot;nick&amp;quot; ja oikea nimi seuraavilla komennoilla:&lt;br /&gt;
 /SET nick nimimerkkisi&lt;br /&gt;
 /SET real_name Etunimi Sukunimi&lt;br /&gt;
&lt;br /&gt;
Lopulta voimme siirtyä jutustelemaan fuksikanavalle!&lt;br /&gt;
 /join #tkt-fuksit2016&lt;br /&gt;
&lt;br /&gt;
=== Keskeyttäminen ja jatkaminen ===&lt;br /&gt;
&lt;br /&gt;
Irssin voi sulkea /quit -komennolla - &#039;&#039;&#039;mutta sitä ei kannata yleensä käyttää!&#039;&#039;&#039; Irssin voi jättää pyörimään Melkille screenin avulla, jolloin et menetä poissaollessassi käytyjä keskusteluja ja pystyt ottamaan vastaan viestejä milloin vain.&lt;br /&gt;
&lt;br /&gt;
Voit piilottaa Irssin näppäinyhdistelmällä &#039;&#039;&#039;Ctrl+a+d&#039;&#039;&#039;, jolloin palaat Melkin komentoriville.&lt;br /&gt;
&lt;br /&gt;
Kun otat uudestaan SSH-yhteyden Melkki-palvelimelle, &#039;&#039;&#039;älä käynnistä Irssiä uudelleen&#039;&#039;&#039; vaan ota esille aiemmin piilottamasi Irssi komennolla&lt;br /&gt;
 screen -rd&lt;br /&gt;
&lt;br /&gt;
Jos komento ei palauta Irssiäsi (There is no screen to attach), se voi olla kaatunut. Tällöin joudut käynnistämään uuden Irssin.&lt;br /&gt;
&lt;br /&gt;
=== Tärkeimmät komennot ===&lt;br /&gt;
* Nimimerkin vaihtaminen: /nick uusnick&lt;br /&gt;
* Kanavalle liittyminen: /join #kanavannimi (tai /j)&lt;br /&gt;
* Kanavalla olevien käyttäjien tulostaminen: /names (tai /n)&lt;br /&gt;
* Kanavan otsikon vaihtaminen: /topic uusi otsikko&lt;br /&gt;
* Operaattorioikeuksien (op) jakaminen: /op toinennick&lt;br /&gt;
* Kanavalta poistuminen: /part&lt;br /&gt;
* Irkistä kokonaan poistuminen, sulkee Irssin: /quit&lt;br /&gt;
* Yksityisviestien lähettäminen: /msg kaverinnimi viesti&lt;br /&gt;
* Nimimerkin käyttäjän selvitys: /whois outonick&lt;br /&gt;
* &amp;quot;Vahinko-pasten&amp;quot; (puttyssa rightclick) estäminen: /set paste_verify_line_count 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oletuksena jokainen uusi kanava ja yksityiskeskustelu avautuu omaan ikkunaansa. Ikkunoita käsitellään seuraavasti:&#039;&#039;&#039;&lt;br /&gt;
* Näkyvän ikkunan vaihtaminen: alt+numero tai esc+numero (kanavasta 10 eteenpäin 11=Q, 12=W, 13=E..., myös /win numero)&lt;br /&gt;
* Seuraavaan ikkunaan siirtyminen: ctrl+n tai esc+→&lt;br /&gt;
* Edelliseen ikkunaan siirtyminen: ctrl+p tai esc+←&lt;br /&gt;
* Ikkunan sulkeminen: /window close (tai /wc)&lt;br /&gt;
&lt;br /&gt;
Edelliset keskustelut näkee scrollaamalla PageUpilla ja PageDownilla, tai fn+shift+↑ ja fn+shift+↓.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaikki käytettävissä olevat komennot näet komennolla /help&lt;br /&gt;
&lt;br /&gt;
Yksityiskohtaisempaa tietoa tietystä komennosta saat kirjoittamalla /help komennonnimi, esim /help whois&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Command-line_completion Tab-täydennys] on hyödyllinen työkalu myös irkatessa. Kirjoittamalla osan esim. nimimerkistä ja painamalla tabulaattoria irssi täydentää lopun automaattisesti.&lt;br /&gt;
&lt;br /&gt;
Lisäohjeita Irssiin liittyen löydät sen kotisivuilta osoitteesta http://irssi.org/documentation&lt;br /&gt;
&lt;br /&gt;
== Muuta huomioitavaa ==&lt;br /&gt;
*[[Fuksikanava]] toimii, nimestä huolimattaan, laitoksen useimpien irkkaavien tietojenkäsittelytieteilijöiden ensisijaisena tiedonlähteenä, ei pelkästään fuksien. Fuksikanava (#tkt-fuksit&amp;lt;vuosiluku&amp;gt;) vaihtuu kuitenkin vasta kesällä, ei siis vielä uutenavuotena. &lt;br /&gt;
&lt;br /&gt;
*[[Kurssikanavat]]-sivulta löydät useita kurssikohtaisia IRC-kanavia. Jos tarvitset apua jonkin tietyn kurssin suhteen, sitä kannattaa kysellä ensisijaisesti kurssikohtaiselta kanavalta. Fuksikanavaltakin voi toki kysellä apua, mutta siellä kysymyksesi saattaa jäädä muun keskustelun jalkoihin.&lt;br /&gt;
&lt;br /&gt;
*Jos olet kirjautuneena laitoksen Linux-työasemalle ja haluat ottaa ssh-yhteyden melkki.cs.helsinki.fi -palvelimeen, riittää pelkkä &amp;quot;ssh melkki&amp;quot; - siis ilman täydellistä osoitetta.&lt;br /&gt;
&lt;br /&gt;
*Irssiin teemoja löydät osoitteesta http://irssi.org/themes. Laitoksen Linux-puolelta saatat joutua säätämään terminaalisi väreiksi linux-värit, jotta teemasi värit näkyvät oikein.&lt;br /&gt;
&lt;br /&gt;
*Muitakin IRC-palvelimia on, ks. [http://www.ircnet.com/index.php?PHPSESSID=0ebab8ef7ab12d01cbaf911b048d1a22&amp;amp;p=5&amp;amp;cur=fi tämä listaus]. Kaikkiin näistä ei kuitenkaan esimerkiksi laitosympäristön melkki-palvelimelta pääse.&lt;br /&gt;
&lt;br /&gt;
*Jos haluat olla erilainen nuori, voit käyttää melkin sijasta myös melkinpaasi-nimistä palvelinta.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=8032</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=8032"/>
		<updated>2016-08-11T20:40:36Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: Tira pidetäänkin syksyllä&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mallilukujärjestys löytyy laitoksen sivuilta osoitteessa http://www.cs.helsinki.fi/opiskelu/mallilukuj-rjestys-luk-ja-fm.&lt;br /&gt;
&lt;br /&gt;
Myös opinto-oppaasta löytyy jotakuinkin vastaava mallilukujärjestys, mutta &#039;&#039;&#039;laitoksen sivujen mallilukujärjestys on aina varmasti ajan tasalla. Tällä sivulla tulkitaan sanallisesti tuota mallilukujärjestystä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Formaalia esitystapaa matematiikka opettaa, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Vaikka mallilukujärjestystä tutkailemalla näyttää siltä, että selviää vain parilla matematiikan kurssilla, ei kannata tuudittautua turvallisuuden tunteeseen. Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseja, vaikka se olisi kuinka ikävää. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö ikinä pärjäisi opinnoissasi. Tarkoituksena on kannustaa opiskelemaan matematiikkaa, koska siitä on vain hyötyä.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska viikottainen tapaamisaika sovitaan ohjaajan kanssa erikseen.&lt;br /&gt;
&lt;br /&gt;
Neuvontapaja järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Jos et ole kuullut tällaisesta mahdollisuudesta, kysy neuvontapajaohjaajilta tai TKO-älyn opintovastaavilta. Jos ensimmäisen syksyn keskeiset kurssit takkuavat, ei kuitenkaan kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
* Katso myös erityinen [[mallilukujärjestys ensimmäiselle syksylle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on välttämätöntä, jos mielii valmistua kolmessa vuodeksi luonnontieteiden kandidaatiksi (LuK). Kurssien esitietoriippuvuuksiin katso [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet riippuvuuskaavio laitoksen sivuilla]. Opinto-oppaan oma versio sisältänee samat tiedot, joskin ainakin toiseksi sekavammassa muodossa.&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Myös Aineopintojen harjoitustyö: Ohjelmointi on välttämätöntä suorittaa viimeistään ensimmäisen vuoden kesällä (Ohjelmistotekniikan menetelmät on esitietovaatimuksena Ohjelmoinnin harjoitustyölle).&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I-II || 8&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || II || 6&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III-IV || 8&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || IV ||  5 + 1 + 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Lisäksi toinen harjoitustyö tulee suorittaa ennen Ohjelmistotuotantoa.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellisen kirjoittamisen kurssi || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
&lt;br /&gt;
=== 1. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|- &lt;br /&gt;
| Tietokone työvälineenä || I || 1&lt;br /&gt;
|- &lt;br /&gt;
| TVT-ajokortti || I || 3&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (OhPe), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (JTKT) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Johdatus yliopistomatematiikkaan (JYM) on myös tärkeä kurssi. JYM on jaettu kahteen periodiin vaikka se on vain 5 opintopisteen kurssi, mutta siitäkin onnistuu putoamaan kärryiltä jos tehtäviä ei tee.&lt;br /&gt;
&lt;br /&gt;
TVT-ajokortti on käytännössä ilmaiset 3 opintopistettä. Muista kuitenkin tehdä esitehtävät jotka vaaditaan kokeeseen.&lt;br /&gt;
&lt;br /&gt;
Ykkösperiodin paniikkihäiriöistä ks. tiivistelmä kakkosperiodin jälkeen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039; voivat ottaa joko Tietorakanteet ja algoritmit TAI Tietokantojen perusteet niin syksystä ei tule liian helppo.&lt;br /&gt;
&lt;br /&gt;
=== 2. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (jatkuu)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (jatkuu)&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kakkosperiodissa tärkeimmät kurssit ovat edelleen Ohjelmoinnin jatkokurssi (OhJa) ja Johdatus yliopistomatematiikkaan (JYM). Edelleen on toki muistettava myös JTKT:n suoritus, sillä sitä ei tässä vaiheessa ainakaan kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Vaikka OhPe vaaditaankin Ohjelmoinnin jatkokurssiin ja Ohjelmistotekniikan menetelmiin (OTM), niin tulokset eivät ole näiden kurssien alkaessa vielä tuleet. Jos OhPesta paukahtaa WebOodiin hylätty, mutta OhJassa ja OhMassa on mukana edes jollain tasolla, niin kumpaakaan ei missään nimessä kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahistaa. Mutta ei hätää! Ota rohkeasti Johdatus diskreettiin matematiikkaan (siihen kannattaakin sitten panostaa), ja lue tässä välissä [[Sivuainekuvauksia|sivuaineita]]!&lt;br /&gt;
&lt;br /&gt;
JYMin ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Ratkomo Ratkomosta] tai JYMin omasta pajasta, koska luennon matemaattisesti kauniit &amp;quot;On olemassa kuvaus siten, että...&amp;quot; voidaan toisinaan korvata vanhemman opiskelijat &amp;quot;Tee näin...&amp;quot;-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Syksylle voi napata jonkin matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. kohta [#Matematiikan sovittaminen malliaikatauluun] alempaa. On myös mahdollista ottaa Matematiikka tutuksi -kurssi.&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia - ei hätää, kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. MaTun suorituksesta ei riipu mikään, joten sen failaaminen on pienin ongelmasi. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JTKT:tä on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja KäJässä), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Erityisen ikävää on, että OhPe - OhJa - TiRa - LaMa - Ohtuprojekti - TiKi -kriittisellä polulla yhdenkin kurssin failaaminen venyttää opintoja poikkeuksetta yli kolmelle vuodelle. Jos olet yritteliäs ja hyvä hallitsemaan aikaasi, voit vielä ottaa klapin kiinni tekemällä 3. vuonna Ohtuprojektin ja TiKin yhtä aikaa. Et ehdi edes jäädä vielä Etappeihin (opintojen etenemisen seurantajärjestelmä, LuK-tutkinnossa kolme on &amp;quot;etappia&amp;quot;, joissa siihenastinen eteneminen tarkastetaan), jos käyt toisen niistä ajallaan ja hoitelet toisen samalla kun aloittelet jo maisterikursseja. Eikä se viidessä vuodessa valmistuminen ole vieläkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Tietorakanteet ja algoritmit jatkuu TAI voit ottaa Tietokoneen toiminnan.&lt;br /&gt;
&lt;br /&gt;
=== 3. periodi (eli kevään 1. periodi) === &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (alkaa) || OhJa, JYM&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmoinnin harjoitustyö || III || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Tietokantojen perusteet || III || 5 || OhPe&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja OhJa) sekä matematiikasta (JYM), on kevään vastaava koitos Tietorakenteet ja algoritmit-kurssi (TiRa). Kurssi kestää koko lukukauden, ja siinä ei pärjää, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa.&lt;br /&gt;
&lt;br /&gt;
Ohjelmointikurssien puuttuminen estää myös harjoitustyöhön osallistumisen. Harjoitustyökursseilla taas keskeyttämistä ei katsota hyvällä, vaan se vaikuttaa ensi kerralla ryhmään pääsemiseen - harjoitustöiden pienryhmäopetus kun on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssilla hyötyy Ohjelmistotekniikan menetelmistä, mutta se ei ole pakollinen esitietovaatimus. Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena Tietokantasovellus-harjoitustyölle, jos sen haluaa suorittaa. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algorimit kannattaa ottaa sinänsä vakavasti, sillä sen suorittamatta jättäminen lisää helposti opiskeluaikaa ainakin puolella vuodella. Jos tietorakenteita ei pääse opiskelemaan tai ohjelmoinnin harjoitustyötä tekemään, otetaan käyttöön sivuainesuunnitelmat ja suoritetaan puuttuvia kursseja (ks. alla). &lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan [http://mathstat.helsinki.fi/opiskelu/ matematiikkaa ja tilastotiedettä], jotta saa pakollisen matematiikan tai [http://www.cs.helsinki.fi/opiskelu/menetelmatieteet/ menetelmätieteiden] sivuainekokonaisuuden kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa. &lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että [http://www.helsinki.fi/kksc/ kielikeskuksen] a) [http://www.helsinki.fi/weboodi ilmoittautumisjärjestelmä] ja b) kursseille ilmoittautumisajat eroavat laitoksen vastaavista). Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät. Tietokantojen perusteisiinkin pääsee neljännessä periodissa, vaikka ohjelmointikursseissa olisi sykysyllä epäonnistunutkin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Etsi sopivia aineopintoja [[Kurssikuvauksia|kurssikuvauksista]]&lt;br /&gt;
&lt;br /&gt;
=== 4. periodi (eli kevään 2. periodi) === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (loppuu) || OhJa, JYM&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus tai muu harjoitustyö || IV || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Sivuaineita/valinnaisia || IV || 5- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aiemmin keväällä napatut sivuaineet voivat jatkua tälle periodille TiRan tapaan. Pyri ottamaan n. 15 op myös tähänkin periodiin.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen selväksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Toista sivuainekokonaisuutta ei pidä myöskään unohtaa, se tulisi aloittaa heti toisen vuoden syksyllä. Laajennettua matematiikan tai menetelmätieteiden sivuainekokonaisuutta (50op) käyvien kannattaa muodostaa näiden aineiden kurssien välille yhtenäinen jatkumo, etteivät asiat tai motivaatio kerkeä välissä jo unohtumaan. Myöskin toisen kotimaisen kielen (~&amp;quot;virkamiesruotsi&amp;quot;) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestyksen tulkitsemisessa jatkoa koskien apua voi kysyä laitoksen opintoneuvonnasta tai TKO-älyn opintovastaavilta.&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Analyysi I, (10 op / 2 periodia) on harkitsemisen arvoinen vaihtoehto, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Analyysi I:en sisältö ei ole yhtä relevanttia kuin Lineaarialgebra ja matriisilasekenta I:n, mutta matikan perusfuksikurssina se opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto. Huomaa, että kestää kaksi periodia, eikä sitä voi suorittaa osissa. Analyysi I on myös selkeästi työläin vaihtoehdoista.&lt;br /&gt;
** (Analyysin virtuaalinen peruskurssi ja Matemaattisen analyysin kurssi eivät ole erityisen suositeltavia vaihtoehtoja, koska analyysi aiheena ei ole erityisen hyödyllistä tietojenkäsittelytieteessä. Näillä kursseilla ei myöskään ole Analyysi I:n tarjoamaa teorian ymmärtämispainotteisuutta, vaan ne painottuvat enemmän laskemiseen.)&lt;br /&gt;
** Tilastotieteen johdantokurssi (osa 1, 4op), jos ei kaipaa johdatusta matematiikkaan ja uskoo kiinnostuvansa tilastotieteen opiskelusta.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotieteen johdantokurssi (osa 2, 6 op) turnauskestävyyden riittäessä ykkösosan suorittaneille.&lt;br /&gt;
*** Analyysi I:n loppu, jos sen on itselleen manannut; kurssista  ei saa välisuorituksia, joten se on tupla (10) tai kuitti (0).&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka I, 10 op&lt;br /&gt;
** Tai Tilastotieteen jatkokurssi, 10 op, tai johdantokurssin kevätversio jos et ehtinyt sitä jo käydä.&lt;br /&gt;
** Tai Johdatus todennäköisyyslaskentaan (III), 5 op. Mahdollisesti myös Johdatus tilastolliseen päättelyyn (IV), 5 op. Ensimmäinen tarkoittaa suhteellisen helppoja opintopisteitä, jälkimmäinen näistä on vaikea. Valitse jälkimmäinen vain, jos rahkeet riittävät tässä vaiheessa. Esitietoina kurssille käytännössä on integraalilaskennan osaaminen, joko lukion pitkän matematiikan pohjalta tai Analyysi I:stä tai Analyysin peruskurssista. Johdatus todennäköisyyslaskentaan -kurssille sen sijana voi kävellä lukiopohjalta.&lt;br /&gt;
&lt;br /&gt;
TKT:n Tietorakenteet-kurssi on mallilukujärjestyksessä 1. keväänä, ja siellä matematiikan pohjista on välitöntä apua. Perusopiskelija ehtii siis siihen mennessä käydä suunnilleen MaTun tai jonkin hiukan haastavamman kurssin, Johdatuksen diskreettiin matematiikkaan ja samanaikaisesti Tiran kanssa esim. Logiikka I:stä.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
* Algebra I, jos Johdatus diskreettiin matematiikkaan ei ahdistanut tai Linis I ja/tai Analyysi I on jo käyty&lt;br /&gt;
* Tilastotieteen jatkokurssi, tai Data-analyysi, tai Monimuuttujamenetelmät, tai... ks. [[Sivuainekuvauksia#Tilastotiede]]&lt;br /&gt;
* Johdatus todennäköisyyslaskentaan ja Johdatus tilastolliseen päättelyyn&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Tiedosto:Anttik.jpg&amp;diff=8030</id>
		<title>Tiedosto:Anttik.jpg</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Tiedosto:Anttik.jpg&amp;diff=8030"/>
		<updated>2016-08-11T19:12:07Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7922</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7922"/>
		<updated>2016-07-01T07:47:46Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Advanced Course in Machine Learning || &#039;&#039;&#039;#tkt-aml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Systems Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Blizzardin räiskintäpeli pikkulapsille || &#039;&#039;&#039;#tkt-overwatch&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksikanava&amp;diff=7921</id>
		<title>Fuksikanava</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksikanava&amp;diff=7921"/>
		<updated>2016-07-01T07:47:17Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tietojenkäsittelytieteen opiskelijoiden &#039;&#039;&#039;Fuksikanava&#039;&#039;&#039; löytyy IRCnetistä nimellä &#039;&#039;&#039;#tkt-fuksit2016&#039;&#039;&#039;. Katso [[IRC-ohjeet]] jos tarvitset opastusta kanavalle pääsyyn. Jos et ole vielä saanut tunnuksia yliopiston järjestelmiin, voit käyttää tilapäisratkaisuna [http://webchat.xs4all.nl/ XS4ALL-] tai [http://chat.mibbit.com/?server=ircnet.eversible.com%3A6667&amp;amp;channel=%23tkt-fuksit2016 Mibbit-palvelua] kanavalle pääsyyn. Kanava on tarkoitettu ensisijaisesti tiedotukseen ja fuksien opastamiseen opintojensa alkuun.&lt;br /&gt;
&lt;br /&gt;
Kanavan operaattoreina (@-merkki nimimerkin edessä) toimivat TKO-äly ry:n tuutorit ja opintovastaavat.&lt;br /&gt;
&lt;br /&gt;
Jotta kanava pysyisi suhteellisen mukavana luettavana niin olkaa kilttejä ja:&lt;br /&gt;
* älkää spammatko tai floodatko (jos on pakko jakaa esimerkiksi koodia, käyttäkää esimerkiksi Pastebiniä)&lt;br /&gt;
* käyttäkää ensisijaisesti [[Kurssikanavat|kurssikanavia]] tiettyn kurssin sisältöön liittyviin kysymyksiin&lt;br /&gt;
* älkää tuoko kanavalle chatbotteja ilman toisten käyttäjien suostumusta&lt;br /&gt;
* älkää ylläpitäkö julkisia logeja fuksikanavasta&lt;br /&gt;
&lt;br /&gt;
Fuksikanavan vuosiluku vaihtuu lukuvuoden päättyessä, eli #tkt-fuksit2016 on käytössä koko lukuvuoden 2016-2017.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7915</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7915"/>
		<updated>2016-05-29T18:10:23Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmistotuotanto (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssi on hyvin erilainen kuin aiemmin. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan pääasiassa tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan ja laskareiden päätteeksi on minikoe.&lt;br /&gt;
&lt;br /&gt;
Kurssilla on koe, mutta tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Tekstit ovat usein englanniksi myös suomenkielisiä esseitä varten, johtuen alan yleiskielestä. Osa aiheista saattaa olla haastavia, mutta tarkoituksena onkin perehtyä alaan ja sen monimuotoisuuteen, ei oppia kaikesta kaikkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 + 1 op) ja Versionhallinta (1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistotekniikan mentelmät -kurssin jatkeena. Viikottaisten laskaritehtävien lisäksi toteutaan neljä viikkoa kestävä miniprojekti ryhmätyönä. Projektin ideana on harjoitella ketterää ohjelmistokehitystä Ohjelmistotuotantoprojektia varten.&lt;br /&gt;
&lt;br /&gt;
Extrapintopisteitä on mahdollista saada tekemällä tehtäviä. Normaaleista laskaritehtävistä voi saada yhden lisäopintopisteen ja tekemällä kaikki versionhallintatehtävät saa yhden opintopisteen kokoisen versionhallinta -kurssin suorituksen.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7914</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7914"/>
		<updated>2016-05-29T17:56:41Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ja Englanti (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssi on hyvin erilainen kuin aiemmin. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan pääasiassa tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan ja laskareiden päätteeksi on minikoe.&lt;br /&gt;
&lt;br /&gt;
Kurssilla on koe, mutta tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Tekstit ovat usein englanniksi myös suomenkielisiä esseitä varten, johtuen alan yleiskielestä. Osa aiheista saattaa olla haastavia, mutta tarkoituksena onkin perehtyä alaan ja sen monimuotoisuuteen, ei oppia kaikesta kaikkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7910</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7910"/>
		<updated>2016-05-16T20:04:12Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmistotuotantoprojekti (9+1 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin, keväisin, kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7909</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7909"/>
		<updated>2016-05-16T20:02:23Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietorakenteet ja algoritmit (8-10 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algoritmit on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tällä kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet ja algoritmit on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. &lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=7908</id>
		<title>Fuksien kysymää</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksien_kysym%C3%A4%C3%A4&amp;diff=7908"/>
		<updated>2016-05-02T20:51:41Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Mitä jos sairastun? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lisää kysymyksiä ja vastauksia ilmestyy sitä mukaa kun kysytään.&#039;&#039;&#039;&lt;br /&gt;
* Katso myös [http://www.hyy.helsinki.fi/suomi/25/doc/227/ HYY:n uusien opiskelijoiden sivujen &amp;quot;usein kysyttyä&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
===Missä voin syödä?===&lt;br /&gt;
:Helsingin yliopistolla palvelevat yleisesti UniCafe-lounasravintolat. Kumpulan kampuksella UniCafe-ravintoloita on sekä Exactumissa että Chemicumissa. Lisäksi Physicumissa on saman firman kahvio, josta saa kohtuullisen suosittuja lounaspatonkeja. UniCafe-ravintoloissa on tarjolla yleensä kahta lounasvaihtoehtoa, &amp;quot;edullisesti&amp;quot; ja &amp;quot;maukkaasti&amp;quot;, hinnat löytyvät linkistä [http://www.unicafe.fi/lounas/hinnasto Unicafen lounashinnat] . Halvempi hinta edellyttää, että opiskelijalla on esittää lukuvuositarralla varustettu Lyyra-opiskelijakortti - asianmukainen todistus Ylioppilaskunnan jäsenmaksun maksamisestakin riittää vielä alkusyksystä, lataamalla rahaa lyyrakortille ja maksamalla sillä säästää myös 10snt. Ilman korttia tai todistusta sinut kuitenkin tulkitaan ei-opiskelijaksi ja joudut pulittamaan melkein tuplasti enemmän. Itse maksuvälineinä UniCafeissa käyvät Visa, Mastercard, Visa Electron, Lyyra ja käteinen. Aukioloaikoihin ja ruokalistoihin ks. http://www.varjocafe.net . Gurulassa kahvikassaperiaatteella toimiva [http://tko-aly.fi/toiminta/rv TKO-älyn ruokavälitys] , eli rv, auttanee pienempään nälkään.&lt;br /&gt;
&lt;br /&gt;
:Unicafen lisäksi yhden kilometrin päässä Arabiakeskuksessa opiskelijahintaisia lounaita tarjoilevat myös Katri-Antell [http://www.antell.fi/index.php?2573], Amica [http://www.amica.fi/meccala#.UDPJoeju5XE] sekä Kipsari [http://www.kipsari.com/]&lt;br /&gt;
&lt;br /&gt;
===Mitä jos sairastun?===&lt;br /&gt;
:YTHS, eli Ylioppilaiden terveydenhuoltosäätiö on jotakuinkin &amp;quot;opiskelijan työterveyshuolto&amp;quot;, ja sairastumistapauksissa kannattaa aina ensisijaisesti kääntyä sen puoleen. Ylioppilaskunnan jäsenmaksun maksamisen jälkeen opiskelijalla on oikeus käyttää kaikkia YTHS:n palveluja (terveydenhoito, hammaslääkäri, mielenterveystyö). Palveluiden käyttö on hammaslääkäriä lukuunottamatta ilmaista. Ks. [http://www.yths.fi YTHS:n sivuilta] &amp;quot;Uudelle opiskelijalle&amp;quot;-sivu. Lähin toimipiste sijaitsee Töölössä (Töölönkatu 37 A).&lt;br /&gt;
&lt;br /&gt;
:[http://www.yths.fi/yhteystiedot/toimipisteet/helsinki/kumpula YTHS:n Kumpulan palvelupiste] palvelee tiistaisin ja siellä voi käydä terveydenhoitajan puheilla tai vaikka hakea rokotuksia.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan tietojenkäsittelytieteen kursseille?===&lt;br /&gt;
:* Katso [[Kursseille ilmoittautuminen]]. &lt;br /&gt;
&lt;br /&gt;
:Tietojenkäsittelytieteen laitoksen kursseille ja erilliskokeisiin ilmoittaudutaan osoitteessa http://ilmo.cs.helsinki.fi. Ilmoittautuminen alkaa yleensä noin kolme viikkoa ennen periodin alkua. Järjestelmään kirjaudutaan Helsingin yliopiston AD-tunnuksella ja salasanalla. Ennen kirjautumista sinun on siis tullut aktivoida AD-tunnuksesi.&lt;br /&gt;
&lt;br /&gt;
:Ensimmäisillä kursseilla tilaa löytyy vielä kurssin alkamisenkin jälkeen, mutta myöhemmin kurssit saattavat täyttyä hyvinkin nopeasti ja sopivan harjoitusryhmän löytyminen voi olla hankalaa, mikäli ilmoittautumisesta myöhästyy reilusti. Jos siis tiedät pääseväsi vain johonkin tiettyyn harjoitusryhmään, ilmoittaudu ajoissa. Ilmo aukeaa ilmoittautumispäivänä aina kello 09:00.&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin ilmoittaudutaan matematiikan kursseille?===&lt;br /&gt;
:Matematiikan laitoksen kursseille ja erilliskokeisiin ilmoittaudutaan [http://www.helsinki.fi/weboodi WebOodissa] valitsemalla sopiva harjoitusryhmä, ihan kuin meidänkin ilmoittautumisessamme. Yleensä vastaavan kurssin kurssisivulta löytyy suora ilmoittaumislinkki, ettei tarvitse erikseen etsiä WebOodin Ilmoittautumiset-sivun kurssilistasta. Matematiikan laitoksen ilmoittautuminen alkaa kotisivuilla lukukauden alussa ilmoitettavana päivänä. Yleensä ilmoittautuminen alkaa sen viikon alussa, jolloin luennotkin alkavat.&lt;br /&gt;
* [http://mathstat.helsinki.fi Matematiikan ja tilastotieteen laitoksen kotisivut]&lt;br /&gt;
&lt;br /&gt;
===Kenen puoleen minun pitäisi kääntyä, jos haluan sisällyttää tkt-tutkintooni aiempia opintoja tai korvata jonkun kurssin muualla suorittamallani vastaavalla kurssilla?===&lt;br /&gt;
:* Katso http://www.cs.helsinki.fi/opiskelu/muualla-suoritettujen-opintojen-hyv-ksilukeminen&lt;br /&gt;
:Reijo Sivèn (puh. 191 51382, huone D236) käsittelee laitoksella hyväksilukemiset. Vastaanottoajat löytyvät sivulta http://www.cs.helsinki.fi/people/siven.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Saavatko opiskelijat laitoksen kautta kehitystyökaluja tai ohjelmistoja ilmaiseksi?=== &lt;br /&gt;
:*Kyllä, ks. [[MSDNaa ja DreamSpark]]&lt;br /&gt;
:Suosittelemme erityisesti MSDNaa:ta, josta löytyy Microsoftin kehitystyökalujen lisäksi kaikki modernit Windows-käyttöjärjestelmät (myös Windows 7). MSDNaa:han pääsee tietojenkäsittelytieteen laitoksen tunnuksilla (siis myös sivuaineilijat).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten liitytään TKO-älyn sähköpostilistalle?===&lt;br /&gt;
:TKO-älyn sähköpostilistalle saat liityttyä, kun lähetät viestin osoitteeseen majordomo@helsinki.fi (viesti menee sähköpostilista-automaatille). Jätä otsikkokenttä tyhjäksi ja laita viestiin tekstiksi subscribe tko-aly etunimi.sukunimi@cs.helsinki.fi (sähköpostiosoite voi olla myös jokin muu osoite, johon haluat listalle tulevat viestit. Listan ylläpitäjä kuitenkin suositteli käytettäväksi @cs.helsinki.fi tai @helsinki.fi -osoitetta).&lt;br /&gt;
&lt;br /&gt;
:Listalta pääsee pois lähettämällä samaiseen osoitteeseen vastaavanlaisen unsubscribe-viestin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mitä muita listoja TKO-älyllä on? / Onko TKO-älyllä jotain rekrytointilistaa?===&lt;br /&gt;
:*Rekrytointilistakin löytyy, ks. http://tko-aly.fi/yhdistys/tiedotus&lt;br /&gt;
&lt;br /&gt;
:Listoille voivat liittyä TKO-älyn jäsenet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten ja milloin saan haalarit?===&lt;br /&gt;
:Haalarit voit hankkia koska tahansa, kunhan olet TKO-älyn jäsen. Kysäiset Gurulassa sattuisiko olemaan paikalla joku, jolla on avain Harmaaseen kaappiin tai vaihtoehtoisesti sovit tapaamisen jonkun avaimenhaltijan kanssa vaikkapa kyselemällä IRCissä kanavalta #tkt-fuksit2012. Avaimellisia ovat TKO-älyn hallituksen jäsenet, muun muassa osa tuutoreista.&lt;br /&gt;
&lt;br /&gt;
:Laitoksen orientoivien HOPS-aiheisen päivän (to 30. elokuuta, katso syksyn aikataulu) jälkeen pidetään myyntipäivystystä laitossuunnistuksen yhteydessä, jolloin voi ostaa niin haalareita, haalarimerkkejä, t-paitoja kuin liittyä TKO-älyn jäseneksikin. Haalarit maksavat 25e, merkit 2-3e.&lt;br /&gt;
&lt;br /&gt;
===Miten voi tarkistaa omat opintosuoritukset?===&lt;br /&gt;
:Opintorekisterin voi tarkistaa [http://www.helsinki.fi/weboodi WebOodista]. Samasta paikasta voit myös tilata suoritusotteen (linkki tulostettavaan suoritusotteeseen ilmaantuu WebOodin etusivulle noin 1.5 tunnin kuluttua tilaamisesta).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan kielet?===&lt;br /&gt;
:Tutkintovaatimuksissa vaaditaan 3 op toista kotimaista ([http://www.helsinki.fi/weboodi/ eHOPSia] varten suositeltu koodi ruotsille: 99291Mat-lu) ja 4 op vierasta kieltä (eHOPS-koodi englannille: 99501Mat-lu tai tasokokeen vaatima 2 op:n täydennys esim. 995011Mat-lu). Vastaus keskittyy näihin yleisimpiin; ruotsinkielisten toinen kotimainen on suomi, ja seikkailunhaluisten vieras kieli voi olla ihan mitä vaan [https://alma.helsinki.fi/doclink/29931 mikä Kielikeskukselle tältä osin kelpaa].&lt;br /&gt;
&lt;br /&gt;
:Sekä ruotsin että englannin kohdalla on mahdollista suorittaa hela hoito (taso)kokeella. Kokeen hyväksytysti läpäisseet saavat siitä myös opintopisteensä. Englannin tasokokeen tulos voi olla &amp;quot;koko suoritus hoidettu&amp;quot;, &amp;quot;käy vielä vapaavalintainen 2 op:n kokonaisuus&amp;quot; tai &amp;quot;käy 4 op:n kurssi/kursseja&amp;quot;. [https://alma.helsinki.fi/doclink/126798 Englannin tasokokeesta on lisätietoa Almassa], mukaanlukien lista näistä vapaavalintaisista 2 op:n kokonaisuuksista. Niistä voi myös koostaa sen 4 op.&lt;br /&gt;
&lt;br /&gt;
:Entä kannattaako kokeilla tasokoetta, miten vaikea se on? Englannin tasokokeen sivulta pääsee [https://oodi-www.it.helsinki.fi/hy/opettaptied.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;OpetTap=77700350&amp;amp;haettuOrg=&amp;amp;sortJarj=&amp;amp;haettuOrg=&amp;amp;Kieli=1&amp;amp;NimiTunniste=&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Selite=&amp;amp;Sivu=&amp;amp;haettuOpas=&amp;amp;haettuOppAin=&amp;amp;haettuLk=&amp;amp;haettuOpetKiel=&amp;amp;haeOpintJaks=&amp;amp;takaisin=opintjakstied.jsp&amp;amp;OpinKohd=52739013&amp;amp;takaisin2=ilmsuor.jsp?MD5avain=&amp;amp;Kieli=1&amp;amp;Tunniste=99501&amp;amp;AlkPvm=&amp;amp;PaatPvm=&amp;amp;Nimi=&amp;amp;haeOpintJaks=haeopintojaksot&amp;amp;haeVainIlmKelp=&amp;amp;haeMyosAlemOrg=&amp;amp;eHOPSpaluu=0&amp;amp;eHOPSpaluusivu= Weboodin taika-URL-sivulle] jossa pohdiskellaan tätä (linkki &amp;quot;korvaavalla kokeella&amp;quot; -&amp;gt; tenttiluettelosta &amp;quot;Faculty of Science English Language Exemption&amp;quot;). Voit myös kokeilla englannintaitojasi [http://kielikeskus.helsinki.fi/vkk/rr/itsearviointi/2.php yleisellä Dialang-kielitestillä]. Ruotsin kohdalla tilanne on useimpien kohdalla selvä, joko olet erikoinen tai menet kurssille.&lt;br /&gt;
&lt;br /&gt;
:[https://alma.helsinki.fi/doclink/95081 Muualla suoritettujen kielikurssien korvaamisesta] päättää Kielikeskus. Toisten [http://www.helsinki.fi/kksc/opetus/kieliopinnot5.html Helsingin yliopiston tiedekuntien vaatimusten mukaiset kielisuoritukset] eivät välttämättä korvaa koko suorituksia matemaattis-luonnontieteellisessä, erityisesti humanistinen ja valtiotieteellinen ovat kulkeneet jossain määrin omia polkujaan. (Vanhojen opiskelijoiden suoritusotteista löytyvistä 0 op:n ylioppilaskirjoitusten perusteella tehdyllä &amp;quot;korvaavuudella&amp;quot; voi ilmeisesti kuitata kirjallisen osuuden, jonka kaveriksi tarvitaan kuitenkin vielä 2 op suullinen suoritus.)&lt;br /&gt;
&lt;br /&gt;
:Huomaa, että niin kauan kuin Johdatus tietojenkäsittelytieteeseen -kurssiin on integroitu englannin opinnot, on vieras kieli sillä hoidettu. Näin oli asia ainakin 2010.&lt;br /&gt;
&lt;br /&gt;
===Miten suoritan JTKT:n / TVT-ajokortin / Työvälinekurssin / Opiskelutekniikan?===&lt;br /&gt;
&lt;br /&gt;
:Katso [http://www.cs.helsinki.fi/courses/582102/2010/s/k/1 Johdatus tietojenkäsittelytieteeseen -kurssin sivulta] (vaihda mieluusti lukukausi soveltuvaksi). Yksinkertaisin vaihtoehto on käydä koko iso JTKT-paketti ja ajokorttikurssit fuksivuonna, jolloin aikataulut ovat synkassa, sinua pidetään sopivasti kädestä, ja hoidat kaikki nämä hilukurssit kerralla. &lt;br /&gt;
&lt;br /&gt;
:Jos nyt kuitenkin joudut palastelemaan: [http://www.cs.helsinki.fi/courses/581324 Tietokone työvälineenä -kurssia] järjestetään nähtävästi myös keväisin, ja sen sisältämää [http://www.cs.helsinki.fi/courses/582514 TVT-ajokorttitenttiä] järjestetään säännöllisesti. Opiskelutekniikan voi suorittaa keväisin tiedekunnan kurssina [http://blogs.helsinki.fi/mlopetuki/tehoa-opiskeluun-2-op/ Tehoa opiskeluun], muttei tietääkseni syksyllä erillisenä; jos aloitit opintosi ennen S2008, ei tätä tarvitse enää erikseen suorittaa. Jos olet pitkällä opinnoissasi, ota yhteys Heikki Lokkiin (kurssin vastuuhenkilö S2010) tarkoituksenmukaisimman suoritustavan löytämiseksi; JTKT:stä on myös tekstintäyteinen itseopiskeluversio, mutta sen suoritusoikeutta pitää hakea.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Löysin vielä jonkun muun oudon hilukurssin TKT-tutkintovaatimuksista, hä?===&lt;br /&gt;
&lt;br /&gt;
:* Kandidaatintutkielma (Tieteellisen kirjoittamisen kurssi) kattaa Äidinkielisen viestinnän 3 op ja Tutkimustiedonhaun 1 op. &lt;br /&gt;
:* Ohjelmistotuotantoprojekti kattaa Ohjelmistotuotantoprojektiin liittyvä työelämään orientointi -suorituksen, ja ammattitehtävissä työskentely on vain vaihtoehto tälle; [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena työkokemusnoppia sopii hakea opintoesimieheltä].&lt;br /&gt;
:** [http://www.cs.helsinki.fi/opiskelu/tietotekniikka-alan-ty-kokemus-opintosuorituksena Tähän] on tullut vuoden 2014 aikana vielä dokumentoimaton tapa saada suoritukset hyväksyttyä haastattelun perusteella. Ota yhteyttä Matti Luukkaiseen ja tiedustele asiaa häneltä.&lt;br /&gt;
:* LuK-HOPS suoritetaan säännöllisiä hyväksyttyjä opintosuunnitelmia tekemällä. Ota yhteys kurssin vastuuhenkilöön jos olet onnistunut välttämään kaikki karhukirjeet tähän asti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Olen saanut ristiriitaista tietoa tutkintovaatimuksien pykälästä §423,562. Kuka on oikeassa?===&lt;br /&gt;
:Ylin ja suurin opintopäällikkö, [http://www.cs.helsinki.fi/people/klemstro Kjell Lemström], jonka sana on laki. Jos sinulla on kirjavia suorituksia joista pitäisi saada kasaan tutkinto etkä tiedä mitä tehdä, kysy Kjelliltä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7905</id>
		<title>Matematiikan kurssit</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7905"/>
		<updated>2016-05-02T20:36:29Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Logiikka I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tässä esitellään lyhyesti useimmat matematiikan perus- ja aineopintotason kurssit sekä muutama syventävä kurssi. Esitettyjä näkemyksiä ei kannata ottaa absoluuttisina totuuksina, vaan eräiden matematiikkaa poikkeuksellisen paljon sivuaineena opiskelleiden tietojenkäsittelytieteiden opiskelijoiden mielipiteinä.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Perusopinnot = &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huom.&#039;&#039;&#039; Vaikka Matematiikan laitos määritteleekin osan kursseista perusopinnoiksi, voi menetelmätieteiden ja matematiikan perusopintokokonaisuuden muodostaa vapaasti muistakin kursseista (esim. sekoittamalla perus- ja aineopintoja).&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitoksella on jostain erikoisesta syystä perusopintotasolla kolme erilaista analyysin kurssia (sekä näiden jatkokurssit). Yleensä pää- ja sivuaineopiskelijat käyvät luentokurssit Analyysi I ja II. Osa on myös suorittanut sivuaineopiskelijoille suunnatun Matemaattisen analyysin kurssin, joka on kuulemma hiukan helpompi. &#039;&#039;Jos jollain on ajantasaista tietoa näiden eroista, päivittäkää wikiä.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajankohtaista huom.&#039;&#039;&#039; Matikan 10 op:n perus- ja aineopintojen kursseja on jaettu kahtia 5 op:n kursseiksi ja nimetty uudelleen alkaen syksystä 2015. Myös tilastotieteen kursseja on nimetty uudelleen (Johdatus todennäköisyyslaskentaan -&amp;gt; Todennäköisyyslaskenta I, Todennäköisyyslaskenta 10 op -&amp;gt; Todennäköisyyslaskenta II, jne. Ks. tilaston [https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+2014-2016 tutkintovaatimukset]) . Suurempia muutoksia kurssien sisällöissä ei &#039;&#039;ilmeisesti&#039;&#039; ole, joten fuksiwikin vanhoja kursseja koskevat neuvot todennäköisesti pätevät edelleen uusiin kursseihin sellaisenaan. Entisten kurssien nimet (suluissa).&lt;br /&gt;
&lt;br /&gt;
== Johdatus yliopistomatematiikkaan ==&lt;br /&gt;
&lt;br /&gt;
5 op, syksy, periodit I ja II&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tämä on ehkä suositeltavin ensimmäinen yliopistomatematiikan kurssi käpistelijöille.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla tutustutaan eräisiin diskreetin matematiikan osa-alueisiin. Vastaan tulee joukko-oppia, relaatioita, kuvauksia, induktiota, rekursiota sekä perusteita kombinatoriikasta ja verkkoteoriasta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on ainoa matematiikan kurssi, joka on tutkintovaatimuksissa kaikille käpistelijöille pakollinen. Tämä on hyvästä&lt;br /&gt;
syystä, sillä monet kurssin asioista kävelevät vastaan jo monilla fuksivuoden kursseilla. Yksi näistä kursseista on fuksikevään Tietorakenteet ja Algoritmit.&lt;br /&gt;
&lt;br /&gt;
Aihepiiriä käsitellään lisää mm. kursseilla [[#Verkot|Verkot]] ja [[#Kombinatoriikka|Kombinatoriikka]].&lt;br /&gt;
&lt;br /&gt;
== Analyysin peruskurssi ==&lt;br /&gt;
10 op, syksy. (Viime vuosina järjestetty &#039;virtuaalisena&#039; kurssina ts. Moodle-etäkurssina &amp;quot;Analyysin virtuaalinen peruskurssi&amp;quot;. Älä sekoita &#039;&#039;&#039;Matemaattisen analyysin kurssiin&#039;&#039;&#039;, ks. alempana.)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Mitään esitietovaatimuksia tai -suosituksia ei ole. Analyysin peruskurssi sopii hyvin ensimmäiseksi yliopistomatematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysin peruskurssi käsittelee suunnilleen samoja aiheita kuin teoreettisempi [[#Analyysi I ja II|Analyysi I]]. Keskeistä sisältöä ovat yhden muuttujan differentiaali- ja integraalilaskenta ja sarjat.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysi I ja II sekä [[#Analyysin peruskurssi|Analyysin peruskurssi]] käsittelevät olennaisesti samoja asioita, edelliset kaksi syvemmin ja teoreettisemmin, jälkimmäinen taas pintapuolisemmin ja soveltavammin. Kun Analyysiä on viime aikoina helpotettu ja muutettu opiskelijalähtöisemmäksi, se alkaa olla yhä useammalle opiskelijalle Analyysin peruskurssia suositeltavampi vaihtoehto.&lt;br /&gt;
&lt;br /&gt;
Monet ovat nähneet tämän kurssin lähinnä lukiomatematiikan kertauksena, joka ei tarjoa työläyteensä nähden mitään olennaista hyötyä.&lt;br /&gt;
&lt;br /&gt;
== Raja-arvot ja Differentiaalilaskenta (aiemmin Analyysi I)  ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Lukiomatematiikkaan tottuneelle aloituskynnys voi kuitenkin olla korkea, joten jonkin kevyemmän kurssin suorittaminen tätä ennen saattaa kannattaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysi I käsittelee lukujonoja, raja-arvoja, jatkuvuutta, derivoituvuutta ja alkeisfunktioita. Samalla se toimii johdatuksena matemaattiseen ajatteluun ja todistustekniikoihin. Lähestymistapa on selvästi teoreettisempi kuin mihin lukiossa tottui. Opettajien ja tutoreiden varoituksissa on perää; kurssi voi olla raskas ja vaikea. Kysymys ei ole kuitenkaan asioiden vaikeudesta; valtaosa siitä on jo lukiosta tuttua. Vaikeus ja raskaus tulevat lähinnä aloituskynnyksen korkeudesta. Asiat muuttuvat huomattavasti helpommiksi, jos onnistuu pääsemään yli kulttuurishokista.&lt;br /&gt;
&lt;br /&gt;
Luennoijat laittavat luentomuistiinpanonsa usein verkkoon, mutta niistäkään ei yleensä ole hyvän oppikirjan korvikkeeksi. Niinpä luentojen seuraaminen onkin Analyysi I:ssä ja II:ssa poikkeuksellisen suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen. Suoranaisia sovelluskohteita niille löytyy esimerkiksi tietokonegrafiikasta, suorituskykyanalyysista ja signaalinkäsittelystä. Jokin analyysin kurssi olisikin hyvä löytyä jokaisesta matematiikan sivuaineoppimäärästä.&lt;br /&gt;
&lt;br /&gt;
== Integraalilaskenta ja Sarjat (aiemmin Analyysi II) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I tai vastaavat tiedot.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssin keskeisiä aiheita ovat sarjat ja integrointi. Tavaraa on paljon, uutta asiaa tulee enemmän kuin Analyysi I:ssä ja käsittelyvauhti on nopeahko. Kuitenkin jos selvisi Analyysi I:stä, selviää todennäköisesti tästäkin.&lt;br /&gt;
&lt;br /&gt;
== Tieteellinen viestintä / Matematiikan harjoitustyö (ent. Analyysin harjoitustyö) ==&lt;br /&gt;
2 op (aineopintoja, harjoitustyöosuus) + 3 op (matematiikan opiskelijoiden äidinkielen opinnot)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I ja tarpeeksi (?) matematiikan opintoja&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tieteellinen viestintä on syksynä 2015 uusi pakollinen kurssi matematiikan pääaineopiskelijoille, jonka yhteydessä tehdään &#039;&#039;&#039;Matematiikan harjoitustyö&#039;&#039;&#039; (korvaa entisen Analyysin harjoitustyön). Ilmoituksen mukaan kurssilla käsitellään tieteellisen (matemaattisen) tekstin kirjoittamista, suullista esittämistä, yleisesti tieteellistä julkaisemista,  sekä Latexin käyttöä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Uuden kurssin soveltavuus sivuaineopiskelijoille (erityisesti JTKT:n tehneille käpistelijöille) tämän kirjoittaneelle mysteeri. Entinen analyysin harjoitustyö oli (sivuaineopiskelijoille vapaaehtoinen) hieman tavallista analyysin laskaritehtävää laajempi harjoitustyö, mutta joidenkin (= fuksiwikin aiempien kirjoittajien) mielestä myös sivuaineilijoille hyödyllinen.&lt;br /&gt;
&lt;br /&gt;
tldr. Ei tietoa, luultavasti ei erityisen suositeltava käpistelijöille. (Mutta joku voi halutessaan kokeilla käydä ja kirjoittaa sitten tänne tarkemmin oliko hyödyllinen vai ei).&lt;br /&gt;
&lt;br /&gt;
== Matemaattisen analyysin kurssi ja jatkokurssi ==&lt;br /&gt;
10+10 op, syksy+kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Virallisten esitietovaatimusten mukaan lukion lyhytkin matematiikka riittää. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Sivuaineopiskelijoille (tilasto- ja kansantaloustieteilijöille) suunnattu versio Analyysin kursseista. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta I ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Sopii hyvin ensimmäiseksi matematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla alkaa lineaarisilla yhtälöryhmillä sekä matriisilaskennan perusteilla. Tämän jälkeen siirrytään vektoreihin ja vektoriavaruuksiin. Kurssin tärkeimpiä työkaluja on Gauss-Jordanin eliminointimenetelmä. Tällä ratkotaan useimmat kurssin ongelmat, kuten lineaariset yhtälöryhmät.&lt;br /&gt;
&lt;br /&gt;
Lisäapuja kurssin sisällön suorittamiseen voi kalastaa näistä Gilbert Strangin MIT:n Lineaarialgebran kurssin luentovideoista:&lt;br /&gt;
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebran perusteet kuuluvat tietojenkäsittelijän yleissivistykseen. Kurssi on erittäin hyödyllinen, mikäli ei ole ennen tutustunut aihepiiriin. Selkeimpiä sovelluskohteita ovat tietokonegrafiikka ja koneoppiminen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta II ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]]&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssi jatkaa siitä mihin aiemmassa osassa jäätiin. Keskeisiä käsitteitä ovat aliavaruudet, sisätulot, determinantit ja ominaisarvot.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi muodostaa kokonaisuuden edeltävän osan kanssa, joten sovelluskohteet ovat samat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikka tutuksi ==&lt;br /&gt;
2 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tietojenkäsittelytieteilijöille kurssi soveltuu matematiikan opintojen alussa suoritettuna osaksi matematiikan tai menetelmätieteiden sivuainekokonaisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Johdattelee yliopistomatematiikkaan. Kurssilla käsitellään pintapuolisesti useita eri matematiikan osa-alueita ja tekniikoita, kuten joukko-oppia, kuvauksia, todennäköisyyslaskentaa ja logiikkaa. Kurssi on aiemmin ollut 5 opintopisteen laajuinen, mutta syksyllä 2015 se muuttui kahteen opintopisteeseen. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi sopii hyvin matematiikan opintojen alkuun varsinkin, jos matematiikan opiskelusta on pitkä aika.&lt;br /&gt;
&lt;br /&gt;
= Aineopinnot = &lt;br /&gt;
&lt;br /&gt;
== Algebralliset rakenteet I ja II (ent. Algebra I) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssi on kuitenkin luonteeltaan abstrakti, joten jokin toinen kurssi kannattaa olla pohjalla ennen algebran aloittamista.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Algebra I alkaa logiikan ja lukuteorian alkeilla, minkä jälkeen seuraavat alkeet joukko-opista ja kuvauksista. Näitä käsitellään vain sen verran kuin kurssin aikana tullaan tarvitsemaan. Pääosassa kurssilla ovat algebralliset perusstruktuurit: ryhmät, renkaat ja kunnat. Näillä tarkoitetaan joukkoja, joissa on määritelty tietyt ehdot täyttävät laskutoimitukset. Kurssin ydinasia onkin käsitys siitä, mitä ehtoja laskutoimitusten tulisi täyttää, jotta tutut laskusäännöt olisivat voimassa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Algebra I antaa valmiuksia symboliseen laskentaan ja korkeamman tason matemaattisten abstraktioiden ymmärtämiseen. Tietokantojen, ohjelmointikielten tai laskennan teoriasta tai symbolisesta tekoälystä kiinnostuneelle kurssi on lähes välttämätön. Muutenkin se on suositeltava matemaattisen ajattelutavan harjaannuttamiseksi.&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden kurssiksi Algebra I ei useimmille sovi. Aloituskynnys on todennäköisesti liian korkea kurssin teoreettisen luonteen takia. Matemaattiseen ajattelutapaan ja yliopistomatematiikkaan kannattaa siis tutustua ennen kurssin aloittamista.&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I (ent. Johdatus todennäköisyyslaskentaan) ==&lt;br /&gt;
5 op, kevät, periodi III&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Et pelästy nähdessäsi integraalin; lukion pitkän matematiikan integraalilaskenta oletetaan esitietona.  Lukion todennäköisyyslaskennan kurssin asioiden muistaminen ei ole haitaksi, muttei suinkaan välttämätöntä (samat asiat käydään huolellisemmin kurssilla läpi). Tilastotieteen OPS suosittele alle kurssia Johdatus yliopistomatematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Nimensä mukaisesti kyseessä on johdantokurssi todennäkoisyyslaskentaan, erityisesti siinä määrin missä sitä tarvitaan kurssilla Johdatus tilastolliseen päättelyyn (seuraavassa periodissa) ja muilla tilastotieteen perusopinto-tasoisilla kursseilla (data-analyysit jne.). &lt;br /&gt;
&lt;br /&gt;
Kurssilla lähdetään liikkeelle todennäköisyyden käsitteestä (aksioomat) ja todennäköisyyslaskennan alkeista. Lisäksi tutustutaan kombinatoriikan perusteisiin, (yksiulotteisiin) satunnaismuuttujiin ja tavallisimpiin diskreetteihin ja jatkuviin jakaumiin. Laskareissa ollut (ainakin viimeksi järjestyllä kurssilla) MATLAB-tehtäviä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa lukemistoa joskus virallisena kurssikirjanakin nähty Pekka Tuomisen &#039;&#039;Todennäköisyyslaskenta&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hieman vakavammalla otteella todennäköisyyslaskentaa tehdään aineopintotasoisella 10 nopan kurssilla Todennäköisyyslaskenta II.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus:TODO ===&lt;br /&gt;
&lt;br /&gt;
Joku paremmin osaava voi kirjoittaa jotain soveltuvuudesta käpistelyyn. Todennäköisyyslaskennasta on hyötyä ainakin algoritmilinjalla.&lt;br /&gt;
&lt;br /&gt;
== Tilastollinen päättely I (ent. Johdatus tilastolliseen päättelyyn) ==&lt;br /&gt;
5 op, kevät, IV periodi&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Johdatus todennäköisyyslaskentaan (edellisessä periodissa, tämä on melko suora jatkokurssi sille)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tilastotieteen perusopintoja. Kurssilla on tavattu keskittyä klassisen (frekventistinen tulkinta) tilastotieteen perusteisiin (binomikoe, otos, uskottavuus, estimointiteoriaa, luottamusvälit, tilastolliset testit, pienimmän neliösumman menetelmä ja lineaarinen regressio), mutta kurssin lopulla myös hieman Bayes-päättelyn alkeita.&lt;br /&gt;
&lt;br /&gt;
Vaihtoehtoisesti voi harkita valtiotieteellisen kursseja Johdatus yhteiskuntatilastotieteeseen ja Tilastotieteen jatkokurssi, jotka ovat matemaattisesti hieman kevyemmät ja sovellushenkisempiä. Kannattaa tutustua tutkintovaatimuksiin: https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+sivuaineopiskelijoille+2014-2016&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus: TODO===&lt;br /&gt;
&lt;br /&gt;
Ks. Johdatus todennäköisyyslaskentaan. (?).&lt;br /&gt;
&lt;br /&gt;
== Kombinatoriikka ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla keskitytään nimenomaan enumeratiiviseen kombinatoriikkaan, jossa lasketaan erilaisten äärellisten joukkojen ominaisuuksia. Esimerkkejä käsiteltävistä ongelmista ovat &amp;quot;kuinka monta tapaa on jakaa 5 kortin käsiä korttipakasta&amp;quot; tai &amp;quot;kuinka monella tavalla n hengen ryhmä voidaan jakaa k hengen joukkueisiin&amp;quot;. Keskeisiä käsitteitä ovat permutaatiot, kombinaatiot ja binomikertoimet.&lt;br /&gt;
&lt;br /&gt;
Ajoittain kurssilla tarkastellaan myös käpistelijöitä kiinnostavia verkko-ongelmia, kuten riippumattomia joukkoja, klikkejä ja verkon värityksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Useimmat tietojenkäsittelytieteen laskennalliset ongelmat ovat nimenomaan kombinatorisia (optimointi)ongelmia, joten kurssi on hyödyllinen varsinkin algoritmiikasta kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
== Lukualueet ==&lt;br /&gt;
3 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Ei ole, sillä kurssi täydentää lähinnä täydentää lukiomatematiikan tietoja kompleksilukujen osalta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla keskitytään lähinnä kompleksilukuihin, näiden peruslaskutoimituksiin (yhteenlasku, kertolasku ja liittoluvut) sekä geometriseen tulkintaan. Kurssi on melko helppo ja se suoritetaan perinteisesti pelkästään laskaritehtävillä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei esitellä edes kompleksilukujen matemaattisia sovelluksia eikä siis myöskään tietojenkäsittelytieteen kannalta relevantteja asioita juuri tule. Kurssi kuitenkin sopii matematiikan opintojen alkuun leppoisan luonteensa vuoksi.&lt;br /&gt;
&lt;br /&gt;
== Johdatus logiikkaan I ==&lt;br /&gt;
5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tällä kurssilla pärjännee hyvin lyhyenkin matematiikan pohjalta, vaikka matemaattinen ajattelu onkin tarpeen. Kannattaa muistaa, että filosofeillakin on omat pakolliset logiikan kurssinsa, jotka pureutuvat yhdessä syvemmälle kuin tämä peruskurssi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Moni aineopintotason kurssi käsittelee logiikan perusteita, mutta Johdatus logiikaan on ainoa, joka esittää ne kattavasti. Pääpaino on ensimmäisessä osassa on propositiologiikassa jossa operoidaan pelkillä vakiosymboleilla. Muutaman keskeisen teoreettisen tuloksen ohella käsitellään varsin kattavasti totuustaulut, resoluutio, semanttiset puut ja luonnolliseksi päättelyksi kutsuttu järjestelmä, joka on toisinaan käsittämättömän kömpelö. (Luonnollisessa päättelyssä yritetään johtaa jokin lause tehdyistä oletuksista. Semanttisia puita käytettäessä puolestaan selvitetään, millä ehdoilla annettu lause on tosi.)&lt;br /&gt;
&lt;br /&gt;
Hannele Salmisen ja Jouko Väänäsen kirja &#039;&#039;Johdatus logiikkaan&#039;&#039; on kaksipiippuinen juttu. Joiltain osiltaan se soveltuu hyvin itseopiskeluun ja mahdollistaa selvästi kurssia nopeamman etenemisen. Toisaalta kun vastaan tulee &amp;quot;induktiolla lauseen rakenteen suhteen&amp;quot;, on aika hakata päätä seinään. Samat asiat olisi voinut todistaa huomattavasti selkeämmälläkin tavalla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Nykymatematiikka perustuu logiikkaan. Tietojenkäsittelytiede lähti liikkeelle loogikoiden ajatusleikeistä. Eksakti ajattelu ja formaali esitystapa täytyy hallita, jos haluaa pärjätä tietojenkäsittelytieteen opinnoissa. Esimerkiksi tietokantojen ja ohjelmointikielten teoria sekä perinteinen tekoäly ovat täynnä logiikkaa. Lienee siis varsin luonnollista, että logiikka kuuluu jokaisen käpistelijän yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
Usein suositellaan esitietokurssiksi jos matemaattinen logiikka (esim. samanniminen syventävä kurssi) kiinnostaa enemmänkin (mutta tästä kuulee joskus eriäviä mielipiteitä, joten tiedä häntä; ehkä kuitenkin suositeltavaa käydä tämä ennen kuin marssii maisterivaiheen logiikkaan ellei ole erityisen rohkea olo.)&lt;br /&gt;
&lt;br /&gt;
== Johdatus logiikkaan II ==&lt;br /&gt;
5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Johdatus logiikkaan I|Johdatus logiikkaan I]]&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Predikaattilogiikkaa.&lt;br /&gt;
&lt;br /&gt;
== Mitta ja integraali ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Vektorianalyysi|Vektorianalyysi]]. [[#Topologia I|Topologia I]]:tä suositellaan vieläkin vahvemmin kuin Vektorianalyysin yhteydessä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Janan luonnollinen mitta on sen pituus, tasokuvion mitta pinta-ala ja kolmiulotteisen kappaleen mitta tilavuus. Tällä kurssilla yleistetään mitan käsite ja tarkastellaan erityisesti Lebesguen mittaa, joka perustuu luonnolliseen geometriseen mittaan. Mittateorian käsittelyn jälkeen määritellään integroituvuus ja integraali kaikissa mitallisissa joukoissa ja todistetaan monia integraalien ominaisuuksia, joita olisi hankala käsitellä aikaisempien määritelmien perusteella.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mitta ja integraali on analyysin syventävien opintojen peruskurssi. Jos aikoo suorittaa matematiikassa syventävien opintojen sivuainekokonaisuuden, tämä on eräs suositeltavimmista kursseista erikoistumissuunnasta riippumatta. Erityisesti jos aikoo perehtyä todennäköisyyslaskentaan syvällisesti, kuten älykkäiden järjestelmien kohdalla on usein tarpeen, mittateoria tulee hallita.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Topologia I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I ja II|Analyysi I]].&lt;br /&gt;
Kurssi on luonteeltaan abstrakti, joten muidenkin matematiikan kurssien käyminen ennen tätä on suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Avoimuuden, jatkuvuuden ja raja-arvon käsitteet yleistetään metrisissä ja normiavaruuksissa, minkä jälkeen johdetaan suuri joukko lähinnä intuitiivisia tuloksia. Kurssi on luonteeltaan teoreettinen ja abstrakti samaan tapaan kuin [[#Algebra I|Algebra I]]. Monet voivat kokea tämän kurssin vaikeutena, mutta tässäkin tapauksessa kysymys on ennemminkin korkeasta kynnyksestä kuin asioiden vaikeudesta. Mitä enemmän matematiikkaa on opiskellut ennen Topologia I:tä, sitä matalammaksi kynnys käy, kun tottuu asioiden käsittelyyn yleisellä tasolla. Jussi Väisälän kirja &#039;&#039;Topologia I&#039;&#039; sopii hyvin itseopiskelumateriaaliksi.&lt;br /&gt;
&lt;br /&gt;
Kurssi käsittelee oikeastaan enemmän analyysin peruskäsitteitä kuin topologiaa. Voidaan perustellusti sanoa, että Topologia I suhtautuu topologiaan samalla tavalla kuin [[#Diskreetti matematiikka I|Diskreetti I]] diskreettiin matematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Topologia I on kurssi, joka on tarkoitettu lähinnä helpottamaan analyysin opiskelua. Tietojenkäsittelytieteen opinnoissa siitä ei ole juuri apua, ellei sitten tietokonegrafiikassa ja laskennallisessa geometriassa. Jos kuitenkin aikoo suorittaa matematiikassa syventävät opinnot, tämä kurssi on hyvä sisällyttää oppimäärään.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vektorianalyysi I ja II(ent. Vektorianalyysi) ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I|Analyysi I ja II]] sekä [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I ja II]]. Myös [[#Topologia I|Topologia I]]:n tiedoista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Vektorianalyysi käsittelee useamman muuttujan differentiaali- ja integraalilaskentaa. Lähestymistapa on käytännöllisempi kuin Analyysi I+II:ssa, mikä on ymmärrettävää. Merkittävä osa yhden muuttujan funktioiden teoriasta yleistyy nimittäin vähällä vaivalla useamman muuttujan funktioille, joten samaa asiaa ei kannata käsitellä uudestaan yhtä tarkasti. Kannattaa huomioida, ettei kurssin suomenkielistä oppikirjaa ole ollut saatavilla enää vähään aikaan, vaan opiskelija joutuu joko turvautumaan kopiokoneeseen tai metsästämään itse vastaavaa kirjallisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Vektorianalyysi ei ole enää samalla tavalla yleissivistystä kuin Analyysi I ja II. Kurssin tietoja tarvitaan samoilla aloilla kuin analyysin perusteitakin, mutta esimerkiksi ohjelmistotekniikkaan tai käyttöliittymiin erikoistuvalle niistä ei ole suurempaa hyötyä.&lt;br /&gt;
&lt;br /&gt;
Vektorianalyysia voi suositella lähinnä tutkijoiksi aikoville sekä teoreettisemmille aloille erikoistuville. (Esim. algolinjan Introduction to Machine Learning -kurssilla tämä on hyödyllinen tosin ei välttämätön esitieto.) Erityisesti osittaisderivaatat ja gradientin käsite (kurssin ensimmäin puolisko) ovat hyödyllisiä vähän kaikkialla (esim. optimointialgoritmit), ja yleisesti vektorianalyysin työkaluista on hyötyä jos törmää moniulutteisiin tn-jakaumiin (monet tilastotieteen käytännön sovelluskohteet, esimerkiksi juuri koneoppimisen alalla).&lt;br /&gt;
&lt;br /&gt;
Matematiikasta syventävien opintojen kokonaisuuden lukevien kannattaa erityisesti käydä Vektorianalyysi.&lt;br /&gt;
&lt;br /&gt;
== Verkot ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssi on jatkoa JDM-kurssille. Kurssilla esitellään verkkoteorian peruskäsitteitä ja -tuloksia. Keskeisiä käsitteitä ovat suuntaamattomat ja suunnatut verkot (suhteikot), puut sekä erilaiset kulut (Hamiltonin ja Eulerin). &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi soveltuu erittäin hyvin tietojenkäsittelytieteilijöille, sillä verkot ovat kenties tietojenkäsittelytieteen yleisimpiä struktuureja ja malleja (kuten Tietorakenteet kurssilta tulee tutuksi). &lt;br /&gt;
&lt;br /&gt;
Kurssin [[#Diskreetti matematiikka II|aiemmasta versiosta]] sanottua: Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että kurssi on suositeltava kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applications of Matrix Computations ==&lt;br /&gt;
(a.k.a. Matriisilaskennan sovellukset)&lt;br /&gt;
5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebra I + II. Muista matematiikan kursseista ei haittaakaan.&lt;br /&gt;
&lt;br /&gt;
(Matlab / Octave -ohjelmointitaustaa suositellaan, mutta lähinnä siksi ettei sitä opeteta kädestä pitäen. Käpistelijälle jolla on jo hieman ohjelmointitaustaa, Matlab-syntaksin oppiminen siinä missä sitä kurssilla tarvitaan luulisi olevan ihan mahdollista.)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebran ja matriisilaskennan sovelluskurssi ts. Matlab-ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Suositeltava kurssi, jos Linisten jälkeen kiinnostaa mihin sitä lineaarialgebraa sitten oikeastaan voi käyttää. Tarkempi fokus ollut joskus hieman sekalainen ja muutenkin vähän vaihdellut luennoitsijan mielenkiinnon mukaan, viimeisimmällä iteraatiolla (syksyllä 2014) keskityttiin kuvankäsittelyyn. Muita usein nähtyjä aiheita: numeerista integrointia, Markovin ketjuja, Googlen PageRank-algoritmi, wavelet- / Fourier-muunnoksia (FFT), pääkomponenttianalyysia, ominaisarvoja ja matriisihajotelmia.&lt;br /&gt;
&lt;br /&gt;
Verrattuna johonkin abstraktimpaan kurssiin (joku Topo I tulee mieleen), kurssi on varsin käytännönläheistä soveltavaa matematiikkaa ja ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Poikkeuksellisesti muihin matematiikan kursseihin verrattuna, kurssilla ei ole tavattu käyttää kurssikirjaa eikä myöskään kannata odottaa kattavia luentomuistiinpanoja nettiin, eli luennoilla kannattaa käydä!&lt;br /&gt;
&lt;br /&gt;
=== Soveltavuus ===&lt;br /&gt;
&lt;br /&gt;
Ei ollenkaan huono kurssi matikan laajempaan sivuaineeseen Linis I+II:n jatkoksi, jos soveltava matematiikka kiinnostaa. Jotain viitettä voi antaa, että kyseessä on matikan pääaineilijoille eräänlainen epävirallinen (?) porttikurssi tietokoneavusteisen matikan maisterilinjalle.&lt;br /&gt;
&lt;br /&gt;
= Syventävät opinnot =&lt;br /&gt;
&lt;br /&gt;
Kuilu syventävien ja aineopintojen välillä on usein suuri, joten syventäville kursseille ei kannata rynnätä kylmiltään. Usein esimerkiksi Matemaattisen logiikan linjan kursseilla ei ole erityisiä esitietovaatimuksia, mutta opiskelijoilla oletetaan olevan &amp;quot;matemaattista yleissivistystä tai kypsyyttä&amp;quot;. Käytännössä tämä tarkoittaa, että esim. aineopintoja on jo suoritettuna eikä matemaattinen ajattelu ole vierasta.&lt;br /&gt;
&lt;br /&gt;
Matematiikasta voi suorittaa 60 op laajuisen syventävien opintojen kokonaisuuden käymällä 40 opintopisteen edestä syventäviä kursseja ja kirjoittamalla 20 op arvoisen sivuainetutkielman (ns. &amp;quot;sivuainegradu&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Laskettavuuden teoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole, mutta matemaattisen ajattelutavan on syytä olla tuttu. Erityisesti [[#Matemaattinen logiikka|Matemaattisesta logiikasta]] ja TKTL:n kurssista Laskennan mallit on hyötyä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa on, että aineopintojen kursseja on jo jonkin verran takana, sillä kurssilla ajoittain esitellään yhteyksiä mm. logiikkaan ja topologiaan (tosin esitiedot näistä eivät ole välttämättömiä).&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Laskettavuutta, ratkeavuutta ja rekursiivisuutta matemaatikon näkökulmasta. Turingin koneiden ja ohjelmien sijaan lähtökohtina ovat rekursiiviset funktiot ja eräänlainen RAM-kone. Monet asiat saadaan todistettua tyylikkäämmin tai helpommin kuin TKTL:n Laskennan teoriassa. Syksyn 2002 kurssi perustui Väänäsen 80-luvulla tekemiin luentomuistiinpanoihin, kuten myös kevään 2010 kurssi.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mielipide 1: Tämän kurssin käymisestä ei ole yhtään mitään hyötyä. Jos laskennan teoria jostain syystä kuitenkin kiinnostaa, tämän kurssin käyminen on ehdottoman suositeltavaa jo yksin sen tarjoaman vaihtoehtoisen lähestymistavan takia.&lt;br /&gt;
&lt;br /&gt;
Mielipide 2: Kurssi on erittäin hyödyllinen ottaen huomioon sen, että Tietojenkäsittelytieteen laitoksella ei enää juurikaan opeteta kurssia Laskennan teoria. Muutenkin laskennan teoriaa käsitellään vain lyhyesti Laskennan mallit -kurssilla. Jatkokurssiksi sopii myös [[#Vaativuusteoria|Vaativuusteoria]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matemaattinen logiikka ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Käytännössä logiikan perustietojen hallitseminen esimerkiksi kurssilta [[#Logiikka I|Logiikka I]] on lähes välttämätöntä, eikä muidenkaan kurssien käyminen ole ainakaan haitaksi. Kysymys on joka tapauksessa syventävien opintojen kurssista, joten matemaattisen ajattelutavan omaksumista voidaan pitää välttämättömänä edellytyksenä kurssille osallistumiseen.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Periaatteessa kurssin sisältö vastaa hyvin Jouko Väänäsen kirjaa &#039;&#039;Matemaattinen logiikka&#039;&#039;, mutta käänteisessä järjestyksessä. Läpi käydään jo logiikan peruskurssilla tutuksi tulleet logiikan perusteet hieman teoreettisemmasta (ja monien mielestä keinotekoisesti vaikeutetusta) näkökulmasta. Myöhemmin kurssilla törmätään muun muassa rekursiivisiin funktioihin ja laskettavuusteoriaan. Mielipiteitä on monia, mutta ainakin omasta mielestäni kirjan lähestymistapa on mielekkäämpi kuin kurssilla viime aikoina käytetty.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matemaattista logiikkaa voidaan suositella ennen kaikkea logiikasta kiinnostuneille. Syventävien opintojen kurssien joukossa se lienee sieltä helpoimmasta päästä, vaikka loogikoille tyypillisen käsittämätön notaatio yrittääkin parhaansa mukaan sabotoida ymmärrystä. Hyötyä kurssista saattaa olla, jos esimerkiksi laskennan teoria, tietokantojen mallinnus, ohjelmointikielten periaatteet tai perinteinen tekoäly kiinnostavat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reaalianalyysi I ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Reaalianalyysi I käsittelee reaalianalyysin perusteita teoreettiselta näkökannalta. Samaan aikaan luennoidaan myös Sovelletun analyysin perusteet, joka lienee suunnattu enemmän differentiaaliyhtälöitä tietokoneilla ratkoville soveltaville matemaatikoille. Teoreettisen lähestymistavan huomaa esimerkiksi siitä, että vaikka kurssilla oppii uusia asioita, saattaa käsitys joidenkin niistä merkityksestä jäädä puuttumaan.&lt;br /&gt;
&lt;br /&gt;
Siinä missä Mitta ja integraali keskittyi integrointiin, laajennetaan tällä kurssilla derivoinnin ja derivaatan käsitettä. Lisäksi käsitellään L&amp;lt;sup&amp;gt;p&amp;lt;/sup&amp;gt;-avaruuksia sekä absoluuttisesti jatkuvia, rajoitetusti heilahtelevia ja muita &amp;quot;kiltisti&amp;quot; käyttäytyviä funktioita. Kurssia vaivaa lievä päämäärättömyys, vaikka monet käsiteltävät asiat ovatkin aikaisemmilla&lt;br /&gt;
kursseilla saatujen tulosten yleistyksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Reaalianalyysi I on luontevaa jatkoa Mitalle ja integraalille, joten samat perustelut pätevät senkin kohdalla. Toinen jatkovaihtoehto Mitan ja integraalin jälkeen olisi* Sovelletun analyysin perusteet, mutta minulla ei ole käsitystä sen&lt;br /&gt;
sisällöstä tai soveltuvuudesta (*tai ainakin oli joskus, tämän kirjoittaja ei ole nähnyt tuonnimistä kurssia luennoitavan enää).&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyysteoria ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]] ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lyhyesti sanottuna Todennäköisyysteoriassa käsitellään todennäköisyyslaskentaa mittateorian pohjalta. Kurssi on laudatur-kurssiksi siinä mielessä helppo, että jos mittateoria ja todennäköisyyslaskenta ovat ennestään tuttuja, niiden yhdistäminen tapahtuu varsin intuitiivisesti. Uusia käsitteitä ei tule kovinkaan paljon Todari I:n päälle, vaan kysymys on ennemminkin pohjan rakentamisesta aiemmin opitun alle.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todari II on hyödyllinen kurssi erityisesti älykkäiden järjestelmien linjalla, jossa kaikki perustuu oikeastaan tilastotieteeseen ja todennäköisyyslaskentaan. Todari I:ssä opittiin lähinnä soveltamaan todennäköisyyslaskentaa, kun taas tällä jatkokurssilla päästään käsiksi asian ytimeen ja opitaan ehkä ymmärtämäänkin sitä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vaativuusteoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Kurssilla ei ole varsinaisia esitietovaatimuksia, mutta koska kyse on syventävästä matematiikan kurssista on suositeltava käydä tarpeeksi aineopintojen kursseja ennen. Erityisesti Logiikka I ja Algebra I ovat hyödyllisiä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla käsitellään nimensä mukaisesti vaativuusteoriaa, joka tutkii kuinka vaikeita erilaiset laskennalliset ongelmat ovat. Kurssilla käytetään mallina TKTL:n Laskennan mallit -kurssilta tuttua Turingin konetta sekä esitellään tunnetuimmat vaativuusluokat P, NP ja PSPACE. Lisäksi käsitellään NP-täydellisyyttä ja PSPACE-täydellisyyttä. Lopuksi tutustutaan säännöllisiin kieliin ja äärellisiin tilakoneisiin (tällä kurssilla erikoistapaus Turingin koneesta). &lt;br /&gt;
&lt;br /&gt;
Kurssilla saatetaan myös esitellä lyhyesti deskriptiivistä vaativuusteoriaa, jolloin (matemaattisen) logiikan kursseista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssin aihepiiri kuuluu tietojenkäsittelytieteilijöiden yleissivistykseen. Kurssin lähestymistapa on kuitenkin hyvin matemaattinen (todistukset tehdään tarkasti ilman käsien heiluttelua), joka saattaa olla vierasta käpistelijöille. Lisäksi kurssin tekniikat ovat usein tästä syystä melko matalalla tasolla, joten varsinaista yleiskuvaa vaativuusteoriasta ei saa, mutta vahvat perustiedot kylläkin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verkkoteoria ==&lt;br /&gt;
10 op, suoritetaan loppukokeella&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom. Tämä ei ole sama kurssi kuin [[#Verkot|Verkot]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Tiukkoja esitietovaatimuksia ei ole, mutta [[#Diskreetti matematiikka II|Diskreetti matematiikka II]] on vahvasti suositeltava. Koska kysymys on laudatur-erikoiskurssista, kurssilla oletetaan useimpien alojen perusteet tutuiksi. Logiikan, lineaarialgebran, topologian ja todennäköisyyslaskennan alkeiden osaaminen on hyödyksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tämä kurssi käsittelee nimensä mukaisesti verkkoteoriaa Diestelin kirjan&lt;br /&gt;
&#039;&#039;[http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/ Graph Theory]&#039;&#039; pohjalta. Diskreetti II:ssa käsitellyt asiat ohitetaan nopeasti ensimmäisessä luvussa, minkä jälkeen käsitellään syvemmin parituksia, yhtenäisyyttä, tasoverkkoja, värityksiä, satunnaisverkkoja ja Ramseyn teoriaa. Laudatur-kurssin oppimateriaaliksi kirja on poikkeuksellisen selkeä ja ymmärrettävä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matematiikan laudatur-erikoiskurssille tuleva toivottavasti tietää mitä sieltä on hakemassa. Verkkoteoria selventää jonkin verran esimerkiksi Algoritmien suunnittelussa ja analyysissa vastaan tulevia käsitteitä, mutta hyöty ei ole kovinkaan suuri. Kuitenkin jos matematiikka kiinnostaa, sitä kannattaa opiskella kun siihen on mahdollisuus.&lt;br /&gt;
&lt;br /&gt;
= Vanhat kurssit = &lt;br /&gt;
&lt;br /&gt;
Alla olevia kursseja ei enää luennoida tai ne ovat korvautuneet muilla kursseilla. Useimmat vanhoista kursseista, kuten Lineaarialgebra ja Diskreetti matematiikka II on pilkottu kahteen osaan, joten näkemykset näistä vanhoista kursseista pätevät jossain määrin myös uudempiin kursseihin. Asiasisältö ei varsinaisesti ole vuosien varrella muuttunut.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssin korvaa lukuvuodesta 2005-2006 alkaen [[#Johdatus diskreettiin matematiikkaan|Johdatus diskreettiin matematiikkaan]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Kaikista matematiikan kursseista tämä lienee se kevyin ja helpoin.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka I ei käsittele niinkään diskreettiä matematiikkaa kuin matematiikan perusteita. Alkeet käsitellään niin logiikasta, joukko-opista, relaatioista, funktioista, kombinatoriikasta, induktiosta kuin rekursiostakin. Kurssi tarjoaa näin helpon tien matemaattisen ajattelun kehittämiseen ja madaltaa näin monien matematiikan ja teoreettisen tietojenkäsittelytieteen kurssien aloituskynnystä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on se kurssi, jolla jokaisen käpistelijän kannattaisi matematiikan opintonsa aloittaa. Valitettavasti Diskreetti I luennoidaan jostain käsittämättömästä syystä keväisin. Luentomoniste on kuitenkin poikkeuksellisen selkeä, joten yksi vaihtoehto on hankkia se ja käydä tenttimässä kurssi jo marraskuun alun yleistentissä.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssit [[#Kombinatoriikka|Kombinatoriikka]] ja [[#Verkot|Verkot]] korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssin käsittelytapa on kuitenkin teoreettinen ja perusasiat ohitetaan nopeasti, joten ensimmäiseksi kurssiksi Diskreetti II:ta ei kannattane ottaa. [[#Diskreetti matematiikka I|Diskreetti matematiikka I]] lienee edeltävistä kursseista hyödyllisin, mutta myös muilla kursseilla omaksuttu matemaattinen ajattelu auttaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka II käsittelee varsinaisen diskreetin matematiikan osa-alueista kombinatoriikkaa ja verkkoteoriaa, jättäen automaattiteorian ja formaalit kielet tietojenkäsittelytieteen kursseille. Kombinatoriikassa mennään pidemmälle kuin muilla cumu-kursseilla (Diskreetti I ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]]), vaikka perusteisiin edelleen jäädäänkin. Verkkoteoriaa käsitellään noin puolet kurssista, mutta tässäkään ajassa ei ehditä peruskäsitteitä ja -tuloksia pidemmälle. Kurssi perustuu verkosta saatavilla olevaan luentomonisteeseen, joka on matematiikan luentomonisteeksi suhteellisen luettava.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä&lt;br /&gt;
tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että Diskreetti II on suositeltava kurssi kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]] (5 op) ja II (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Lineaarialgebra I on kurssina sieltä helpommasta päästä ja tuntuu lähes suoralta jatkolta lukiomatematiikalle.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Linis I alkaa lineaarisilla yhtälöryhmillä, joista edetään matriiseihin. Tämän jälkeen ovat vuorossa vektorit, vektoriavaruudet ja sisätulot. Lopuksi käsitellään vielä lineaarikuvauksia ja determinantteja. Käsittelytapa on yliopistokurssiksi usein suhteellisen käytännöllinen ja muistuttaa siten lukiomatematiikkaa. Teoriakin esitetään, mutta laskumenetelmät ovat etusijalla. Vaikeinta lienee kurssilla käytettävän kielen sisäistäminen &amp;amp;mdash; lineaarialgebrassa kun on matematiikaksi poikkeuksellisen paljon uusia termejä. Moni asia kurssilla ratkeaa yhdistämällä matriisit ja muuttamalla näin saatu matriisi redusoituun porrasmuotoon Gauss-Jordanin eliminointimenetelmällä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra kuuluu käpistelijän matemaattiseen yleissivistykseen, vaikkakaan ei yhtä vahvasti kuin analyysin perusteet. Tietokonegrafiikka on selkein sovelluskohde, mutta muitakin löytyy. Tiedonhallinnan syventävillä kursseilla sitä tulee kuulemma tämän tästä vastaan. Toisaalta vektorit ja matriisit tarjoavat kätevän tavan esittää matemaattisesti, että samat tai  samankaltaiset operaatiot suoritetaan kerralla useille alkioille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra I|Lineaarialgebra I]]. Lisäksi [[#Algebra I|Algebra I]] on vahvasti suositeltava.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tällä kurssilla käsitellään lineaarialgebraa abstraktimmalla tasolla kuin Linis I:ssä. Vektoriavaruuksien tilalla ovat nyt modulit, jollainen muodostuu yhdistämällä sopivasti Algebra I:stä tuttuja ryhmiä ja renkaita. Matematiikan laitos tuntuu edustavan lineaarialgebrassa sitä pedagogista suuntausta, että asiat opetetaan ensin konkreettisten esimerkkien avulla ja tämän jälkeen käsitellään asiat uudelleen yleisemmällä ja abstraktimmalla tasolla.&lt;br /&gt;
&lt;br /&gt;
Oppimateriaalin valintaan kannattaa kiinnittää tavallista enemmän huomiota. Esimerkiksi syksyn 1999 luentomoniste hukuttaa lukijansa syntaktiseen suohon, eikä yleensä vaivaudu kertomaan, mitä käsitteet itse asiassa tarkoittavat. Matematiikkaa on kyllä mahdollista opiskella pelkkänä symbolisena manipulointina ymmärtämättä asioita lainkaan, mutta tällaisen lähestymistavan hyöty on vähintäänkin kyseenalainen.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra II on syventävien opintojen kurssi, joten suoranaista hyötyä käpistelijälle on vaikea löytää. Jos aikoo erikoistua sellaisen alan teoriaan, millä tarvitaan lineaarialgebraa, kurssin käyminen on perusteltua. Muuten sitä voi suositella lähinnä heille, jotka ovat kiinnostuneita matematiikasta sen itsensä takia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Optimointi I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Differentiaalilaskentaa esimerkiksi kurssilta [[#Analyysin peruskurssi|Analyysin peruskurssi]] tai [[#Analyysi I ja II|Analyysi I ja II]], sekä [[#Lineaarialgebra I|Lineaarialgebra I]]. Useamman muuttujan differentiaalilaskennasta kurssilta [[#Vektorianalyysi|Vektorianalyysi]] on hyötyä, jos on käynyt Analyysi I+II:n Analyysin peruskurssin asemasta, mutta vektorianalyysin käyminen rinnakkain optimoinnin kanssa riittää.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lineaarista ja kvadraattista optimointia ja vastaavia kuljetusongelmia. Kurssi käsittelee lähinnä perusteoriaa ja perusmenetelmiä, joista keskitytään lähinnä simplex-algoritmiin. Tarkempaa kuvausta en osaa antaa, sillä jätin kurssin&lt;br /&gt;
kesken puolenvälin aikoihin motivaation puutteen takia. Lineaarista optimointia on tapana suorittaa tietokoneilla, ei kynällä ja paperilla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Ennen kaikkea tarvitaan istumalihaksia, sillä laskuharjoitukset sisältävät runsaasti mekaanista laskentaa. Ne ovat kuitenkin käytännössä välttämättömiä, sillä algoritmien toiminnan sisäistäminen on olennainen osa kurssia. Jos numeerinen matematiikka tai tieteellinen laskenta kiinnostaa, on Optimointi I varmastikin hyödyllinen kurssi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit Johdatus todennäköisyyslaskentaan (5 op) ja Johdatus tilastolliseen päättelyyn (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Joko [[#Analyysi I ja II|Analyysi I ja II]] tai [[#Analyysin peruskurssi|Analyysin peruskurssi]]. Kurssista [[#Vektorianalyysi|Vektorianalyysi]] on myös jonkin verran hyötyä, sillä Todennäköisyyslaskenta I:ssä tarvitaan paikoin hieman useamman muuttujan integraalilaskentaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Todennäköisyyslaskennan perusteita varsin käytännönläheisellä tasolla. Teoria jää usein vaille todistuksia, jotka edellyttäisivät mittateoriaa esimerkiksi kurssin [[#Mitta ja integraali|Mitta ja integraali]] laajuudessa. Todennäköisyyslaskennan alkeiden lisäksi käsitellään satunnaismuuttujia, kombinatoriikkaa sekä tavallisimpia diskreettejä ja jatkuvia jakaumia. Kurssin sisältö vaihtelee suuresti luentokertojen välillä, mutta Pekka Tuomisen kirja &#039;&#039;Todennäköisyyslaskenta&#039;&#039; on aina vähintäänkin hyvää oheislukemistoa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todennäköisyyslaskentaa tarvitaan tietojenkäsittelytieteessä esimerkiksi rinnakkaisjärjestelmien ja algoritmien analysoinnissa sekä älykkäissä järjestelmissä. Sen suorittaminen onkin suositeltavaa, jos aikoo opiskella&lt;br /&gt;
matematiikkaa minimilaajuista perusopintokokonaisuutta enempää.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7904</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7904"/>
		<updated>2016-05-02T20:26:16Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mallilukujärjestys löytyy laitoksen sivuilta osoitteessa http://www.cs.helsinki.fi/opiskelu/mallilukuj-rjestys-luk-ja-fm.&lt;br /&gt;
&lt;br /&gt;
Myös opinto-oppaasta löytyy jotakuinkin vastaava mallilukujärjestys, mutta &#039;&#039;&#039;laitoksen sivujen mallilukujärjestys on aina varmasti ajan tasalla. Tällä sivulla tulkitaan sanallisesti tuota mallilukujärjestystä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Formaalia esitystapaa matematiikka opettaa, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Vaikka mallilukujärjestystä tutkailemalla näyttää siltä, että selviää vain parilla matematiikan kurssilla, ei kannata tuudittautua turvallisuuden tunteeseen. Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseja, vaikka se olisi kuinka ikävää. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö ikinä pärjäisi opinnoissasi. Tarkoituksena on kannustaa opiskelemaan matematiikkaa, koska siitä on vain hyötyä.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska viikottainen tapaamisaika sovitaan ohjaajan kanssa erikseen.&lt;br /&gt;
&lt;br /&gt;
Neuvontapaja järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Jos et ole kuullut tällaisesta mahdollisuudesta, kysy neuvontapajaohjaajilta tai TKO-älyn opintovastaavilta. Jos ensimmäisen syksyn keskeiset kurssit takkuavat, ei kuitenkaan kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
* Katso myös erityinen [[mallilukujärjestys ensimmäiselle syksylle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on välttämätöntä, jos mielii valmistua kolmessa vuodeksi luonnontieteiden kandidaatiksi (LuK). Kurssien esitietoriippuvuuksiin katso [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet riippuvuuskaavio laitoksen sivuilla]. Opinto-oppaan oma versio sisältänee samat tiedot, joskin ainakin toiseksi sekavammassa muodossa.&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Myös Aineopintojen harjoitustyö: Ohjelmointi on välttämätöntä suorittaa viimeistään ensimmäisen vuoden kesällä (Ohjelmistotekniikan menetelmät on esitietovaatimuksena Ohjelmoinnin harjoitustyölle).&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I-II || 8&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || II || 6&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III-IV || 8&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || IV ||  5 + 1 + 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Lisäksi toinen harjoitustyö tulee suorittaa ennen Ohjelmistotuotantoa.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellisen kirjoittamisen kurssi || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
&lt;br /&gt;
=== 1. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|- &lt;br /&gt;
| Tietokone työvälineenä || I || 1&lt;br /&gt;
|- &lt;br /&gt;
| TVT-ajokortti || I || 3&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (OhPe), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (JTKT) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Johdatus yliopistomatematiikkaan (JYM) on myös tärkeä kurssi. JYM on jaettu kahteen periodiin vaikka se on vain 5 opintopisteen kurssi, mutta siitäkin onnistuu putoamaan kärryiltä jos tehtäviä ei tee.&lt;br /&gt;
&lt;br /&gt;
TVT-ajokortti on käytännössä ilmaiset 3 opintopistettä. Muista kuitenkin tehdä esitehtävät jotka vaaditaan kokeeseen.&lt;br /&gt;
&lt;br /&gt;
Ykkösperiodin paniikkihäiriöistä ks. tiivistelmä kakkosperiodin jälkeen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksien&#039;&#039;&#039; kannattaa suorittaa tietokantojen perusteet.&lt;br /&gt;
&lt;br /&gt;
=== 2. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (jatkuu)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (jatkuu)&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kakkosperiodissa tärkeimmät kurssit ovat edelleen Ohjelmoinnin jatkokurssi (OhJa) ja Johdatus yliopistomatematiikkaan (JYM). Edelleen on toki muistettava myös JTKT:n suoritus, sillä sitä ei tässä vaiheessa ainakaan kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Vaikka OhPe vaaditaankin Ohjelmoinnin jatkokurssiin ja Ohjelmistotekniikan menetelmiin (OTM), niin tulokset eivät ole näiden kurssien alkaessa vielä tuleet. Jos OhPesta paukahtaa WebOodiin hylätty, mutta OhJassa ja OhMassa on mukana edes jollain tasolla, niin kumpaakaan ei missään nimessä kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahistaa. Mutta ei hätää! Ota rohkeasti Johdatus diskreettiin matematiikkaan (siihen kannattaakin sitten panostaa), ja lue tässä välissä [[Sivuainekuvauksia|sivuaineita]]!&lt;br /&gt;
&lt;br /&gt;
JYMin ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Ratkomo Ratkomosta] tai JYMin omasta pajasta, koska luennon matemaattisesti kauniit &amp;quot;On olemassa kuvaus siten, että...&amp;quot; voidaan toisinaan korvata vanhemman opiskelijat &amp;quot;Tee näin...&amp;quot;-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Syksylle voi napata jonkin matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. kohta [#Matematiikan sovittaminen malliaikatauluun] alempaa. On myös mahdollista ottaa Matematiikka tutuksi -kurssi.&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia - ei hätää, kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. MaTun suorituksesta ei riipu mikään, joten sen failaaminen on pienin ongelmasi. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JTKT:tä on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja KäJässä), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Erityisen ikävää on, että OhPe - OhJa - TiRa - LaMa - Ohtuprojekti - TiKi -kriittisellä polulla yhdenkin kurssin failaaminen venyttää opintoja poikkeuksetta yli kolmelle vuodelle. Jos olet yritteliäs ja hyvä hallitsemaan aikaasi, voit vielä ottaa klapin kiinni tekemällä 3. vuonna Ohtuprojektin ja TiKin yhtä aikaa. Et ehdi edes jäädä vielä Etappeihin (opintojen etenemisen seurantajärjestelmä, LuK-tutkinnossa kolme on &amp;quot;etappia&amp;quot;, joissa siihenastinen eteneminen tarkastetaan), jos käyt toisen niistä ajallaan ja hoitelet toisen samalla kun aloittelet jo maisterikursseja. Eikä se viidessä vuodessa valmistuminen ole vieläkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]].&lt;br /&gt;
&lt;br /&gt;
=== 3. periodi (eli kevään 1. periodi) === &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (alkaa) || OhJa, JYM&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmoinnin harjoitustyö || III || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Tietokantojen perusteet || III || 5 || OhPe&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja OhJa) sekä matematiikasta (JYM), on kevään vastaava koitos Tietorakenteet ja algoritmit-kurssi (TiRa). Kurssi kestää koko lukukauden, ja siinä ei pärjää, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa.&lt;br /&gt;
&lt;br /&gt;
Ohjelmointikurssien puuttuminen estää myös harjoitustyöhön osallistumisen. Harjoitustyökursseilla taas keskeyttämistä ei katsota hyvällä, vaan se vaikuttaa ensi kerralla ryhmään pääsemiseen - harjoitustöiden pienryhmäopetus kun on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssilla hyötyy Ohjelmistotekniikan menetelmistä, mutta se ei ole pakollinen esitietovaatimus. Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena Tietokantasovellus-harjoitustyölle, jos sen haluaa suorittaa. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algorimit kannattaa ottaa sinänsä vakavasti, sillä sen suorittamatta jättäminen lisää helposti opiskeluaikaa ainakin puolella vuodella. Jos tietorakenteita ei pääse opiskelemaan tai ohjelmoinnin harjoitustyötä tekemään, otetaan käyttöön sivuainesuunnitelmat ja suoritetaan puuttuvia kursseja (ks. alla). &lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan [http://mathstat.helsinki.fi/opiskelu/ matematiikkaa ja tilastotiedettä], jotta saa pakollisen matematiikan tai [http://www.cs.helsinki.fi/opiskelu/menetelmatieteet/ menetelmätieteiden] sivuainekokonaisuuden kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa. &lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että [http://www.helsinki.fi/kksc/ kielikeskuksen] a) [http://www.helsinki.fi/weboodi ilmoittautumisjärjestelmä] ja b) kursseille ilmoittautumisajat eroavat laitoksen vastaavista). Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät. Tietokantojen perusteisiinkin pääsee neljännessä periodissa, vaikka ohjelmointikursseissa olisi sykysyllä epäonnistunutkin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Etsi sopivia aineopintoja [[Kurssikuvauksia|kurssikuvauksista]]&lt;br /&gt;
&lt;br /&gt;
=== 4. periodi (eli kevään 2. periodi) === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (loppuu) || OhJa, JYM&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus tai muu harjoitustyö || IV || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Sivuaineita/valinnaisia || IV || 5- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aiemmin keväällä napatut sivuaineet voivat jatkua tälle periodille TiRan tapaan. Pyri ottamaan n. 15 op myös tähänkin periodiin.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen selväksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Toista sivuainekokonaisuutta ei pidä myöskään unohtaa, se tulisi aloittaa heti toisen vuoden syksyllä. Laajennettua matematiikan tai menetelmätieteiden sivuainekokonaisuutta (50op) käyvien kannattaa muodostaa näiden aineiden kurssien välille yhtenäinen jatkumo, etteivät asiat tai motivaatio kerkeä välissä jo unohtumaan. Myöskin toisen kotimaisen kielen (~&amp;quot;virkamiesruotsi&amp;quot;) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestyksen tulkitsemisessa jatkoa koskien apua voi kysyä laitoksen opintoneuvonnasta tai TKO-älyn opintovastaavilta.&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Analyysi I, (10 op / 2 periodia) on harkitsemisen arvoinen vaihtoehto, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Analyysi I:en sisältö ei ole yhtä relevanttia kuin Lineaarialgebra ja matriisilasekenta I:n, mutta matikan perusfuksikurssina se opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto. Huomaa, että kestää kaksi periodia, eikä sitä voi suorittaa osissa. Analyysi I on myös selkeästi työläin vaihtoehdoista.&lt;br /&gt;
** (Analyysin virtuaalinen peruskurssi ja Matemaattisen analyysin kurssi eivät ole erityisen suositeltavia vaihtoehtoja, koska analyysi aiheena ei ole erityisen hyödyllistä tietojenkäsittelytieteessä. Näillä kursseilla ei myöskään ole Analyysi I:n tarjoamaa teorian ymmärtämispainotteisuutta, vaan ne painottuvat enemmän laskemiseen.)&lt;br /&gt;
** Tilastotieteen johdantokurssi (osa 1, 4op), jos ei kaipaa johdatusta matematiikkaan ja uskoo kiinnostuvansa tilastotieteen opiskelusta.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotieteen johdantokurssi (osa 2, 6 op) turnauskestävyyden riittäessä ykkösosan suorittaneille.&lt;br /&gt;
*** Analyysi I:n loppu, jos sen on itselleen manannut; kurssista  ei saa välisuorituksia, joten se on tupla (10) tai kuitti (0).&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka I, 10 op&lt;br /&gt;
** Tai Tilastotieteen jatkokurssi, 10 op, tai johdantokurssin kevätversio jos et ehtinyt sitä jo käydä.&lt;br /&gt;
** Tai Johdatus todennäköisyyslaskentaan (III), 5 op. Mahdollisesti myös Johdatus tilastolliseen päättelyyn (IV), 5 op. Ensimmäinen tarkoittaa suhteellisen helppoja opintopisteitä, jälkimmäinen näistä on vaikea. Valitse jälkimmäinen vain, jos rahkeet riittävät tässä vaiheessa. Esitietoina kurssille käytännössä on integraalilaskennan osaaminen, joko lukion pitkän matematiikan pohjalta tai Analyysi I:stä tai Analyysin peruskurssista. Johdatus todennäköisyyslaskentaan -kurssille sen sijana voi kävellä lukiopohjalta.&lt;br /&gt;
&lt;br /&gt;
TKT:n Tietorakenteet-kurssi on mallilukujärjestyksessä 1. keväänä, ja siellä matematiikan pohjista on välitöntä apua. Perusopiskelija ehtii siis siihen mennessä käydä suunnilleen MaTun tai jonkin hiukan haastavamman kurssin, Johdatuksen diskreettiin matematiikkaan ja samanaikaisesti Tiran kanssa esim. Logiikka I:stä.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
* Algebra I, jos Johdatus diskreettiin matematiikkaan ei ahdistanut tai Linis I ja/tai Analyysi I on jo käyty&lt;br /&gt;
* Tilastotieteen jatkokurssi, tai Data-analyysi, tai Monimuuttujamenetelmät, tai... ks. [[Sivuainekuvauksia#Tilastotiede]]&lt;br /&gt;
* Johdatus todennäköisyyslaskentaan ja Johdatus tilastolliseen päättelyyn&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_sivuaineopinnoista&amp;diff=7903</id>
		<title>Matematiikan sivuaineopinnoista</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_sivuaineopinnoista&amp;diff=7903"/>
		<updated>2016-04-23T17:13:54Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Muita näkökulmia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tämä kirjoitus on tarkoitettu auttamaan tietojenkäsittelytieteen fukseja matematiikan sivuaineopintojen aloittamisessa ja sopivien kurssien valitsemisessa. Ne tarjoavat myös erään näkemyksen siitä, mitä jotkut matematiikan kurssit pitävät sisällään ja kuinka relevantteja ne ovat käpistelijän kannalta. Annettuihin neuvoihin kannattaa kuitenkin suhtautua varauksella, sillä alkuperäinen kirjoittaja on päättänyt lukea matematiikkaa keskivertoa laajemman pääaineoppimäärän verran. Tekstin alkuperäisversion on laatinut Jouni Siren. Päivittämiseen ovat osallistuneet ainakin Tomi Jylhä-Ollila ja Anssi Syrjäsalo. &lt;br /&gt;
&lt;br /&gt;
== Miksi matematiikkaa kannattaa opiskella? ==&lt;br /&gt;
Monilla käpistelijöillä on tunnetusti kielteinen asenne matematiikkaa kohtaan. Matematiikan kurssit tuntuvat usein teoreettisilta ja olevan vailla kosketuspintaa tietojenkäsittelytieteeseen. Matematiikan laitoksen kurssitarjontaa pidetään pelkästään matemaatikoille suunnattuna. Kuitenkin opintojen loppuvaiheessa useimmat huomaavat, että matematiikan opiskeleminen oli todellakin tarpeellista opintojen kannalta.&lt;br /&gt;
&lt;br /&gt;
On totta, ettei Matematiikan laitos tarjoa sellaista opetusta, mitä käpistelijät tarvitsevat. Kuitenkin niin kauan kuin laitoksellamme ei ole resursseja ja/tai halua järjestää omia matematiikan kursseja, tämän ongelman kanssa on yritettävä tulla toimeen. Parhaiten soveltuvien kurssien valitseminen heti alusta asti on olennaista, varsinkin jos aikomuksena ei ole opiskella matematiikkaa sen itsensä takia.&lt;br /&gt;
&lt;br /&gt;
Tietojenkäsittelytieteessä on kieltämättä monia osa-alueita, joilla perinteistä matematiikkaa tarvitaan vain vähän tai ei lainkaan. Käyttöliittymätutkimus ja ohjelmistotuotanto ovat eräitä esimerkkejä tällaisista aloista. Nekään eivät ole vapaita matematiikasta eivätkä etenkään matemaattisesta ajattelusta. Kaikilla tietojenkäsittelytieteen osa-alueilla on keskeistä samankaltainen abstraktioiden ja analogioiden etsiminen kuin matematiikassakin. Teknisemmillä osa-alueilla matemaattista täsmällisyyttä tarvitaan erityisen paljon, sillä tietokoneet eivät tunnetusti tee sitä mitä niiden halutaan tekevän, vaan mitä niiden käsketään tekevän. Toimiva tietokone tekee asiat täsmälleen niin kuin on käsketty, jolloin pienimmätkin virheet suunnittelussa tai toteutuksessa voivat olla kriittisiä.&lt;br /&gt;
&lt;br /&gt;
Matemaattisen ajattelun lisäksi tarvitaan myös matematiikan osaamista. Tietojenkäsittelytieteestä ei valmistuta pelkäksi ohjelmistotuotanto- tai tietokanta-asiantuntijaksi, vaan tuoreella maisterilla on oltava jokseenkin laajat perustiedot kaikilta tietojenkäsittelytieteen osa-alueilta. Tietojenkäsittelytiede syntyi loogikoiden ajatusleikkinä ja eriytyi matematiikasta omaksi tieteenalakseen vasta joitain vuosikymmeniä sitten. Sen monet osa-alueet ovat edelleen tiiviissä yhteydessä matematiikkaan, eikä niiden perusteidenkaan ymmärtäminen ole mahdollista ilman lukiomatematiikkaa syvempää matematiikan osaamista.&lt;br /&gt;
&lt;br /&gt;
Matematiikan taitoja tarvitaan tietojenkäsittelytieteen opinnoissa jo varhaisessa vaiheessa. Malliopintosuunnitelmassa ensimmäisen vuoden keväälle sijoitetut Tietorakenteet ja Tietokantojen perusteet ovat esimerkkejä tällaisista kursseista. Toisena opiskeluvuonna matematiikkaa tarvitaan jo ainakin Laskennan malleissa ja Rinnakkaisohjelmoinnissa. Lisätietoja tietojenkäsittelytieteen kurssien matemaattisista esitietovaatimuksista ja -suosituksista löytyy [[Millaista matematiikkaa opinnoissa tarvitaan|omalta sivultaan]].&lt;br /&gt;
&lt;br /&gt;
== Pari neuvoa ==&lt;br /&gt;
Ensimmäinen neuvo on ilmeinen: Lue huolella sekä tietojenkäsittelytieteen että matematiikan opinto-oppaat. Niistä löytyy paljon hyödyllistä informaatiota, joka on ensimmäisellä lukukerralla jäänyt huomaamatta, koska asioita ei silloin ymmärtänyt. Myös Limeksen Älä Hätäile -opas sisältää ihan hyödyllistä tietoa, vaikka matematiikan osuus onkin kirjoitettu matemaatikon näkökulmasta. Sivulla [[Matematiikan kurssit]] on analysoitu, mitkä matematiikan kurssit ovat kiinnostavia tietojenkäsittelytieteilijöiden kannalta. (Kannattaa huomioida ettei kurssilistausta päivitetä kovin aktiivisesti, joten siellä saattaa seikkailla kursseja joita ei enää luennoida tai joiden nimi ja/tai sisältö muuttunut. Hyvin satunnaisesti tai peräti ainutkertaisesti luennoitavat kurssit eivät myöskään yleensä ehdi fuksiwikiin, tällaiset löytää parhaiten tarkkailemalla matikan laitoksen omia sivuja.)&lt;br /&gt;
&lt;br /&gt;
Jos jokin asia tuntuu vaikealta, syy saattaa hyvinkin olla siinä, että asia on vaikea. Ongelman kanssa ei kuitenkaan kannata tuskailla yksin, vaan siihen kannattaa etsiä apua. Muut samalla kurssilla olevat tai sen jo käyneet opiskelijat ovat yksi vaihtoehto. Matematiikan laitoksella heitä kannattanee etsiä opiskelijahuoneesta, joka löytyy Exactumin 3. kerroksesta huoneesta C338 (Komero). Matematiikan laitoksella pidetään myös laskupajaa, jonne voi mennä hakemaan apua käynnissäolevien kurssien tehtäviin. Tietojenkäsittelytieteen laitoksella voi suunnata Gurulaan, jonka vakioasukkaat päinvastaisista huhuista huolimatta myös opiskelevat.&lt;br /&gt;
&lt;br /&gt;
Vielä yksi neuvo: Nuku riittävästi. Vaikka 5-6 tunnin yöunilla pärjääkin pitkään, opiskeleminen on huomattavasti helpompaa ja motivoivampaa hyvin nukkuneena. Matematiikan opiskeleminen vaatii aivan toisella tavalla keskittymistä kuin monesta muusta aineesta tuttu tiiliskivien selailu ja esseiden kirjoittaminen. Kirjoissa ja monisteissa on vähän sivuja, mutta se vähä on (mahdollisimman) tiivistä asiaa ja tulee osaamisen lisäksi myös ymmärtää. Kymmenen sivua tunnissa on jo kova lukutahti ja kertoo siitä, ettei mitään ongelmakohtia ole tullut vastaan.&lt;br /&gt;
&lt;br /&gt;
== Kurssien suorittaminen ==&lt;br /&gt;
Matematiikan kurssien suorittamiseen on kaksi vaihtoehtoista tapaa: 1) luentokurssi laskareineen ja kurssikokeineen tai 2) erilliskoe. Luentokurssilla luentoja on tyypillisesti neljä tai viisi tuntia viikossa koko lukukauden ajan, minkä lisäksi on laskuharjoituksia kahden viikkotunnin verran. Sekä luennot että laskuharjoitukset ovat vapaaehtoisia, mutta laskareissa käymisestä saa yleensä jonkin verran ylimääräisiä pisteitä kurssikoepisteiden päälle. Nämä pisteet voivat osoittautua juuri kriittiseksi kurssin läpäisyn kannalta.&lt;br /&gt;
&lt;br /&gt;
Kurssikokeiden etuna on, että tyypillinen kymmenen opintopisteen kurssi jaetaan kahteen tai kolmeen osaan, jolloin kokeeseen on vähemmän luettavaa. Toisaalta matematiikan koealueet eivät yleensä ole kovin laajoja; opintopistettä kohti luettavaa tulee vain 10-20 sivua. Vaikka suurin osa tästä täytyykin osata, useimmat kurssit pystyy suorittamaan erilliskokeella huomattavan vähällä vaivalla. On järkevää kokeilla kurssien suorittamista sekä kurssikokeilla että erilliskokeella, jotta löytäisi itselleen parhaiten sopivan opiskelutekniikan.&lt;br /&gt;
&lt;br /&gt;
Matematiikan yleistenttejä järjestetään helmi-, heinä- ja syyskuuta lukuunottamatta joka kuukausi. Syksyisin luennoitavat kurssit voi tenttiä loka-, tammi- tai huhtikuussa, kevään kurssit taas marras-, maalis- tai toukokuussa. Joulukuun tentti on varattu joillekin syventävien opintojen kursseille, kun taas kesän tenteissä voi suorittaa minkä kurssin tahansa. Yleistentteihin, kuten matematiikan kursseillekin, ilmoittaudutaan WebOodissa.&lt;br /&gt;
&lt;br /&gt;
== Matemaattinen kielenkäyttö ja ajattelu ==&lt;br /&gt;
Opettele lukemaan ja kirjoittamaan matematiikkaa. Se mikä näyttää harjaantumattomalle silmälle vain läjältä käsittämättömiä koukeroita, on todellisuudessa tekstiä, jota luetaan ylhäältä alas ja vasemmalta oikealle. On totta, että matemaattinen kieli pyrkii tiiviyteen ja täsmällisyyteen selkeyden ja luettavuuden kustannuksella. Yksi ainoa symboli saattaa tarkoittaa sanaa, lausetta tai kokonaista kappaletta. Täsmällisyyttä korostetaan myös käyttämällä aina samoja fraaseja samassa tilanteessa.&lt;br /&gt;
&lt;br /&gt;
Kannattaa muistaa, että järkeviä symboleita on paljon vähemmän kuin matemaattisia käsitteitä, muuttujista puhumattakaan. Niinpä samoja symboleita käytetään, uudelleenkäytetään ja väärinkäytetään tarkoittamaan lukuisia eri asioita. Onkin aina hyvä selittää symboleiden merkitys sanallisesti, jos ei koe sen käyvän (tarkastajalle) selväksi kontekstin perusteella.&lt;br /&gt;
&lt;br /&gt;
Muista, ettet tee vaikutusta keneenkään käyttämällä matemaattista kieltä. Symboleiden ja lyhenteiden runsas käyttö synnyttää helposti vaikutelman, ettei kirjoittaja itsekään tunne asiaa kunnolla, vaan yrittää peittää sitä korostetun matemaattisella kielenkäytöllä. Kaikenlaiset pienet tyylirikot ja poikkeamat vakiintuneista käytännöistä paljastavat kuitenkin kokemattomuuden. Jos jonkin asian voi ilmaista lyhyesti ja täsmällisesti myös suomeksi, niin kannattaa tehdä. Assarisetä tai -täti arvostaa sitä ja saattaa jopa muistaa sinua pisteillä.&lt;br /&gt;
&lt;br /&gt;
Täsmällinen matemaattinen kieli antaa helposti kuvan siitä, että matemaattinen ajattelu olisi mekaanista ja tiukasti rajattua. Tämä mielikuva on kuitenkin selvästi väärä. Vaikka joidenkin väitetään pystyvän ajattelemaan formaalisti, useimmat tarvitsevat intuitiivisen idean matemaattisesta tuloksesta tai rakenteesta pystyäkseen hyödyntämään sitä. Voidaan siis hyvällä syyllä sanoa, että matemaattinen ajattelu tapahtuu pääosin intuitiivisella tasolla.&lt;br /&gt;
&lt;br /&gt;
Täsmällisyyttäkin tarvitaan. Intuitiivisesti hyvältä näyttävä idea ei välttämättä toimi, ellei tilannetta rajoita jollain tavalla. Osan rajoitteista pystyy löytämään intuitiivisesti, mutta rajoitteiden täydentämiseen ja niiden riittävyyden osoittamiseen tarvitaan yleensä täsmällisempää otetta. Matemaattisen ajattelun &amp;quot;mekaaninen&amp;quot; puoli astuu tässä kohdassa mukaan peliin.&lt;br /&gt;
&lt;br /&gt;
Matemaattiset ideat ovat usein monimutkaisia ja monivivahteisia. Niiden välittäminen ihmiseltä toiselle edellyttää, että vastaanottaja ymmärtää perusidean lisäksi myös yksityiskohdat ja vivahteet. Koska ihmisten välinen viestintä on luonnostaan epämääräistä ja häviöllistä, tarvitaan matemaattisten ideoiden välittämiseen jokin riittävän täsmällinen ja rajoitettu kieli. Vaikka matemaattinen kieli ei kuvastakaan kovin hyvin matemaattista ajattelua, ei hyviä vaihtoehtoja ole olemassa.&lt;br /&gt;
&lt;br /&gt;
Yliopistomatematiikka on hyvin poikkeavaa esimerkiksi Aalto-yliopiston teknillisen korkeakoulun &amp;quot;insinöörimatematiikasta&amp;quot;. Lukion matematiikka on perusteellisesti juuri insinöörimatematiikkaa. Esimerkiksi matematiikan laitoksen kursseille tyypillinen joukko-opillinen lähestymistapa sivuutetaan pitkän matematiikan oppimäärässäkin kokonaan. Hyvät lukiotiedot eivät takaa menestymistä yliopistomatematiikassa; vastaavasti huonot lukiotiedot eivät takaa, että yliopistomatematiikka olisi erityisen mahdotonta. Menestymisessä (monelle tarkoittaa kurssin läpäisyä) lienee kuitenkin kyse enemmän ennakkoluuloista ja motivaatiosta. Motivaation olisi tietysti hyvä olla kunnossa.&lt;br /&gt;
&lt;br /&gt;
== Muita näkökulmia ==&lt;br /&gt;
Matematiikan opiskelu kannattaa aloittaa hyvissä ajoin, koska se kehittää matemaattista ajattelukykyä, josta on hyötyä lähes kaikilla TKTL:n kurseilla varsinkin Algoritmit ja koneoppiminen -linjan syventävissä opinnoissa Lisäksi joidenkin kurssien (esim. [[Matematiikan kurssit#Johdatus yliopistomatematiikkaan|Johdatus yliopistomatematiikkaan]] ja [[Matematiikan kurssit#Logiikka I|Logiikka I]]) varsinaiset asiat ovat kävelleet vastaan myös tietojenkäsittelytieteen perus- ja aineopintojen kursseilla.&lt;br /&gt;
&lt;br /&gt;
Matematiikkaan orientoitunut käpistelijä pääsee kursseista läpi, jos jaksaa avata kirjan, mutta tyypillisen, matematiikkaa hieman vierastavan, tietojenkäsittelijän on syytä varata aikaa erityisesti laskareiden tekoon. Eikä ole ollenkaan tavatonta, että laskaritehtävät tulevat kokeessa vastaan sellaisenaan.&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitoksen aineopintojen kurssit eivät välttämättä ole keskiverto matematiikan pääaineopiskelijallekaan helppoja. Mainittakoon myös, että Johdatus yliopistomatematiikkaan -kurssin kohdalla läpipääsyprosentti on matematiikan laitoksella ollut jotakuinkin samaa luokkaa kuin meillä tietojenkäsittelytieteen laitoksellakin.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7902</id>
		<title>Matematiikan kurssit</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7902"/>
		<updated>2016-04-23T17:12:44Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tässä esitellään lyhyesti useimmat matematiikan perus- ja aineopintotason kurssit sekä muutama syventävä kurssi. Esitettyjä näkemyksiä ei kannata ottaa absoluuttisina totuuksina, vaan eräiden matematiikkaa poikkeuksellisen paljon sivuaineena opiskelleiden tietojenkäsittelytieteiden opiskelijoiden mielipiteinä.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Perusopinnot = &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huom.&#039;&#039;&#039; Vaikka Matematiikan laitos määritteleekin osan kursseista perusopinnoiksi, voi menetelmätieteiden ja matematiikan perusopintokokonaisuuden muodostaa vapaasti muistakin kursseista (esim. sekoittamalla perus- ja aineopintoja).&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitoksella on jostain erikoisesta syystä perusopintotasolla kolme erilaista analyysin kurssia (sekä näiden jatkokurssit). Yleensä pää- ja sivuaineopiskelijat käyvät luentokurssit Analyysi I ja II. Osa on myös suorittanut sivuaineopiskelijoille suunnatun Matemaattisen analyysin kurssin, joka on kuulemma hiukan helpompi. &#039;&#039;Jos jollain on ajantasaista tietoa näiden eroista, päivittäkää wikiä.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajankohtaista huom.&#039;&#039;&#039; Matikan 10 op:n perus- ja aineopintojen kursseja on jaettu kahtia 5 op:n kursseiksi ja nimetty uudelleen alkaen syksystä 2015. Myös tilastotieteen kursseja on nimetty uudelleen (Johdatus todennäköisyyslaskentaan -&amp;gt; Todennäköisyyslaskenta I, Todennäköisyyslaskenta 10 op -&amp;gt; Todennäköisyyslaskenta II, jne. Ks. tilaston [https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+2014-2016 tutkintovaatimukset]) . Suurempia muutoksia kurssien sisällöissä ei &#039;&#039;ilmeisesti&#039;&#039; ole, joten fuksiwikin vanhoja kursseja koskevat neuvot todennäköisesti pätevät edelleen uusiin kursseihin sellaisenaan. Entisten kurssien nimet (suluissa).&lt;br /&gt;
&lt;br /&gt;
== Johdatus yliopistomatematiikkaan ==&lt;br /&gt;
&lt;br /&gt;
5 op, syksy, periodit I ja II&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tämä on ehkä suositeltavin ensimmäinen yliopistomatematiikan kurssi käpistelijöille.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla tutustutaan eräisiin diskreetin matematiikan osa-alueisiin. Vastaan tulee joukko-oppia, relaatioita, kuvauksia, induktiota, rekursiota sekä perusteita kombinatoriikasta ja verkkoteoriasta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on ainoa matematiikan kurssi, joka on tutkintovaatimuksissa kaikille käpistelijöille pakollinen. Tämä on hyvästä&lt;br /&gt;
syystä, sillä monet kurssin asioista kävelevät vastaan jo monilla fuksivuoden kursseilla. Yksi näistä kursseista on fuksikevään Tietorakenteet ja Algoritmit.&lt;br /&gt;
&lt;br /&gt;
Aihepiiriä käsitellään lisää mm. kursseilla [[#Verkot|Verkot]] ja [[#Kombinatoriikka|Kombinatoriikka]].&lt;br /&gt;
&lt;br /&gt;
== Analyysin peruskurssi ==&lt;br /&gt;
10 op, syksy. (Viime vuosina järjestetty &#039;virtuaalisena&#039; kurssina ts. Moodle-etäkurssina &amp;quot;Analyysin virtuaalinen peruskurssi&amp;quot;. Älä sekoita &#039;&#039;&#039;Matemaattisen analyysin kurssiin&#039;&#039;&#039;, ks. alempana.)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Mitään esitietovaatimuksia tai -suosituksia ei ole. Analyysin peruskurssi sopii hyvin ensimmäiseksi yliopistomatematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysin peruskurssi käsittelee suunnilleen samoja aiheita kuin teoreettisempi [[#Analyysi I ja II|Analyysi I]]. Keskeistä sisältöä ovat yhden muuttujan differentiaali- ja integraalilaskenta ja sarjat.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysi I ja II sekä [[#Analyysin peruskurssi|Analyysin peruskurssi]] käsittelevät olennaisesti samoja asioita, edelliset kaksi syvemmin ja teoreettisemmin, jälkimmäinen taas pintapuolisemmin ja soveltavammin. Kun Analyysiä on viime aikoina helpotettu ja muutettu opiskelijalähtöisemmäksi, se alkaa olla yhä useammalle opiskelijalle Analyysin peruskurssia suositeltavampi vaihtoehto.&lt;br /&gt;
&lt;br /&gt;
Monet ovat nähneet tämän kurssin lähinnä lukiomatematiikan kertauksena, joka ei tarjoa työläyteensä nähden mitään olennaista hyötyä.&lt;br /&gt;
&lt;br /&gt;
== Raja-arvot ja Differentiaalilaskenta (aiemmin Analyysi I)  ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Lukiomatematiikkaan tottuneelle aloituskynnys voi kuitenkin olla korkea, joten jonkin kevyemmän kurssin suorittaminen tätä ennen saattaa kannattaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysi I käsittelee lukujonoja, raja-arvoja, jatkuvuutta, derivoituvuutta ja alkeisfunktioita. Samalla se toimii johdatuksena matemaattiseen ajatteluun ja todistustekniikoihin. Lähestymistapa on selvästi teoreettisempi kuin mihin lukiossa tottui. Opettajien ja tutoreiden varoituksissa on perää; kurssi voi olla raskas ja vaikea. Kysymys ei ole kuitenkaan asioiden vaikeudesta; valtaosa siitä on jo lukiosta tuttua. Vaikeus ja raskaus tulevat lähinnä aloituskynnyksen korkeudesta. Asiat muuttuvat huomattavasti helpommiksi, jos onnistuu pääsemään yli kulttuurishokista.&lt;br /&gt;
&lt;br /&gt;
Luennoijat laittavat luentomuistiinpanonsa usein verkkoon, mutta niistäkään ei yleensä ole hyvän oppikirjan korvikkeeksi. Niinpä luentojen seuraaminen onkin Analyysi I:ssä ja II:ssa poikkeuksellisen suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen. Suoranaisia sovelluskohteita niille löytyy esimerkiksi tietokonegrafiikasta, suorituskykyanalyysista ja signaalinkäsittelystä. Jokin analyysin kurssi olisikin hyvä löytyä jokaisesta matematiikan sivuaineoppimäärästä.&lt;br /&gt;
&lt;br /&gt;
== Integraalilaskenta ja Sarjat (aiemmin Analyysi II) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I tai vastaavat tiedot.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssin keskeisiä aiheita ovat sarjat ja integrointi. Tavaraa on paljon, uutta asiaa tulee enemmän kuin Analyysi I:ssä ja käsittelyvauhti on nopeahko. Kuitenkin jos selvisi Analyysi I:stä, selviää todennäköisesti tästäkin.&lt;br /&gt;
&lt;br /&gt;
== Tieteellinen viestintä / Matematiikan harjoitustyö (ent. Analyysin harjoitustyö) ==&lt;br /&gt;
2 op (aineopintoja, harjoitustyöosuus) + 3 op (matematiikan opiskelijoiden äidinkielen opinnot)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I ja tarpeeksi (?) matematiikan opintoja&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tieteellinen viestintä on syksynä 2015 uusi pakollinen kurssi matematiikan pääaineopiskelijoille, jonka yhteydessä tehdään &#039;&#039;&#039;Matematiikan harjoitustyö&#039;&#039;&#039; (korvaa entisen Analyysin harjoitustyön). Ilmoituksen mukaan kurssilla käsitellään tieteellisen (matemaattisen) tekstin kirjoittamista, suullista esittämistä, yleisesti tieteellistä julkaisemista,  sekä Latexin käyttöä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Uuden kurssin soveltavuus sivuaineopiskelijoille (erityisesti JTKT:n tehneille käpistelijöille) tämän kirjoittaneelle mysteeri. Entinen analyysin harjoitustyö oli (sivuaineopiskelijoille vapaaehtoinen) hieman tavallista analyysin laskaritehtävää laajempi harjoitustyö, mutta joidenkin (= fuksiwikin aiempien kirjoittajien) mielestä myös sivuaineilijoille hyödyllinen.&lt;br /&gt;
&lt;br /&gt;
tldr. Ei tietoa, luultavasti ei erityisen suositeltava käpistelijöille. (Mutta joku voi halutessaan kokeilla käydä ja kirjoittaa sitten tänne tarkemmin oliko hyödyllinen vai ei).&lt;br /&gt;
&lt;br /&gt;
== Matemaattisen analyysin kurssi ja jatkokurssi ==&lt;br /&gt;
10+10 op, syksy+kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Virallisten esitietovaatimusten mukaan lukion lyhytkin matematiikka riittää. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Sivuaineopiskelijoille (tilasto- ja kansantaloustieteilijöille) suunnattu versio Analyysin kursseista. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta I ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Sopii hyvin ensimmäiseksi matematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla alkaa lineaarisilla yhtälöryhmillä sekä matriisilaskennan perusteilla. Tämän jälkeen siirrytään vektoreihin ja vektoriavaruuksiin. Kurssin tärkeimpiä työkaluja on Gauss-Jordanin eliminointimenetelmä. Tällä ratkotaan useimmat kurssin ongelmat, kuten lineaariset yhtälöryhmät.&lt;br /&gt;
&lt;br /&gt;
Lisäapuja kurssin sisällön suorittamiseen voi kalastaa näistä Gilbert Strangin MIT:n Lineaarialgebran kurssin luentovideoista:&lt;br /&gt;
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebran perusteet kuuluvat tietojenkäsittelijän yleissivistykseen. Kurssi on erittäin hyödyllinen, mikäli ei ole ennen tutustunut aihepiiriin. Selkeimpiä sovelluskohteita ovat tietokonegrafiikka ja koneoppiminen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta II ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]]&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssi jatkaa siitä mihin aiemmassa osassa jäätiin. Keskeisiä käsitteitä ovat aliavaruudet, sisätulot, determinantit ja ominaisarvot.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi muodostaa kokonaisuuden edeltävän osan kanssa, joten sovelluskohteet ovat samat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikka tutuksi ==&lt;br /&gt;
2 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tietojenkäsittelytieteilijöille kurssi soveltuu matematiikan opintojen alussa suoritettuna osaksi matematiikan tai menetelmätieteiden sivuainekokonaisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Johdattelee yliopistomatematiikkaan. Kurssilla käsitellään pintapuolisesti useita eri matematiikan osa-alueita ja tekniikoita, kuten joukko-oppia, kuvauksia, todennäköisyyslaskentaa ja logiikkaa. Kurssi on aiemmin ollut 5 opintopisteen laajuinen, mutta syksyllä 2015 se muuttui kahteen opintopisteeseen. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi sopii hyvin matematiikan opintojen alkuun varsinkin, jos matematiikan opiskelusta on pitkä aika.&lt;br /&gt;
&lt;br /&gt;
= Aineopinnot = &lt;br /&gt;
&lt;br /&gt;
== Algebralliset rakenteet I ja II (ent. Algebra I) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssi on kuitenkin luonteeltaan abstrakti, joten jokin toinen kurssi kannattaa olla pohjalla ennen algebran aloittamista.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Algebra I alkaa logiikan ja lukuteorian alkeilla, minkä jälkeen seuraavat alkeet joukko-opista ja kuvauksista. Näitä käsitellään vain sen verran kuin kurssin aikana tullaan tarvitsemaan. Pääosassa kurssilla ovat algebralliset perusstruktuurit: ryhmät, renkaat ja kunnat. Näillä tarkoitetaan joukkoja, joissa on määritelty tietyt ehdot täyttävät laskutoimitukset. Kurssin ydinasia onkin käsitys siitä, mitä ehtoja laskutoimitusten tulisi täyttää, jotta tutut laskusäännöt olisivat voimassa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Algebra I antaa valmiuksia symboliseen laskentaan ja korkeamman tason matemaattisten abstraktioiden ymmärtämiseen. Tietokantojen, ohjelmointikielten tai laskennan teoriasta tai symbolisesta tekoälystä kiinnostuneelle kurssi on lähes välttämätön. Muutenkin se on suositeltava matemaattisen ajattelutavan harjaannuttamiseksi.&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden kurssiksi Algebra I ei useimmille sovi. Aloituskynnys on todennäköisesti liian korkea kurssin teoreettisen luonteen takia. Matemaattiseen ajattelutapaan ja yliopistomatematiikkaan kannattaa siis tutustua ennen kurssin aloittamista.&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I (ent. Johdatus todennäköisyyslaskentaan) ==&lt;br /&gt;
5 op, kevät, periodi III&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Et pelästy nähdessäsi integraalin; lukion pitkän matematiikan integraalilaskenta oletetaan esitietona.  Lukion todennäköisyyslaskennan kurssin asioiden muistaminen ei ole haitaksi, muttei suinkaan välttämätöntä (samat asiat käydään huolellisemmin kurssilla läpi). Tilastotieteen OPS suosittele alle kurssia Johdatus yliopistomatematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Nimensä mukaisesti kyseessä on johdantokurssi todennäkoisyyslaskentaan, erityisesti siinä määrin missä sitä tarvitaan kurssilla Johdatus tilastolliseen päättelyyn (seuraavassa periodissa) ja muilla tilastotieteen perusopinto-tasoisilla kursseilla (data-analyysit jne.). &lt;br /&gt;
&lt;br /&gt;
Kurssilla lähdetään liikkeelle todennäköisyyden käsitteestä (aksioomat) ja todennäköisyyslaskennan alkeista. Lisäksi tutustutaan kombinatoriikan perusteisiin, (yksiulotteisiin) satunnaismuuttujiin ja tavallisimpiin diskreetteihin ja jatkuviin jakaumiin. Laskareissa ollut (ainakin viimeksi järjestyllä kurssilla) MATLAB-tehtäviä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa lukemistoa joskus virallisena kurssikirjanakin nähty Pekka Tuomisen &#039;&#039;Todennäköisyyslaskenta&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hieman vakavammalla otteella todennäköisyyslaskentaa tehdään aineopintotasoisella 10 nopan kurssilla Todennäköisyyslaskenta II.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus:TODO ===&lt;br /&gt;
&lt;br /&gt;
Joku paremmin osaava voi kirjoittaa jotain soveltuvuudesta käpistelyyn. Todennäköisyyslaskennasta on hyötyä ainakin algoritmilinjalla.&lt;br /&gt;
&lt;br /&gt;
== Tilastollinen päättely I (ent. Johdatus tilastolliseen päättelyyn) ==&lt;br /&gt;
5 op, kevät, IV periodi&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Johdatus todennäköisyyslaskentaan (edellisessä periodissa, tämä on melko suora jatkokurssi sille)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tilastotieteen perusopintoja. Kurssilla on tavattu keskittyä klassisen (frekventistinen tulkinta) tilastotieteen perusteisiin (binomikoe, otos, uskottavuus, estimointiteoriaa, luottamusvälit, tilastolliset testit, pienimmän neliösumman menetelmä ja lineaarinen regressio), mutta kurssin lopulla myös hieman Bayes-päättelyn alkeita.&lt;br /&gt;
&lt;br /&gt;
Vaihtoehtoisesti voi harkita valtiotieteellisen kursseja Johdatus yhteiskuntatilastotieteeseen ja Tilastotieteen jatkokurssi, jotka ovat matemaattisesti hieman kevyemmät ja sovellushenkisempiä. Kannattaa tutustua tutkintovaatimuksiin: https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+sivuaineopiskelijoille+2014-2016&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus: TODO===&lt;br /&gt;
&lt;br /&gt;
Ks. Johdatus todennäköisyyslaskentaan. (?).&lt;br /&gt;
&lt;br /&gt;
== Kombinatoriikka ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla keskitytään nimenomaan enumeratiiviseen kombinatoriikkaan, jossa lasketaan erilaisten äärellisten joukkojen ominaisuuksia. Esimerkkejä käsiteltävistä ongelmista ovat &amp;quot;kuinka monta tapaa on jakaa 5 kortin käsiä korttipakasta&amp;quot; tai &amp;quot;kuinka monella tavalla n hengen ryhmä voidaan jakaa k hengen joukkueisiin&amp;quot;. Keskeisiä käsitteitä ovat permutaatiot, kombinaatiot ja binomikertoimet.&lt;br /&gt;
&lt;br /&gt;
Ajoittain kurssilla tarkastellaan myös käpistelijöitä kiinnostavia verkko-ongelmia, kuten riippumattomia joukkoja, klikkejä ja verkon värityksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Useimmat tietojenkäsittelytieteen laskennalliset ongelmat ovat nimenomaan kombinatorisia (optimointi)ongelmia, joten kurssi on hyödyllinen varsinkin algoritmiikasta kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
== Lukualueet ==&lt;br /&gt;
3 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Ei ole, sillä kurssi täydentää lähinnä täydentää lukiomatematiikan tietoja kompleksilukujen osalta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla keskitytään lähinnä kompleksilukuihin, näiden peruslaskutoimituksiin (yhteenlasku, kertolasku ja liittoluvut) sekä geometriseen tulkintaan. Kurssi on melko helppo ja se suoritetaan perinteisesti pelkästään laskaritehtävillä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei esitellä edes kompleksilukujen matemaattisia sovelluksia eikä siis myöskään tietojenkäsittelytieteen kannalta relevantteja asioita juuri tule. Kurssi kuitenkin sopii matematiikan opintojen alkuun leppoisan luonteensa vuoksi.&lt;br /&gt;
&lt;br /&gt;
== Logiikka I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tällä kurssilla pärjännee hyvin lyhyenkin matematiikan pohjalta, vaikka matemaattinen ajattelu onkin tarpeen. Kannattaa muistaa, että filosofeillakin on omat pakolliset logiikan kurssinsa, jotka pureutuvat yhdessä syvemmälle kuin tämä peruskurssi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Moni aineopintotason kurssi käsittelee logiikan perusteita, mutta Logiikka I on ainoa, joka esittää ne kattavasti. Pääpaino on propositio- ja predikaattilogiikassa, joskin kurssin loppupuolella saatetaan vilkaista joitain laajennoksia ja muunnelmia. Propositiologiikassa operoidaan pelkillä vakiosymboleilla, kun taas predikaattilogiikka tuo mukanaan muuttujat ja predikaatit. Muutaman keskeisen teoreettisen tuloksen ohella käsitellään varsin kattavasti totuustaulut, semanttiset puut ja luonnolliseksi päättelyksi kutsuttu järjestelmä, joka on toisinaan käsittämättömän kömpelö. (Luonnollisessa päättelyssä yritetään johtaa jokin lause tehdyistä oletuksista. Semanttisia puita käytettäessä puolestaan selvitetään, millä ehdoilla annettu lause on tosi.)&lt;br /&gt;
&lt;br /&gt;
Hannele Salmisen ja Jouko Väänäsen kirja &#039;&#039;Johdatus logiikkaan&#039;&#039; on kaksipiippuinen juttu. Joiltain osiltaan se soveltuu hyvin itseopiskeluun ja mahdollistaa selvästi kurssia nopeamman etenemisen. Toisaalta kun vastaan tulee &amp;quot;induktiolla lauseen rakenteen suhteen&amp;quot;, on aika hakata päätä seinään. Samat asiat olisi voinut todistaa huomattavasti selkeämmälläkin tavalla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Nykymatematiikka perustuu logiikkaan. Tietojenkäsittelytiede lähti liikkeelle loogikoiden ajatusleikeistä. Eksakti ajattelu ja formaali esitystapa täytyy hallita, jos haluaa pärjätä tietojenkäsittelytieteen opinnoissa. Esimerkiksi tietokantojen ja ohjelmointikielten teoria sekä perinteinen tekoäly ovat täynnä logiikkaa. Lienee siis varsin luonnollista, että logiikka kuuluu jokaisen käpistelijän yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
Usein suositellaan esitietokurssiksi jos matemaattinen logiikka (esim. samanniminen syventävä kurssi) kiinnostaa enemmänkin (mutta tästä kuulee joskus eriäviä mielipiteitä, joten tiedä häntä; ehkä kuitenkin suositeltavaa käydä tämä ennen kuin marssii maisterivaiheen logiikkaan ellei ole erityisen rohkea olo.)&lt;br /&gt;
&lt;br /&gt;
== Mitta ja integraali ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Vektorianalyysi|Vektorianalyysi]]. [[#Topologia I|Topologia I]]:tä suositellaan vieläkin vahvemmin kuin Vektorianalyysin yhteydessä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Janan luonnollinen mitta on sen pituus, tasokuvion mitta pinta-ala ja kolmiulotteisen kappaleen mitta tilavuus. Tällä kurssilla yleistetään mitan käsite ja tarkastellaan erityisesti Lebesguen mittaa, joka perustuu luonnolliseen geometriseen mittaan. Mittateorian käsittelyn jälkeen määritellään integroituvuus ja integraali kaikissa mitallisissa joukoissa ja todistetaan monia integraalien ominaisuuksia, joita olisi hankala käsitellä aikaisempien määritelmien perusteella.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mitta ja integraali on analyysin syventävien opintojen peruskurssi. Jos aikoo suorittaa matematiikassa syventävien opintojen sivuainekokonaisuuden, tämä on eräs suositeltavimmista kursseista erikoistumissuunnasta riippumatta. Erityisesti jos aikoo perehtyä todennäköisyyslaskentaan syvällisesti, kuten älykkäiden järjestelmien kohdalla on usein tarpeen, mittateoria tulee hallita.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Topologia I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I ja II|Analyysi I]].&lt;br /&gt;
Kurssi on luonteeltaan abstrakti, joten muidenkin matematiikan kurssien käyminen ennen tätä on suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Avoimuuden, jatkuvuuden ja raja-arvon käsitteet yleistetään metrisissä ja normiavaruuksissa, minkä jälkeen johdetaan suuri joukko lähinnä intuitiivisia tuloksia. Kurssi on luonteeltaan teoreettinen ja abstrakti samaan tapaan kuin [[#Algebra I|Algebra I]]. Monet voivat kokea tämän kurssin vaikeutena, mutta tässäkin tapauksessa kysymys on ennemminkin korkeasta kynnyksestä kuin asioiden vaikeudesta. Mitä enemmän matematiikkaa on opiskellut ennen Topologia I:tä, sitä matalammaksi kynnys käy, kun tottuu asioiden käsittelyyn yleisellä tasolla. Jussi Väisälän kirja &#039;&#039;Topologia I&#039;&#039; sopii hyvin itseopiskelumateriaaliksi.&lt;br /&gt;
&lt;br /&gt;
Kurssi käsittelee oikeastaan enemmän analyysin peruskäsitteitä kuin topologiaa. Voidaan perustellusti sanoa, että Topologia I suhtautuu topologiaan samalla tavalla kuin [[#Diskreetti matematiikka I|Diskreetti I]] diskreettiin matematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Topologia I on kurssi, joka on tarkoitettu lähinnä helpottamaan analyysin opiskelua. Tietojenkäsittelytieteen opinnoissa siitä ei ole juuri apua, ellei sitten tietokonegrafiikassa ja laskennallisessa geometriassa. Jos kuitenkin aikoo suorittaa matematiikassa syventävät opinnot, tämä kurssi on hyvä sisällyttää oppimäärään.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vektorianalyysi I ja II(ent. Vektorianalyysi) ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I|Analyysi I ja II]] sekä [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I ja II]]. Myös [[#Topologia I|Topologia I]]:n tiedoista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Vektorianalyysi käsittelee useamman muuttujan differentiaali- ja integraalilaskentaa. Lähestymistapa on käytännöllisempi kuin Analyysi I+II:ssa, mikä on ymmärrettävää. Merkittävä osa yhden muuttujan funktioiden teoriasta yleistyy nimittäin vähällä vaivalla useamman muuttujan funktioille, joten samaa asiaa ei kannata käsitellä uudestaan yhtä tarkasti. Kannattaa huomioida, ettei kurssin suomenkielistä oppikirjaa ole ollut saatavilla enää vähään aikaan, vaan opiskelija joutuu joko turvautumaan kopiokoneeseen tai metsästämään itse vastaavaa kirjallisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Vektorianalyysi ei ole enää samalla tavalla yleissivistystä kuin Analyysi I ja II. Kurssin tietoja tarvitaan samoilla aloilla kuin analyysin perusteitakin, mutta esimerkiksi ohjelmistotekniikkaan tai käyttöliittymiin erikoistuvalle niistä ei ole suurempaa hyötyä.&lt;br /&gt;
&lt;br /&gt;
Vektorianalyysia voi suositella lähinnä tutkijoiksi aikoville sekä teoreettisemmille aloille erikoistuville. (Esim. algolinjan Introduction to Machine Learning -kurssilla tämä on hyödyllinen tosin ei välttämätön esitieto.) Erityisesti osittaisderivaatat ja gradientin käsite (kurssin ensimmäin puolisko) ovat hyödyllisiä vähän kaikkialla (esim. optimointialgoritmit), ja yleisesti vektorianalyysin työkaluista on hyötyä jos törmää moniulutteisiin tn-jakaumiin (monet tilastotieteen käytännön sovelluskohteet, esimerkiksi juuri koneoppimisen alalla).&lt;br /&gt;
&lt;br /&gt;
Matematiikasta syventävien opintojen kokonaisuuden lukevien kannattaa erityisesti käydä Vektorianalyysi.&lt;br /&gt;
&lt;br /&gt;
== Verkot ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssi on jatkoa JDM-kurssille. Kurssilla esitellään verkkoteorian peruskäsitteitä ja -tuloksia. Keskeisiä käsitteitä ovat suuntaamattomat ja suunnatut verkot (suhteikot), puut sekä erilaiset kulut (Hamiltonin ja Eulerin). &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi soveltuu erittäin hyvin tietojenkäsittelytieteilijöille, sillä verkot ovat kenties tietojenkäsittelytieteen yleisimpiä struktuureja ja malleja (kuten Tietorakenteet kurssilta tulee tutuksi). &lt;br /&gt;
&lt;br /&gt;
Kurssin [[#Diskreetti matematiikka II|aiemmasta versiosta]] sanottua: Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että kurssi on suositeltava kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applications of Matrix Computations ==&lt;br /&gt;
(a.k.a. Matriisilaskennan sovellukset)&lt;br /&gt;
5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebra I + II. Muista matematiikan kursseista ei haittaakaan.&lt;br /&gt;
&lt;br /&gt;
(Matlab / Octave -ohjelmointitaustaa suositellaan, mutta lähinnä siksi ettei sitä opeteta kädestä pitäen. Käpistelijälle jolla on jo hieman ohjelmointitaustaa, Matlab-syntaksin oppiminen siinä missä sitä kurssilla tarvitaan luulisi olevan ihan mahdollista.)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebran ja matriisilaskennan sovelluskurssi ts. Matlab-ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Suositeltava kurssi, jos Linisten jälkeen kiinnostaa mihin sitä lineaarialgebraa sitten oikeastaan voi käyttää. Tarkempi fokus ollut joskus hieman sekalainen ja muutenkin vähän vaihdellut luennoitsijan mielenkiinnon mukaan, viimeisimmällä iteraatiolla (syksyllä 2014) keskityttiin kuvankäsittelyyn. Muita usein nähtyjä aiheita: numeerista integrointia, Markovin ketjuja, Googlen PageRank-algoritmi, wavelet- / Fourier-muunnoksia (FFT), pääkomponenttianalyysia, ominaisarvoja ja matriisihajotelmia.&lt;br /&gt;
&lt;br /&gt;
Verrattuna johonkin abstraktimpaan kurssiin (joku Topo I tulee mieleen), kurssi on varsin käytännönläheistä soveltavaa matematiikkaa ja ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Poikkeuksellisesti muihin matematiikan kursseihin verrattuna, kurssilla ei ole tavattu käyttää kurssikirjaa eikä myöskään kannata odottaa kattavia luentomuistiinpanoja nettiin, eli luennoilla kannattaa käydä!&lt;br /&gt;
&lt;br /&gt;
=== Soveltavuus ===&lt;br /&gt;
&lt;br /&gt;
Ei ollenkaan huono kurssi matikan laajempaan sivuaineeseen Linis I+II:n jatkoksi, jos soveltava matematiikka kiinnostaa. Jotain viitettä voi antaa, että kyseessä on matikan pääaineilijoille eräänlainen epävirallinen (?) porttikurssi tietokoneavusteisen matikan maisterilinjalle.&lt;br /&gt;
&lt;br /&gt;
= Syventävät opinnot =&lt;br /&gt;
&lt;br /&gt;
Kuilu syventävien ja aineopintojen välillä on usein suuri, joten syventäville kursseille ei kannata rynnätä kylmiltään. Usein esimerkiksi Matemaattisen logiikan linjan kursseilla ei ole erityisiä esitietovaatimuksia, mutta opiskelijoilla oletetaan olevan &amp;quot;matemaattista yleissivistystä tai kypsyyttä&amp;quot;. Käytännössä tämä tarkoittaa, että esim. aineopintoja on jo suoritettuna eikä matemaattinen ajattelu ole vierasta.&lt;br /&gt;
&lt;br /&gt;
Matematiikasta voi suorittaa 60 op laajuisen syventävien opintojen kokonaisuuden käymällä 40 opintopisteen edestä syventäviä kursseja ja kirjoittamalla 20 op arvoisen sivuainetutkielman (ns. &amp;quot;sivuainegradu&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Laskettavuuden teoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole, mutta matemaattisen ajattelutavan on syytä olla tuttu. Erityisesti [[#Matemaattinen logiikka|Matemaattisesta logiikasta]] ja TKTL:n kurssista Laskennan mallit on hyötyä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa on, että aineopintojen kursseja on jo jonkin verran takana, sillä kurssilla ajoittain esitellään yhteyksiä mm. logiikkaan ja topologiaan (tosin esitiedot näistä eivät ole välttämättömiä).&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Laskettavuutta, ratkeavuutta ja rekursiivisuutta matemaatikon näkökulmasta. Turingin koneiden ja ohjelmien sijaan lähtökohtina ovat rekursiiviset funktiot ja eräänlainen RAM-kone. Monet asiat saadaan todistettua tyylikkäämmin tai helpommin kuin TKTL:n Laskennan teoriassa. Syksyn 2002 kurssi perustui Väänäsen 80-luvulla tekemiin luentomuistiinpanoihin, kuten myös kevään 2010 kurssi.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mielipide 1: Tämän kurssin käymisestä ei ole yhtään mitään hyötyä. Jos laskennan teoria jostain syystä kuitenkin kiinnostaa, tämän kurssin käyminen on ehdottoman suositeltavaa jo yksin sen tarjoaman vaihtoehtoisen lähestymistavan takia.&lt;br /&gt;
&lt;br /&gt;
Mielipide 2: Kurssi on erittäin hyödyllinen ottaen huomioon sen, että Tietojenkäsittelytieteen laitoksella ei enää juurikaan opeteta kurssia Laskennan teoria. Muutenkin laskennan teoriaa käsitellään vain lyhyesti Laskennan mallit -kurssilla. Jatkokurssiksi sopii myös [[#Vaativuusteoria|Vaativuusteoria]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matemaattinen logiikka ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Käytännössä logiikan perustietojen hallitseminen esimerkiksi kurssilta [[#Logiikka I|Logiikka I]] on lähes välttämätöntä, eikä muidenkaan kurssien käyminen ole ainakaan haitaksi. Kysymys on joka tapauksessa syventävien opintojen kurssista, joten matemaattisen ajattelutavan omaksumista voidaan pitää välttämättömänä edellytyksenä kurssille osallistumiseen.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Periaatteessa kurssin sisältö vastaa hyvin Jouko Väänäsen kirjaa &#039;&#039;Matemaattinen logiikka&#039;&#039;, mutta käänteisessä järjestyksessä. Läpi käydään jo logiikan peruskurssilla tutuksi tulleet logiikan perusteet hieman teoreettisemmasta (ja monien mielestä keinotekoisesti vaikeutetusta) näkökulmasta. Myöhemmin kurssilla törmätään muun muassa rekursiivisiin funktioihin ja laskettavuusteoriaan. Mielipiteitä on monia, mutta ainakin omasta mielestäni kirjan lähestymistapa on mielekkäämpi kuin kurssilla viime aikoina käytetty.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matemaattista logiikkaa voidaan suositella ennen kaikkea logiikasta kiinnostuneille. Syventävien opintojen kurssien joukossa se lienee sieltä helpoimmasta päästä, vaikka loogikoille tyypillisen käsittämätön notaatio yrittääkin parhaansa mukaan sabotoida ymmärrystä. Hyötyä kurssista saattaa olla, jos esimerkiksi laskennan teoria, tietokantojen mallinnus, ohjelmointikielten periaatteet tai perinteinen tekoäly kiinnostavat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reaalianalyysi I ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Reaalianalyysi I käsittelee reaalianalyysin perusteita teoreettiselta näkökannalta. Samaan aikaan luennoidaan myös Sovelletun analyysin perusteet, joka lienee suunnattu enemmän differentiaaliyhtälöitä tietokoneilla ratkoville soveltaville matemaatikoille. Teoreettisen lähestymistavan huomaa esimerkiksi siitä, että vaikka kurssilla oppii uusia asioita, saattaa käsitys joidenkin niistä merkityksestä jäädä puuttumaan.&lt;br /&gt;
&lt;br /&gt;
Siinä missä Mitta ja integraali keskittyi integrointiin, laajennetaan tällä kurssilla derivoinnin ja derivaatan käsitettä. Lisäksi käsitellään L&amp;lt;sup&amp;gt;p&amp;lt;/sup&amp;gt;-avaruuksia sekä absoluuttisesti jatkuvia, rajoitetusti heilahtelevia ja muita &amp;quot;kiltisti&amp;quot; käyttäytyviä funktioita. Kurssia vaivaa lievä päämäärättömyys, vaikka monet käsiteltävät asiat ovatkin aikaisemmilla&lt;br /&gt;
kursseilla saatujen tulosten yleistyksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Reaalianalyysi I on luontevaa jatkoa Mitalle ja integraalille, joten samat perustelut pätevät senkin kohdalla. Toinen jatkovaihtoehto Mitan ja integraalin jälkeen olisi* Sovelletun analyysin perusteet, mutta minulla ei ole käsitystä sen&lt;br /&gt;
sisällöstä tai soveltuvuudesta (*tai ainakin oli joskus, tämän kirjoittaja ei ole nähnyt tuonnimistä kurssia luennoitavan enää).&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyysteoria ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]] ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lyhyesti sanottuna Todennäköisyysteoriassa käsitellään todennäköisyyslaskentaa mittateorian pohjalta. Kurssi on laudatur-kurssiksi siinä mielessä helppo, että jos mittateoria ja todennäköisyyslaskenta ovat ennestään tuttuja, niiden yhdistäminen tapahtuu varsin intuitiivisesti. Uusia käsitteitä ei tule kovinkaan paljon Todari I:n päälle, vaan kysymys on ennemminkin pohjan rakentamisesta aiemmin opitun alle.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todari II on hyödyllinen kurssi erityisesti älykkäiden järjestelmien linjalla, jossa kaikki perustuu oikeastaan tilastotieteeseen ja todennäköisyyslaskentaan. Todari I:ssä opittiin lähinnä soveltamaan todennäköisyyslaskentaa, kun taas tällä jatkokurssilla päästään käsiksi asian ytimeen ja opitaan ehkä ymmärtämäänkin sitä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vaativuusteoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Kurssilla ei ole varsinaisia esitietovaatimuksia, mutta koska kyse on syventävästä matematiikan kurssista on suositeltava käydä tarpeeksi aineopintojen kursseja ennen. Erityisesti Logiikka I ja Algebra I ovat hyödyllisiä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla käsitellään nimensä mukaisesti vaativuusteoriaa, joka tutkii kuinka vaikeita erilaiset laskennalliset ongelmat ovat. Kurssilla käytetään mallina TKTL:n Laskennan mallit -kurssilta tuttua Turingin konetta sekä esitellään tunnetuimmat vaativuusluokat P, NP ja PSPACE. Lisäksi käsitellään NP-täydellisyyttä ja PSPACE-täydellisyyttä. Lopuksi tutustutaan säännöllisiin kieliin ja äärellisiin tilakoneisiin (tällä kurssilla erikoistapaus Turingin koneesta). &lt;br /&gt;
&lt;br /&gt;
Kurssilla saatetaan myös esitellä lyhyesti deskriptiivistä vaativuusteoriaa, jolloin (matemaattisen) logiikan kursseista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssin aihepiiri kuuluu tietojenkäsittelytieteilijöiden yleissivistykseen. Kurssin lähestymistapa on kuitenkin hyvin matemaattinen (todistukset tehdään tarkasti ilman käsien heiluttelua), joka saattaa olla vierasta käpistelijöille. Lisäksi kurssin tekniikat ovat usein tästä syystä melko matalalla tasolla, joten varsinaista yleiskuvaa vaativuusteoriasta ei saa, mutta vahvat perustiedot kylläkin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verkkoteoria ==&lt;br /&gt;
10 op, suoritetaan loppukokeella&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom. Tämä ei ole sama kurssi kuin [[#Verkot|Verkot]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Tiukkoja esitietovaatimuksia ei ole, mutta [[#Diskreetti matematiikka II|Diskreetti matematiikka II]] on vahvasti suositeltava. Koska kysymys on laudatur-erikoiskurssista, kurssilla oletetaan useimpien alojen perusteet tutuiksi. Logiikan, lineaarialgebran, topologian ja todennäköisyyslaskennan alkeiden osaaminen on hyödyksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tämä kurssi käsittelee nimensä mukaisesti verkkoteoriaa Diestelin kirjan&lt;br /&gt;
&#039;&#039;[http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/ Graph Theory]&#039;&#039; pohjalta. Diskreetti II:ssa käsitellyt asiat ohitetaan nopeasti ensimmäisessä luvussa, minkä jälkeen käsitellään syvemmin parituksia, yhtenäisyyttä, tasoverkkoja, värityksiä, satunnaisverkkoja ja Ramseyn teoriaa. Laudatur-kurssin oppimateriaaliksi kirja on poikkeuksellisen selkeä ja ymmärrettävä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matematiikan laudatur-erikoiskurssille tuleva toivottavasti tietää mitä sieltä on hakemassa. Verkkoteoria selventää jonkin verran esimerkiksi Algoritmien suunnittelussa ja analyysissa vastaan tulevia käsitteitä, mutta hyöty ei ole kovinkaan suuri. Kuitenkin jos matematiikka kiinnostaa, sitä kannattaa opiskella kun siihen on mahdollisuus.&lt;br /&gt;
&lt;br /&gt;
= Vanhat kurssit = &lt;br /&gt;
&lt;br /&gt;
Alla olevia kursseja ei enää luennoida tai ne ovat korvautuneet muilla kursseilla. Useimmat vanhoista kursseista, kuten Lineaarialgebra ja Diskreetti matematiikka II on pilkottu kahteen osaan, joten näkemykset näistä vanhoista kursseista pätevät jossain määrin myös uudempiin kursseihin. Asiasisältö ei varsinaisesti ole vuosien varrella muuttunut.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssin korvaa lukuvuodesta 2005-2006 alkaen [[#Johdatus diskreettiin matematiikkaan|Johdatus diskreettiin matematiikkaan]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Kaikista matematiikan kursseista tämä lienee se kevyin ja helpoin.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka I ei käsittele niinkään diskreettiä matematiikkaa kuin matematiikan perusteita. Alkeet käsitellään niin logiikasta, joukko-opista, relaatioista, funktioista, kombinatoriikasta, induktiosta kuin rekursiostakin. Kurssi tarjoaa näin helpon tien matemaattisen ajattelun kehittämiseen ja madaltaa näin monien matematiikan ja teoreettisen tietojenkäsittelytieteen kurssien aloituskynnystä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on se kurssi, jolla jokaisen käpistelijän kannattaisi matematiikan opintonsa aloittaa. Valitettavasti Diskreetti I luennoidaan jostain käsittämättömästä syystä keväisin. Luentomoniste on kuitenkin poikkeuksellisen selkeä, joten yksi vaihtoehto on hankkia se ja käydä tenttimässä kurssi jo marraskuun alun yleistentissä.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssit [[#Kombinatoriikka|Kombinatoriikka]] ja [[#Verkot|Verkot]] korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssin käsittelytapa on kuitenkin teoreettinen ja perusasiat ohitetaan nopeasti, joten ensimmäiseksi kurssiksi Diskreetti II:ta ei kannattane ottaa. [[#Diskreetti matematiikka I|Diskreetti matematiikka I]] lienee edeltävistä kursseista hyödyllisin, mutta myös muilla kursseilla omaksuttu matemaattinen ajattelu auttaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka II käsittelee varsinaisen diskreetin matematiikan osa-alueista kombinatoriikkaa ja verkkoteoriaa, jättäen automaattiteorian ja formaalit kielet tietojenkäsittelytieteen kursseille. Kombinatoriikassa mennään pidemmälle kuin muilla cumu-kursseilla (Diskreetti I ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]]), vaikka perusteisiin edelleen jäädäänkin. Verkkoteoriaa käsitellään noin puolet kurssista, mutta tässäkään ajassa ei ehditä peruskäsitteitä ja -tuloksia pidemmälle. Kurssi perustuu verkosta saatavilla olevaan luentomonisteeseen, joka on matematiikan luentomonisteeksi suhteellisen luettava.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä&lt;br /&gt;
tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että Diskreetti II on suositeltava kurssi kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]] (5 op) ja II (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Lineaarialgebra I on kurssina sieltä helpommasta päästä ja tuntuu lähes suoralta jatkolta lukiomatematiikalle.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Linis I alkaa lineaarisilla yhtälöryhmillä, joista edetään matriiseihin. Tämän jälkeen ovat vuorossa vektorit, vektoriavaruudet ja sisätulot. Lopuksi käsitellään vielä lineaarikuvauksia ja determinantteja. Käsittelytapa on yliopistokurssiksi usein suhteellisen käytännöllinen ja muistuttaa siten lukiomatematiikkaa. Teoriakin esitetään, mutta laskumenetelmät ovat etusijalla. Vaikeinta lienee kurssilla käytettävän kielen sisäistäminen &amp;amp;mdash; lineaarialgebrassa kun on matematiikaksi poikkeuksellisen paljon uusia termejä. Moni asia kurssilla ratkeaa yhdistämällä matriisit ja muuttamalla näin saatu matriisi redusoituun porrasmuotoon Gauss-Jordanin eliminointimenetelmällä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra kuuluu käpistelijän matemaattiseen yleissivistykseen, vaikkakaan ei yhtä vahvasti kuin analyysin perusteet. Tietokonegrafiikka on selkein sovelluskohde, mutta muitakin löytyy. Tiedonhallinnan syventävillä kursseilla sitä tulee kuulemma tämän tästä vastaan. Toisaalta vektorit ja matriisit tarjoavat kätevän tavan esittää matemaattisesti, että samat tai  samankaltaiset operaatiot suoritetaan kerralla useille alkioille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra I|Lineaarialgebra I]]. Lisäksi [[#Algebra I|Algebra I]] on vahvasti suositeltava.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tällä kurssilla käsitellään lineaarialgebraa abstraktimmalla tasolla kuin Linis I:ssä. Vektoriavaruuksien tilalla ovat nyt modulit, jollainen muodostuu yhdistämällä sopivasti Algebra I:stä tuttuja ryhmiä ja renkaita. Matematiikan laitos tuntuu edustavan lineaarialgebrassa sitä pedagogista suuntausta, että asiat opetetaan ensin konkreettisten esimerkkien avulla ja tämän jälkeen käsitellään asiat uudelleen yleisemmällä ja abstraktimmalla tasolla.&lt;br /&gt;
&lt;br /&gt;
Oppimateriaalin valintaan kannattaa kiinnittää tavallista enemmän huomiota. Esimerkiksi syksyn 1999 luentomoniste hukuttaa lukijansa syntaktiseen suohon, eikä yleensä vaivaudu kertomaan, mitä käsitteet itse asiassa tarkoittavat. Matematiikkaa on kyllä mahdollista opiskella pelkkänä symbolisena manipulointina ymmärtämättä asioita lainkaan, mutta tällaisen lähestymistavan hyöty on vähintäänkin kyseenalainen.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra II on syventävien opintojen kurssi, joten suoranaista hyötyä käpistelijälle on vaikea löytää. Jos aikoo erikoistua sellaisen alan teoriaan, millä tarvitaan lineaarialgebraa, kurssin käyminen on perusteltua. Muuten sitä voi suositella lähinnä heille, jotka ovat kiinnostuneita matematiikasta sen itsensä takia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Optimointi I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Differentiaalilaskentaa esimerkiksi kurssilta [[#Analyysin peruskurssi|Analyysin peruskurssi]] tai [[#Analyysi I ja II|Analyysi I ja II]], sekä [[#Lineaarialgebra I|Lineaarialgebra I]]. Useamman muuttujan differentiaalilaskennasta kurssilta [[#Vektorianalyysi|Vektorianalyysi]] on hyötyä, jos on käynyt Analyysi I+II:n Analyysin peruskurssin asemasta, mutta vektorianalyysin käyminen rinnakkain optimoinnin kanssa riittää.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lineaarista ja kvadraattista optimointia ja vastaavia kuljetusongelmia. Kurssi käsittelee lähinnä perusteoriaa ja perusmenetelmiä, joista keskitytään lähinnä simplex-algoritmiin. Tarkempaa kuvausta en osaa antaa, sillä jätin kurssin&lt;br /&gt;
kesken puolenvälin aikoihin motivaation puutteen takia. Lineaarista optimointia on tapana suorittaa tietokoneilla, ei kynällä ja paperilla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Ennen kaikkea tarvitaan istumalihaksia, sillä laskuharjoitukset sisältävät runsaasti mekaanista laskentaa. Ne ovat kuitenkin käytännössä välttämättömiä, sillä algoritmien toiminnan sisäistäminen on olennainen osa kurssia. Jos numeerinen matematiikka tai tieteellinen laskenta kiinnostaa, on Optimointi I varmastikin hyödyllinen kurssi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit Johdatus todennäköisyyslaskentaan (5 op) ja Johdatus tilastolliseen päättelyyn (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Joko [[#Analyysi I ja II|Analyysi I ja II]] tai [[#Analyysin peruskurssi|Analyysin peruskurssi]]. Kurssista [[#Vektorianalyysi|Vektorianalyysi]] on myös jonkin verran hyötyä, sillä Todennäköisyyslaskenta I:ssä tarvitaan paikoin hieman useamman muuttujan integraalilaskentaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Todennäköisyyslaskennan perusteita varsin käytännönläheisellä tasolla. Teoria jää usein vaille todistuksia, jotka edellyttäisivät mittateoriaa esimerkiksi kurssin [[#Mitta ja integraali|Mitta ja integraali]] laajuudessa. Todennäköisyyslaskennan alkeiden lisäksi käsitellään satunnaismuuttujia, kombinatoriikkaa sekä tavallisimpia diskreettejä ja jatkuvia jakaumia. Kurssin sisältö vaihtelee suuresti luentokertojen välillä, mutta Pekka Tuomisen kirja &#039;&#039;Todennäköisyyslaskenta&#039;&#039; on aina vähintäänkin hyvää oheislukemistoa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todennäköisyyslaskentaa tarvitaan tietojenkäsittelytieteessä esimerkiksi rinnakkaisjärjestelmien ja algoritmien analysoinnissa sekä älykkäissä järjestelmissä. Sen suorittaminen onkin suositeltavaa, jos aikoo opiskella&lt;br /&gt;
matematiikkaa minimilaajuista perusopintokokonaisuutta enempää.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Yliopisto%E2%80%93suomi_-sanakirja&amp;diff=7901</id>
		<title>Yliopisto–suomi -sanakirja</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Yliopisto%E2%80%93suomi_-sanakirja&amp;diff=7901"/>
		<updated>2016-03-29T15:58:19Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Kumpulassa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nimitykset (ei välttämättä negatiivisia)==&lt;br /&gt;
* käpistelijä = tietojenkäsittelytieteen opiskelija (käpistellä = opiskella tietojenkäsittelytiedettä pää- tai sivuaineena)&lt;br /&gt;
* maagikko = matematiikan opiskelija, ystävämme (joskus myös muodossa &#039;matruusi&#039; &amp;lt; Matrix ry)&lt;br /&gt;
* teekkari = tekniikan ylioppilas&lt;br /&gt;
* kylteri = kauppatieteiden ylioppilas&lt;br /&gt;
* fuksi = ensimmäisen vuoden opiskelija&lt;br /&gt;
* jäärä = n:nnen vuoden opiskelija, ei suostunut valmistumaan tavoiteajassa&lt;br /&gt;
&lt;br /&gt;
==Opiskelu==&lt;br /&gt;
* HY = Helsingin yliopisto&lt;br /&gt;
* TKT = tietojenkäsittelytiede (TKTL: tietojenkäsittelytieteen laitos)&lt;br /&gt;
** Alko-linja, Alko = Algoritmien ja koneoppimisen erikoistumislinja&lt;br /&gt;
** Hajatili = Hajautettujen järjestelmien ja tietoliikenteen erikoistumislinja&lt;br /&gt;
** Ohjä-linja, Ohjä = Ohjelmistojärjestelmien erikoistumislinja&lt;br /&gt;
* ilmo = laitoksen kurssi-ilmoittautumisjärjestelmä osoitteessa http://ilmo.cs.helsinki.fi&lt;br /&gt;
** ilmota = ilmoittautua kurssille/kursseille&lt;br /&gt;
* oodi = WebOodi, Helsingin yliopiston järjestelmä. Kurssisuorituksen näkyvät täällä ja opintosuunnitelma laaditaan tänne. http://www.helsinki.fi/weboodi&lt;br /&gt;
* noppa = opintopiste (yksi opintopiste vastaa suunnilleen 0,5 opintoviikkoa - itse opintoviikkoja ei enää käytetä juuri missään)&lt;br /&gt;
* laskarit = laskuharjoitukset, käytetään yleisesti minkä tahansa kurssin harjoitusryhmätunneista&lt;br /&gt;
* paja, pajakurssi = harjoitukset, jotka tehdään paikan päällä mikroluokassa erityisellä pajametodilla&lt;br /&gt;
** voi tarkoittaa myös viikottaisia harjoitustehtäviä&lt;br /&gt;
* assari = harjoitusryhmän pitäjästä käytetty yleisesti käytetty nimitys (alkujaan sanasta assistentti, yliopiston virka)&lt;br /&gt;
* labra = harjoitustyökurssi, juontaa nimensä muista tiedekunnan (fysiikka, kemia) laboratorio-kursseista&lt;br /&gt;
* HOPS/hopsi = henkilökohtainen opintosuunnitelma (LuK-HOPS-kurssi)&lt;br /&gt;
* kandi = kandidaatti, pakollinen välitutkinto ennen maisteria, alempi korkeakoulututkinto. Meillä &amp;quot;luonnontieteiden kandidaatti&amp;quot;.&lt;br /&gt;
** voi tarkoittaa myös kyseisen tutkinnon suorittanutta henkilöä&lt;br /&gt;
* semma = seminaari, maisteriopintojen juttuja&lt;br /&gt;
* pruju/matsku = epämääräinen (nidottu) kasa paperia, josta sinun oletetaan oppivan kurssin asiat, tunnetaan myös nimellä kurssimoniste.&lt;br /&gt;
* appro, cumu, lavi = vanhan opintojärjestelmän mukaisia oppimääriä (approbatur, cum laude, laudatur), vastaavat nykyisiä perus-, aine- ja syventäviä opintoja. Vanhemmat opiskelijat saattavat vielä näitä käyttää.&lt;br /&gt;
* lipasto = (koko) yliopisto&lt;br /&gt;
* lafka = laitos, yleensä puheessa oma.&lt;br /&gt;
&lt;br /&gt;
==Ainejärjestösanastoa==&lt;br /&gt;
* Tekis = TKO-äly, ainejärjestömme&lt;br /&gt;
* aktiivi = henkilö, joka on aktiivisesti mukana oman ainejärjestönsä toiminnassa&lt;br /&gt;
* halko = Hallituksen kokous, tyypillisesti tarkoitetaan oman ainejärjestön sellaista&lt;br /&gt;
* HYY = Helsingin yliopiston ylioppilaskunta&lt;br /&gt;
* HYAL = Helsingin yliopiston ainejärjestöläiset eli HYAL ry., kokoaa yhteen ainejärjestöaktiiveja eri tiedekunnista&lt;br /&gt;
* sitsit = Akateemiset pöytäjuhlat. Pukeudutaan hienosti ja syödään hienosti. Lauletaan paljon.&lt;br /&gt;
* vujut = Akateemiset vuosijuhlat. Opiskelijajärjestöjen vuoden kohokohta, vielä hienompi tapahtuma kuin sitsit.&lt;br /&gt;
* excu = ekskursio, tutustumisretki esim. potentiaaliseen työantajayritykseen tai muuhun kulttuurilaitokseen (esim. leffateatteri, museo, Fazer)&lt;br /&gt;
* rv/ärvee = ruokavälitys ja virtuaalikassa Gurulassa&lt;br /&gt;
** depota/depositata = laittaa rahaa rv:hen&lt;br /&gt;
* Readme/redari/redis = TKO-älyn ainejärjestölehti, ilmestyy nelisen kertaa vuodessa&lt;br /&gt;
&lt;br /&gt;
==Paikkoja==&lt;br /&gt;
===[http://www.helsinki.fi/kumpula/kuvat/Kumpulakartta.pdf Kumpulassa]===&lt;br /&gt;
* Exactum = Uusi kotisi. Exactumissa majailee tietojenkäsittelytieteen laitoksen lisäksi matemaatikot ja seismologian laitos.&lt;br /&gt;
* Physicum = Exactumin viereinen (ja siihen yhdyskäytävällä yhdistetty) rakennus. Physicumin kautta pääsee kirjastoon ja lisäksi Unicafe tarjoaa patonkia ja panineja.&lt;br /&gt;
* Chemicum = Chemicumissa majailevat kemistit (yllättävää). Lisäksi sieltä löytyy suurempi ja paremmin avoinna oleva Unicafe.&lt;br /&gt;
* Kartano = Kumpulan kartano Jyrängöntiellä, kasvitieteellisen puutarhan alueella.&lt;br /&gt;
* VAK = Väinö Auerin katu, pääosin HOASin asuntoja Kumpulan kampuksen välittömässä läheisyydessä.&lt;br /&gt;
&lt;br /&gt;
===[http://cs.helsinki.fi/contact/exactum-kartat.html Laitoksella]===&lt;br /&gt;
* Gurula = tietojenkäsittelytieteen opiskelijahuone Exactumin kellarikerroksessa (huoneessa DK115)&lt;br /&gt;
* Navetta = Gurulan vieressä sijaitseva 24h -tietokoneluokka, yleinen opiskelutila (DK110)&lt;br /&gt;
* Haxxorointiluokka / Ninjaluokka = Navetan vieressä sijaitseva 24h -ryhmätyötila (DK108)&lt;br /&gt;
* Komero = matemaatikkojen opiskelijahuone Exactumin kolmannessa kerroksessa (C338)&lt;br /&gt;
&lt;br /&gt;
===Järjestötiloja===&lt;br /&gt;
* Uusi = Uusi Ylioppilastalo, Mannerheimintie 5, Vanhan Ylioppilastalon vieressä&lt;br /&gt;
* Vanha = Vanha Ylioppilastalo, Mannerheimintie 3, Uuden Ylioppilastalon vieressä&lt;br /&gt;
* Alina / Alina-sali = suosittu biletila (sitsit) Uudella Ylioppilastalolla (Mannerheimintie 5 A, 3. krs.)&lt;br /&gt;
* Alasauna = Uuden Ylioppilastalon kellarissa sijaitseva pienehkö saunatila (sisäänkäynti Mannerheimintie 5 B:stä)&lt;br /&gt;
* Domma = Domus Academica, Helsingin yliopiston ylioppilaskunnan opiskelija-asuntola&lt;br /&gt;
* Leppis / Ilotalo = Leppätalo, Domus Gaudium, kolmas ylioppilastalo. Etu-Töölössä Domus Academican välittömässä läheisyydessä&lt;br /&gt;
* Kertsi / Klusteri / Klurre / Christina Regina = Matlu ry:n kerhohuone osoitteessa Leppäsuonkatu 11, on myös TKO-älyn käytössä mutta sisään ei pääse ilman avainbittiä joka on tietyillä ainejärjestöaktiiveilla.&lt;br /&gt;
* Sivistys / Kattosauna = Leppätalon ylimmässä kerroksessa sijaitseva sauna (portaat ylös Leppäsuonkatu 11:sta puoleisen sisäänkäynnin vierestä)&lt;br /&gt;
* Ida = Ida Aalbergin tie 1:ssä Pohjois-Haagassa oleva sauna jossa TKO-älyn saunaillat useimmiten järjestetään&lt;br /&gt;
&lt;br /&gt;
===Muualla Helsingissä===&lt;br /&gt;
* UKK = [http://fi.wikipedia.org/wiki/Urho_Kekkosen_muistomerkki Urho Kekkosen muistomerkki] (tässä yhteydessä)&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7900</id>
		<title>Matematiikan kurssit</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Matematiikan_kurssit&amp;diff=7900"/>
		<updated>2016-03-26T12:44:22Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Matematiikka tutuksi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tässä esitellään lyhyesti useimmat matematiikan perus- ja aineopintotason kurssit sekä muutama syventävä kurssi. Esitettyjä näkemyksiä ei kannata ottaa absoluuttisina totuuksina, vaan eräiden matematiikkaa poikkeuksellisen paljon sivuaineena opiskelleiden tietojenkäsittelytieteiden opiskelijoiden mielipiteinä.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Perusopinnot = &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huom.&#039;&#039;&#039; Vaikka Matematiikan laitos määritteleekin osan kursseista perusopinnoiksi, voi menetelmätieteiden ja matematiikan perusopintokokonaisuuden muodostaa vapaasti muistakin kursseista (esim. sekoittamalla perus- ja aineopintoja).&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitoksella on jostain erikoisesta syystä perusopintotasolla kolme erilaista analyysin kurssia (sekä näiden jatkokurssit). Yleensä pää- ja sivuaineopiskelijat käyvät luentokurssit Analyysi I ja II. Osa on myös suorittanut sivuaineopiskelijoille suunnatun Matemaattisen analyysin kurssin, joka on kuulemma hiukan helpompi. &#039;&#039;Jos jollain on ajantasaista tietoa näiden eroista, päivittäkää wikiä.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajankohtaista huom.&#039;&#039;&#039; Matikan 10 op:n perus- ja aineopintojen kursseja on jaettu kahtia 5 op:n kursseiksi ja nimetty uudelleen alkaen syksystä 2015. Myös tilastotieteen kursseja on nimetty uudelleen (Johdatus todennäköisyyslaskentaan -&amp;gt; Todennäköisyyslaskenta I, Todennäköisyyslaskenta 10 op -&amp;gt; Todennäköisyyslaskenta II, jne. Ks. tilaston [https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+2014-2016 tutkintovaatimukset]) . Suurempia muutoksia kurssien sisällöissä ei &#039;&#039;ilmeisesti&#039;&#039; ole, joten fuksiwikin vanhoja kursseja koskevat neuvot todennäköisesti pätevät edelleen uusiin kursseihin sellaisenaan. Entisten kurssien nimet (suluissa).&lt;br /&gt;
&lt;br /&gt;
== Analyysin peruskurssi ==&lt;br /&gt;
10 op, syksy. (Viime vuosina järjestetty &#039;virtuaalisena&#039; kurssina ts. Moodle-etäkurssina &amp;quot;Analyysin virtuaalinen peruskurssi&amp;quot;. Älä sekoita &#039;&#039;&#039;Matemaattisen analyysin kurssiin&#039;&#039;&#039;, ks. alempana.)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Mitään esitietovaatimuksia tai -suosituksia ei ole. Analyysin peruskurssi sopii hyvin ensimmäiseksi yliopistomatematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysin peruskurssi käsittelee suunnilleen samoja aiheita kuin teoreettisempi [[#Analyysi I ja II|Analyysi I]]. Keskeistä sisältöä ovat yhden muuttujan differentiaali- ja integraalilaskenta ja sarjat.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysi I ja II sekä [[#Analyysin peruskurssi|Analyysin peruskurssi]] käsittelevät olennaisesti samoja asioita, edelliset kaksi syvemmin ja teoreettisemmin, jälkimmäinen taas pintapuolisemmin ja soveltavammin. Kun Analyysiä on viime aikoina helpotettu ja muutettu opiskelijalähtöisemmäksi, se alkaa olla yhä useammalle opiskelijalle Analyysin peruskurssia suositeltavampi vaihtoehto.&lt;br /&gt;
&lt;br /&gt;
Monet ovat nähneet tämän kurssin lähinnä lukiomatematiikan kertauksena, joka ei tarjoa työläyteensä nähden mitään olennaista hyötyä.&lt;br /&gt;
&lt;br /&gt;
== Raja-arvot ja Differentiaalilaskenta (aiemmin Analyysi I)  ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Lukiomatematiikkaan tottuneelle aloituskynnys voi kuitenkin olla korkea, joten jonkin kevyemmän kurssin suorittaminen tätä ennen saattaa kannattaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Analyysi I käsittelee lukujonoja, raja-arvoja, jatkuvuutta, derivoituvuutta ja alkeisfunktioita. Samalla se toimii johdatuksena matemaattiseen ajatteluun ja todistustekniikoihin. Lähestymistapa on selvästi teoreettisempi kuin mihin lukiossa tottui. Opettajien ja tutoreiden varoituksissa on perää; kurssi voi olla raskas ja vaikea. Kysymys ei ole kuitenkaan asioiden vaikeudesta; valtaosa siitä on jo lukiosta tuttua. Vaikeus ja raskaus tulevat lähinnä aloituskynnyksen korkeudesta. Asiat muuttuvat huomattavasti helpommiksi, jos onnistuu pääsemään yli kulttuurishokista.&lt;br /&gt;
&lt;br /&gt;
Luennoijat laittavat luentomuistiinpanonsa usein verkkoon, mutta niistäkään ei yleensä ole hyvän oppikirjan korvikkeeksi. Niinpä luentojen seuraaminen onkin Analyysi I:ssä ja II:ssa poikkeuksellisen suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen. Suoranaisia sovelluskohteita niille löytyy esimerkiksi tietokonegrafiikasta, suorituskykyanalyysista ja signaalinkäsittelystä. Jokin analyysin kurssi olisikin hyvä löytyä jokaisesta matematiikan sivuaineoppimäärästä.&lt;br /&gt;
&lt;br /&gt;
== Integraalilaskenta ja Sarjat (aiemmin Analyysi II) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I tai vastaavat tiedot.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssin keskeisiä aiheita ovat sarjat ja integrointi. Tavaraa on paljon, uutta asiaa tulee enemmän kuin Analyysi I:ssä ja käsittelyvauhti on nopeahko. Kuitenkin jos selvisi Analyysi I:stä, selviää todennäköisesti tästäkin.&lt;br /&gt;
&lt;br /&gt;
== Tieteellinen viestintä / Matematiikan harjoitustyö (ent. Analyysin harjoitustyö) ==&lt;br /&gt;
2 op (aineopintoja, harjoitustyöosuus) + 3 op (matematiikan opiskelijoiden äidinkielen opinnot)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Analyysi I ja tarpeeksi (?) matematiikan opintoja&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tieteellinen viestintä on syksynä 2015 uusi pakollinen kurssi matematiikan pääaineopiskelijoille, jonka yhteydessä tehdään &#039;&#039;&#039;Matematiikan harjoitustyö&#039;&#039;&#039; (korvaa entisen Analyysin harjoitustyön). Ilmoituksen mukaan kurssilla käsitellään tieteellisen (matemaattisen) tekstin kirjoittamista, suullista esittämistä, yleisesti tieteellistä julkaisemista,  sekä Latexin käyttöä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Uuden kurssin soveltavuus sivuaineopiskelijoille (erityisesti JTKT:n tehneille käpistelijöille) tämän kirjoittaneelle mysteeri. Entinen analyysin harjoitustyö oli (sivuaineopiskelijoille vapaaehtoinen) hieman tavallista analyysin laskaritehtävää laajempi harjoitustyö, mutta joidenkin (= fuksiwikin aiempien kirjoittajien) mielestä myös sivuaineilijoille hyödyllinen.&lt;br /&gt;
&lt;br /&gt;
tldr. Ei tietoa, luultavasti ei erityisen suositeltava käpistelijöille. (Mutta joku voi halutessaan kokeilla käydä ja kirjoittaa sitten tänne tarkemmin oliko hyödyllinen vai ei).&lt;br /&gt;
&lt;br /&gt;
== Matemaattisen analyysin kurssi ja jatkokurssi ==&lt;br /&gt;
10+10 op, syksy+kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Virallisten esitietovaatimusten mukaan lukion lyhytkin matematiikka riittää. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Sivuaineopiskelijoille (tilasto- ja kansantaloustieteilijöille) suunnattu versio Analyysin kursseista. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Analyysin perusteet kuuluvat tietojenkäsittelytieteilijän matemaattiseen yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta I ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Sopii hyvin ensimmäiseksi matematiikan kurssiksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla alkaa lineaarisilla yhtälöryhmillä sekä matriisilaskennan perusteilla. Tämän jälkeen siirrytään vektoreihin ja vektoriavaruuksiin. Kurssin tärkeimpiä työkaluja on Gauss-Jordanin eliminointimenetelmä. Tällä ratkotaan useimmat kurssin ongelmat, kuten lineaariset yhtälöryhmät.&lt;br /&gt;
&lt;br /&gt;
Lisäapuja kurssin sisällön suorittamiseen voi kalastaa näistä Gilbert Strangin MIT:n Lineaarialgebran kurssin luentovideoista:&lt;br /&gt;
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebran perusteet kuuluvat tietojenkäsittelijän yleissivistykseen. Kurssi on erittäin hyödyllinen, mikäli ei ole ennen tutustunut aihepiiriin. Selkeimpiä sovelluskohteita ovat tietokonegrafiikka ja koneoppiminen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra ja matriisilaskenta II ==&lt;br /&gt;
5 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]]&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssi jatkaa siitä mihin aiemmassa osassa jäätiin. Keskeisiä käsitteitä ovat aliavaruudet, sisätulot, determinantit ja ominaisarvot.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi muodostaa kokonaisuuden edeltävän osan kanssa, joten sovelluskohteet ovat samat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matematiikka tutuksi ==&lt;br /&gt;
2 op, syksy ja kesä (avoin)&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tietojenkäsittelytieteilijöille kurssi soveltuu matematiikan opintojen alussa suoritettuna osaksi matematiikan tai menetelmätieteiden sivuainekokonaisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Johdattelee yliopistomatematiikkaan. Kurssilla käsitellään pintapuolisesti useita eri matematiikan osa-alueita ja tekniikoita, kuten joukko-oppia, kuvauksia, todennäköisyyslaskentaa ja logiikkaa. Kurssi on aiemmin ollut 5 opintopisteen laajuinen, mutta syksyllä 2015 se muuttui kahteen opintopisteeseen. &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi sopii hyvin matematiikan opintojen alkuun varsinkin, jos matematiikan opiskelusta on pitkä aika.&lt;br /&gt;
&lt;br /&gt;
= Aineopinnot = &lt;br /&gt;
&lt;br /&gt;
== Algebralliset rakenteet I ja II (ent. Algebra I) ==&lt;br /&gt;
5+5 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssi on kuitenkin luonteeltaan abstrakti, joten jokin toinen kurssi kannattaa olla pohjalla ennen algebran aloittamista.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Algebra I alkaa logiikan ja lukuteorian alkeilla, minkä jälkeen seuraavat alkeet joukko-opista ja kuvauksista. Näitä käsitellään vain sen verran kuin kurssin aikana tullaan tarvitsemaan. Pääosassa kurssilla ovat algebralliset perusstruktuurit: ryhmät, renkaat ja kunnat. Näillä tarkoitetaan joukkoja, joissa on määritelty tietyt ehdot täyttävät laskutoimitukset. Kurssin ydinasia onkin käsitys siitä, mitä ehtoja laskutoimitusten tulisi täyttää, jotta tutut laskusäännöt olisivat voimassa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Algebra I antaa valmiuksia symboliseen laskentaan ja korkeamman tason matemaattisten abstraktioiden ymmärtämiseen. Tietokantojen, ohjelmointikielten tai laskennan teoriasta tai symbolisesta tekoälystä kiinnostuneelle kurssi on lähes välttämätön. Muutenkin se on suositeltava matemaattisen ajattelutavan harjaannuttamiseksi.&lt;br /&gt;
&lt;br /&gt;
Ensimmäisen vuoden kurssiksi Algebra I ei useimmille sovi. Aloituskynnys on todennäköisesti liian korkea kurssin teoreettisen luonteen takia. Matemaattiseen ajattelutapaan ja yliopistomatematiikkaan kannattaa siis tutustua ennen kurssin aloittamista.&lt;br /&gt;
&lt;br /&gt;
== Johdatus yliopistomatematiikkaan ==&lt;br /&gt;
(tunnetaan myös aikaisemmin samaa virkaa ajaneen &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot; tai tutummin &amp;quot;Diskis&amp;quot; -kurssin nimellä)&lt;br /&gt;
&lt;br /&gt;
5 op, syksy, periodit I ja II&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tämä on ehkä suositeltavin ensimmäinen yliopistomatematiikan kurssi käpistelijöille.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla tutustutaan eräisiin diskreetin matematiikan osa-alueisiin. Vastaan tulee joukko-oppia, relaatioita, kuvauksia, induktiota, rekursiota sekä perusteita kombinatoriikasta ja verkkoteoriasta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on ainoa matematiikan kurssi, joka on tutkintovaatimuksissa kaikille käpistelijöille pakollinen. Tämä on hyvästä&lt;br /&gt;
syystä, sillä monet kurssin asioista kävelevät vastaan jo monilla fuksivuoden&lt;br /&gt;
kursseilla. Yksi näistä kursseista on fuksikevään Tietorakenteet, johon osallistujilta edellytetään joko Johdatus yliopistomatematiikkaan -kurssisuoritus tai esitietokoe.&lt;br /&gt;
&lt;br /&gt;
Aihepiiriä käsitellään lisää mm. kursseilla [[#Verkot|Verkot]] ja [[#Kombinatoriikka|Kombinatoriikka]].&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I (ent. Johdatus todennäköisyyslaskentaan) ==&lt;br /&gt;
5 op, kevät, periodi III&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Et pelästy nähdessäsi integraalin; lukion pitkän matematiikan integraalilaskenta oletetaan esitietona.  Lukion todennäköisyyslaskennan kurssin asioiden muistaminen ei ole haitaksi, muttei suinkaan välttämätöntä (samat asiat käydään huolellisemmin kurssilla läpi). Tilastotieteen OPS suosittele alle kurssia Johdatus yliopistomatematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Nimensä mukaisesti kyseessä on johdantokurssi todennäkoisyyslaskentaan, erityisesti siinä määrin missä sitä tarvitaan kurssilla Johdatus tilastolliseen päättelyyn (seuraavassa periodissa) ja muilla tilastotieteen perusopinto-tasoisilla kursseilla (data-analyysit jne.). &lt;br /&gt;
&lt;br /&gt;
Kurssilla lähdetään liikkeelle todennäköisyyden käsitteestä (aksioomat) ja todennäköisyyslaskennan alkeista. Lisäksi tutustutaan kombinatoriikan perusteisiin, (yksiulotteisiin) satunnaismuuttujiin ja tavallisimpiin diskreetteihin ja jatkuviin jakaumiin. Laskareissa ollut (ainakin viimeksi järjestyllä kurssilla) MATLAB-tehtäviä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa lukemistoa joskus virallisena kurssikirjanakin nähty Pekka Tuomisen &#039;&#039;Todennäköisyyslaskenta&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hieman vakavammalla otteella todennäköisyyslaskentaa tehdään aineopintotasoisella 10 nopan kurssilla Todennäköisyyslaskenta II.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus:TODO ===&lt;br /&gt;
&lt;br /&gt;
Joku paremmin osaava voi kirjoittaa jotain soveltuvuudesta käpistelyyn. Todennäköisyyslaskennasta on hyötyä ainakin algoritmilinjalla.&lt;br /&gt;
&lt;br /&gt;
== Tilastollinen päättely I (ent. Johdatus tilastolliseen päättelyyn) ==&lt;br /&gt;
5 op, kevät, IV periodi&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Johdatus todennäköisyyslaskentaan (edellisessä periodissa, tämä on melko suora jatkokurssi sille)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Tilastotieteen perusopintoja. Kurssilla on tavattu keskittyä klassisen (frekventistinen tulkinta) tilastotieteen perusteisiin (binomikoe, otos, uskottavuus, estimointiteoriaa, luottamusvälit, tilastolliset testit, pienimmän neliösumman menetelmä ja lineaarinen regressio), mutta kurssin lopulla myös hieman Bayes-päättelyn alkeita.&lt;br /&gt;
&lt;br /&gt;
Vaihtoehtoisesti voi harkita valtiotieteellisen kursseja Johdatus yhteiskuntatilastotieteeseen ja Tilastotieteen jatkokurssi, jotka ovat matemaattisesti hieman kevyemmät ja sovellushenkisempiä. Kannattaa tutustua tutkintovaatimuksiin: https://wiki.helsinki.fi/display/Tilastotiede/Tilastotieteen+tutkintovaatimukset+sivuaineopiskelijoille+2014-2016&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus: TODO===&lt;br /&gt;
&lt;br /&gt;
Ks. Johdatus todennäköisyyslaskentaan. (?).&lt;br /&gt;
&lt;br /&gt;
== Kombinatoriikka ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla keskitytään nimenomaan enumeratiiviseen kombinatoriikkaan, jossa lasketaan erilaisten äärellisten joukkojen ominaisuuksia. Esimerkkejä käsiteltävistä ongelmista ovat &amp;quot;kuinka monta tapaa on jakaa 5 kortin käsiä korttipakasta&amp;quot; tai &amp;quot;kuinka monella tavalla n hengen ryhmä voidaan jakaa k hengen joukkueisiin&amp;quot;. Keskeisiä käsitteitä ovat permutaatiot, kombinaatiot ja binomikertoimet.&lt;br /&gt;
&lt;br /&gt;
Ajoittain kurssilla tarkastellaan myös käpistelijöitä kiinnostavia verkko-ongelmia, kuten riippumattomia joukkoja, klikkejä ja verkon värityksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Useimmat tietojenkäsittelytieteen laskennalliset ongelmat ovat nimenomaan kombinatorisia (optimointi)ongelmia, joten kurssi on hyödyllinen varsinkin algoritmiikasta kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
== Lukualueet ==&lt;br /&gt;
3 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Ei ole, sillä kurssi täydentää lähinnä täydentää lukiomatematiikan tietoja kompleksilukujen osalta.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla keskitytään lähinnä kompleksilukuihin, näiden peruslaskutoimituksiin (yhteenlasku, kertolasku ja liittoluvut) sekä geometriseen tulkintaan. Kurssi on melko helppo ja se suoritetaan perinteisesti pelkästään laskaritehtävillä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei esitellä edes kompleksilukujen matemaattisia sovelluksia eikä siis myöskään tietojenkäsittelytieteen kannalta relevantteja asioita juuri tule. Kurssi kuitenkin sopii matematiikan opintojen alkuun leppoisan luonteensa vuoksi.&lt;br /&gt;
&lt;br /&gt;
== Logiikka I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Tällä kurssilla pärjännee hyvin lyhyenkin matematiikan pohjalta, vaikka matemaattinen ajattelu onkin tarpeen. Kannattaa muistaa, että filosofeillakin on omat pakolliset logiikan kurssinsa, jotka pureutuvat yhdessä syvemmälle kuin tämä peruskurssi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Moni aineopintotason kurssi käsittelee logiikan perusteita, mutta Logiikka I on ainoa, joka esittää ne kattavasti. Pääpaino on propositio- ja predikaattilogiikassa, joskin kurssin loppupuolella saatetaan vilkaista joitain laajennoksia ja muunnelmia. Propositiologiikassa operoidaan pelkillä vakiosymboleilla, kun taas predikaattilogiikka tuo mukanaan muuttujat ja predikaatit. Muutaman keskeisen teoreettisen tuloksen ohella käsitellään varsin kattavasti totuustaulut, semanttiset puut ja luonnolliseksi päättelyksi kutsuttu järjestelmä, joka on toisinaan käsittämättömän kömpelö. (Luonnollisessa päättelyssä yritetään johtaa jokin lause tehdyistä oletuksista. Semanttisia puita käytettäessä puolestaan selvitetään, millä ehdoilla annettu lause on tosi.)&lt;br /&gt;
&lt;br /&gt;
Hannele Salmisen ja Jouko Väänäsen kirja &#039;&#039;Johdatus logiikkaan&#039;&#039; on kaksipiippuinen juttu. Joiltain osiltaan se soveltuu hyvin itseopiskeluun ja mahdollistaa selvästi kurssia nopeamman etenemisen. Toisaalta kun vastaan tulee &amp;quot;induktiolla lauseen rakenteen suhteen&amp;quot;, on aika hakata päätä seinään. Samat asiat olisi voinut todistaa huomattavasti selkeämmälläkin tavalla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Nykymatematiikka perustuu logiikkaan. Tietojenkäsittelytiede lähti liikkeelle loogikoiden ajatusleikeistä. Eksakti ajattelu ja formaali esitystapa täytyy hallita, jos haluaa pärjätä tietojenkäsittelytieteen opinnoissa. Esimerkiksi tietokantojen ja ohjelmointikielten teoria sekä perinteinen tekoäly ovat täynnä logiikkaa. Lienee siis varsin luonnollista, että logiikka kuuluu jokaisen käpistelijän yleissivistykseen.&lt;br /&gt;
&lt;br /&gt;
Usein suositellaan esitietokurssiksi jos matemaattinen logiikka (esim. samanniminen syventävä kurssi) kiinnostaa enemmänkin (mutta tästä kuulee joskus eriäviä mielipiteitä, joten tiedä häntä; ehkä kuitenkin suositeltavaa käydä tämä ennen kuin marssii maisterivaiheen logiikkaan ellei ole erityisen rohkea olo.)&lt;br /&gt;
&lt;br /&gt;
== Mitta ja integraali ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Vektorianalyysi|Vektorianalyysi]]. [[#Topologia I|Topologia I]]:tä suositellaan vieläkin vahvemmin kuin Vektorianalyysin yhteydessä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Janan luonnollinen mitta on sen pituus, tasokuvion mitta pinta-ala ja kolmiulotteisen kappaleen mitta tilavuus. Tällä kurssilla yleistetään mitan käsite ja tarkastellaan erityisesti Lebesguen mittaa, joka perustuu luonnolliseen geometriseen mittaan. Mittateorian käsittelyn jälkeen määritellään integroituvuus ja integraali kaikissa mitallisissa joukoissa ja todistetaan monia integraalien ominaisuuksia, joita olisi hankala käsitellä aikaisempien määritelmien perusteella.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mitta ja integraali on analyysin syventävien opintojen peruskurssi. Jos aikoo suorittaa matematiikassa syventävien opintojen sivuainekokonaisuuden, tämä on eräs suositeltavimmista kursseista erikoistumissuunnasta riippumatta. Erityisesti jos aikoo perehtyä todennäköisyyslaskentaan syvällisesti, kuten älykkäiden järjestelmien kohdalla on usein tarpeen, mittateoria tulee hallita.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Topologia I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I ja II|Analyysi I]].&lt;br /&gt;
Kurssi on luonteeltaan abstrakti, joten muidenkin matematiikan kurssien käyminen ennen tätä on suositeltavaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Avoimuuden, jatkuvuuden ja raja-arvon käsitteet yleistetään metrisissä ja normiavaruuksissa, minkä jälkeen johdetaan suuri joukko lähinnä intuitiivisia tuloksia. Kurssi on luonteeltaan teoreettinen ja abstrakti samaan tapaan kuin [[#Algebra I|Algebra I]]. Monet voivat kokea tämän kurssin vaikeutena, mutta tässäkin tapauksessa kysymys on ennemminkin korkeasta kynnyksestä kuin asioiden vaikeudesta. Mitä enemmän matematiikkaa on opiskellut ennen Topologia I:tä, sitä matalammaksi kynnys käy, kun tottuu asioiden käsittelyyn yleisellä tasolla. Jussi Väisälän kirja &#039;&#039;Topologia I&#039;&#039; sopii hyvin itseopiskelumateriaaliksi.&lt;br /&gt;
&lt;br /&gt;
Kurssi käsittelee oikeastaan enemmän analyysin peruskäsitteitä kuin topologiaa. Voidaan perustellusti sanoa, että Topologia I suhtautuu topologiaan samalla tavalla kuin [[#Diskreetti matematiikka I|Diskreetti I]] diskreettiin matematiikkaan.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Topologia I on kurssi, joka on tarkoitettu lähinnä helpottamaan analyysin opiskelua. Tietojenkäsittelytieteen opinnoissa siitä ei ole juuri apua, ellei sitten tietokonegrafiikassa ja laskennallisessa geometriassa. Jos kuitenkin aikoo suorittaa matematiikassa syventävät opinnot, tämä kurssi on hyvä sisällyttää oppimäärään.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vektorianalyysi I ja II(ent. Vektorianalyysi) ==&lt;br /&gt;
5+5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Analyysi I|Analyysi I ja II]] sekä [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I ja II]]. Myös [[#Topologia I|Topologia I]]:n tiedoista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Vektorianalyysi käsittelee useamman muuttujan differentiaali- ja integraalilaskentaa. Lähestymistapa on käytännöllisempi kuin Analyysi I+II:ssa, mikä on ymmärrettävää. Merkittävä osa yhden muuttujan funktioiden teoriasta yleistyy nimittäin vähällä vaivalla useamman muuttujan funktioille, joten samaa asiaa ei kannata käsitellä uudestaan yhtä tarkasti. Kannattaa huomioida, ettei kurssin suomenkielistä oppikirjaa ole ollut saatavilla enää vähään aikaan, vaan opiskelija joutuu joko turvautumaan kopiokoneeseen tai metsästämään itse vastaavaa kirjallisuutta.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Vektorianalyysi ei ole enää samalla tavalla yleissivistystä kuin Analyysi I ja II. Kurssin tietoja tarvitaan samoilla aloilla kuin analyysin perusteitakin, mutta esimerkiksi ohjelmistotekniikkaan tai käyttöliittymiin erikoistuvalle niistä ei ole suurempaa hyötyä.&lt;br /&gt;
&lt;br /&gt;
Vektorianalyysia voi suositella lähinnä tutkijoiksi aikoville sekä teoreettisemmille aloille erikoistuville. (Esim. algolinjan Introduction to Machine Learning -kurssilla tämä on hyödyllinen tosin ei välttämätön esitieto.) Erityisesti osittaisderivaatat ja gradientin käsite (kurssin ensimmäin puolisko) ovat hyödyllisiä vähän kaikkialla (esim. optimointialgoritmit), ja yleisesti vektorianalyysin työkaluista on hyötyä jos törmää moniulutteisiin tn-jakaumiin (monet tilastotieteen käytännön sovelluskohteet, esimerkiksi juuri koneoppimisen alalla).&lt;br /&gt;
&lt;br /&gt;
Matematiikasta syventävien opintojen kokonaisuuden lukevien kannattaa erityisesti käydä Vektorianalyysi.&lt;br /&gt;
&lt;br /&gt;
== Verkot ==&lt;br /&gt;
5 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Johdatus diskreettiin matematiikkaan. &lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Kurssi on jatkoa JDM-kurssille. Kurssilla esitellään verkkoteorian peruskäsitteitä ja -tuloksia. Keskeisiä käsitteitä ovat suuntaamattomat ja suunnatut verkot (suhteikot), puut sekä erilaiset kulut (Hamiltonin ja Eulerin). &lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssi soveltuu erittäin hyvin tietojenkäsittelytieteilijöille, sillä verkot ovat kenties tietojenkäsittelytieteen yleisimpiä struktuureja ja malleja (kuten Tietorakenteet kurssilta tulee tutuksi). &lt;br /&gt;
&lt;br /&gt;
Kurssin [[#Diskreetti matematiikka II|aiemmasta versiosta]] sanottua: Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että kurssi on suositeltava kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applications of Matrix Computations ==&lt;br /&gt;
(a.k.a. Matriisilaskennan sovellukset)&lt;br /&gt;
5 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebra I + II. Muista matematiikan kursseista ei haittaakaan.&lt;br /&gt;
&lt;br /&gt;
(Matlab / Octave -ohjelmointitaustaa suositellaan, mutta lähinnä siksi ettei sitä opeteta kädestä pitäen. Käpistelijälle jolla on jo hieman ohjelmointitaustaa, Matlab-syntaksin oppiminen siinä missä sitä kurssilla tarvitaan luulisi olevan ihan mahdollista.)&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
&lt;br /&gt;
Lineaarialgebran ja matriisilaskennan sovelluskurssi ts. Matlab-ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Suositeltava kurssi, jos Linisten jälkeen kiinnostaa mihin sitä lineaarialgebraa sitten oikeastaan voi käyttää. Tarkempi fokus ollut joskus hieman sekalainen ja muutenkin vähän vaihdellut luennoitsijan mielenkiinnon mukaan, viimeisimmällä iteraatiolla (syksyllä 2014) keskityttiin kuvankäsittelyyn. Muita usein nähtyjä aiheita: numeerista integrointia, Markovin ketjuja, Googlen PageRank-algoritmi, wavelet- / Fourier-muunnoksia (FFT), pääkomponenttianalyysia, ominaisarvoja ja matriisihajotelmia.&lt;br /&gt;
&lt;br /&gt;
Verrattuna johonkin abstraktimpaan kurssiin (joku Topo I tulee mieleen), kurssi on varsin käytännönläheistä soveltavaa matematiikkaa ja ohjelmointia.&lt;br /&gt;
&lt;br /&gt;
Poikkeuksellisesti muihin matematiikan kursseihin verrattuna, kurssilla ei ole tavattu käyttää kurssikirjaa eikä myöskään kannata odottaa kattavia luentomuistiinpanoja nettiin, eli luennoilla kannattaa käydä!&lt;br /&gt;
&lt;br /&gt;
=== Soveltavuus ===&lt;br /&gt;
&lt;br /&gt;
Ei ollenkaan huono kurssi matikan laajempaan sivuaineeseen Linis I+II:n jatkoksi, jos soveltava matematiikka kiinnostaa. Jotain viitettä voi antaa, että kyseessä on matikan pääaineilijoille eräänlainen epävirallinen (?) porttikurssi tietokoneavusteisen matikan maisterilinjalle.&lt;br /&gt;
&lt;br /&gt;
= Syventävät opinnot =&lt;br /&gt;
&lt;br /&gt;
Kuilu syventävien ja aineopintojen välillä on usein suuri, joten syventäville kursseille ei kannata rynnätä kylmiltään. Usein esimerkiksi Matemaattisen logiikan linjan kursseilla ei ole erityisiä esitietovaatimuksia, mutta opiskelijoilla oletetaan olevan &amp;quot;matemaattista yleissivistystä tai kypsyyttä&amp;quot;. Käytännössä tämä tarkoittaa, että esim. aineopintoja on jo suoritettuna eikä matemaattinen ajattelu ole vierasta.&lt;br /&gt;
&lt;br /&gt;
Matematiikasta voi suorittaa 60 op laajuisen syventävien opintojen kokonaisuuden käymällä 40 opintopisteen edestä syventäviä kursseja ja kirjoittamalla 20 op arvoisen sivuainetutkielman (ns. &amp;quot;sivuainegradu&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Laskettavuuden teoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole, mutta matemaattisen ajattelutavan on syytä olla tuttu. Erityisesti [[#Matemaattinen logiikka|Matemaattisesta logiikasta]] ja TKTL:n kurssista Laskennan mallit on hyötyä.&lt;br /&gt;
&lt;br /&gt;
Suositeltavaa on, että aineopintojen kursseja on jo jonkin verran takana, sillä kurssilla ajoittain esitellään yhteyksiä mm. logiikkaan ja topologiaan (tosin esitiedot näistä eivät ole välttämättömiä).&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Laskettavuutta, ratkeavuutta ja rekursiivisuutta matemaatikon näkökulmasta. Turingin koneiden ja ohjelmien sijaan lähtökohtina ovat rekursiiviset funktiot ja eräänlainen RAM-kone. Monet asiat saadaan todistettua tyylikkäämmin tai helpommin kuin TKTL:n Laskennan teoriassa. Syksyn 2002 kurssi perustui Väänäsen 80-luvulla tekemiin luentomuistiinpanoihin, kuten myös kevään 2010 kurssi.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Mielipide 1: Tämän kurssin käymisestä ei ole yhtään mitään hyötyä. Jos laskennan teoria jostain syystä kuitenkin kiinnostaa, tämän kurssin käyminen on ehdottoman suositeltavaa jo yksin sen tarjoaman vaihtoehtoisen lähestymistavan takia.&lt;br /&gt;
&lt;br /&gt;
Mielipide 2: Kurssi on erittäin hyödyllinen ottaen huomioon sen, että Tietojenkäsittelytieteen laitoksella ei enää juurikaan opeteta kurssia Laskennan teoria. Muutenkin laskennan teoriaa käsitellään vain lyhyesti Laskennan mallit -kurssilla. Jatkokurssiksi sopii myös [[#Vaativuusteoria|Vaativuusteoria]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matemaattinen logiikka ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Käytännössä logiikan perustietojen hallitseminen esimerkiksi kurssilta [[#Logiikka I|Logiikka I]] on lähes välttämätöntä, eikä muidenkaan kurssien käyminen ole ainakaan haitaksi. Kysymys on joka tapauksessa syventävien opintojen kurssista, joten matemaattisen ajattelutavan omaksumista voidaan pitää välttämättömänä edellytyksenä kurssille osallistumiseen.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Periaatteessa kurssin sisältö vastaa hyvin Jouko Väänäsen kirjaa &#039;&#039;Matemaattinen logiikka&#039;&#039;, mutta käänteisessä järjestyksessä. Läpi käydään jo logiikan peruskurssilla tutuksi tulleet logiikan perusteet hieman teoreettisemmasta (ja monien mielestä keinotekoisesti vaikeutetusta) näkökulmasta. Myöhemmin kurssilla törmätään muun muassa rekursiivisiin funktioihin ja laskettavuusteoriaan. Mielipiteitä on monia, mutta ainakin omasta mielestäni kirjan lähestymistapa on mielekkäämpi kuin kurssilla viime aikoina käytetty.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matemaattista logiikkaa voidaan suositella ennen kaikkea logiikasta kiinnostuneille. Syventävien opintojen kurssien joukossa se lienee sieltä helpoimmasta päästä, vaikka loogikoille tyypillisen käsittämätön notaatio yrittääkin parhaansa mukaan sabotoida ymmärrystä. Hyötyä kurssista saattaa olla, jos esimerkiksi laskennan teoria, tietokantojen mallinnus, ohjelmointikielten periaatteet tai perinteinen tekoäly kiinnostavat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reaalianalyysi I ==&lt;br /&gt;
6 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Reaalianalyysi I käsittelee reaalianalyysin perusteita teoreettiselta näkökannalta. Samaan aikaan luennoidaan myös Sovelletun analyysin perusteet, joka lienee suunnattu enemmän differentiaaliyhtälöitä tietokoneilla ratkoville soveltaville matemaatikoille. Teoreettisen lähestymistavan huomaa esimerkiksi siitä, että vaikka kurssilla oppii uusia asioita, saattaa käsitys joidenkin niistä merkityksestä jäädä puuttumaan.&lt;br /&gt;
&lt;br /&gt;
Siinä missä Mitta ja integraali keskittyi integrointiin, laajennetaan tällä kurssilla derivoinnin ja derivaatan käsitettä. Lisäksi käsitellään L&amp;lt;sup&amp;gt;p&amp;lt;/sup&amp;gt;-avaruuksia sekä absoluuttisesti jatkuvia, rajoitetusti heilahtelevia ja muita &amp;quot;kiltisti&amp;quot; käyttäytyviä funktioita. Kurssia vaivaa lievä päämäärättömyys, vaikka monet käsiteltävät asiat ovatkin aikaisemmilla&lt;br /&gt;
kursseilla saatujen tulosten yleistyksiä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Reaalianalyysi I on luontevaa jatkoa Mitalle ja integraalille, joten samat perustelut pätevät senkin kohdalla. Toinen jatkovaihtoehto Mitan ja integraalin jälkeen olisi* Sovelletun analyysin perusteet, mutta minulla ei ole käsitystä sen&lt;br /&gt;
sisällöstä tai soveltuvuudesta (*tai ainakin oli joskus, tämän kirjoittaja ei ole nähnyt tuonnimistä kurssia luennoitavan enää).&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyysteoria ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Mitta ja integraali|Mitta ja integraali]] ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]].&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lyhyesti sanottuna Todennäköisyysteoriassa käsitellään todennäköisyyslaskentaa mittateorian pohjalta. Kurssi on laudatur-kurssiksi siinä mielessä helppo, että jos mittateoria ja todennäköisyyslaskenta ovat ennestään tuttuja, niiden yhdistäminen tapahtuu varsin intuitiivisesti. Uusia käsitteitä ei tule kovinkaan paljon Todari I:n päälle, vaan kysymys on ennemminkin pohjan rakentamisesta aiemmin opitun alle.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todari II on hyödyllinen kurssi erityisesti älykkäiden järjestelmien linjalla, jossa kaikki perustuu oikeastaan tilastotieteeseen ja todennäköisyyslaskentaan. Todari I:ssä opittiin lähinnä soveltamaan todennäköisyyslaskentaa, kun taas tällä jatkokurssilla päästään käsiksi asian ytimeen ja opitaan ehkä ymmärtämäänkin sitä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vaativuusteoria ==&lt;br /&gt;
10 op, satunnaisesti&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Kurssilla ei ole varsinaisia esitietovaatimuksia, mutta koska kyse on syventävästä matematiikan kurssista on suositeltava käydä tarpeeksi aineopintojen kursseja ennen. Erityisesti Logiikka I ja Algebra I ovat hyödyllisiä.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Kurssilla käsitellään nimensä mukaisesti vaativuusteoriaa, joka tutkii kuinka vaikeita erilaiset laskennalliset ongelmat ovat. Kurssilla käytetään mallina TKTL:n Laskennan mallit -kurssilta tuttua Turingin konetta sekä esitellään tunnetuimmat vaativuusluokat P, NP ja PSPACE. Lisäksi käsitellään NP-täydellisyyttä ja PSPACE-täydellisyyttä. Lopuksi tutustutaan säännöllisiin kieliin ja äärellisiin tilakoneisiin (tällä kurssilla erikoistapaus Turingin koneesta). &lt;br /&gt;
&lt;br /&gt;
Kurssilla saatetaan myös esitellä lyhyesti deskriptiivistä vaativuusteoriaa, jolloin (matemaattisen) logiikan kursseista on hyötyä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Kurssin aihepiiri kuuluu tietojenkäsittelytieteilijöiden yleissivistykseen. Kurssin lähestymistapa on kuitenkin hyvin matemaattinen (todistukset tehdään tarkasti ilman käsien heiluttelua), joka saattaa olla vierasta käpistelijöille. Lisäksi kurssin tekniikat ovat usein tästä syystä melko matalalla tasolla, joten varsinaista yleiskuvaa vaativuusteoriasta ei saa, mutta vahvat perustiedot kylläkin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verkkoteoria ==&lt;br /&gt;
10 op, suoritetaan loppukokeella&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom. Tämä ei ole sama kurssi kuin [[#Verkot|Verkot]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Tiukkoja esitietovaatimuksia ei ole, mutta [[#Diskreetti matematiikka II|Diskreetti matematiikka II]] on vahvasti suositeltava. Koska kysymys on laudatur-erikoiskurssista, kurssilla oletetaan useimpien alojen perusteet tutuiksi. Logiikan, lineaarialgebran, topologian ja todennäköisyyslaskennan alkeiden osaaminen on hyödyksi.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tämä kurssi käsittelee nimensä mukaisesti verkkoteoriaa Diestelin kirjan&lt;br /&gt;
&#039;&#039;[http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/ Graph Theory]&#039;&#039; pohjalta. Diskreetti II:ssa käsitellyt asiat ohitetaan nopeasti ensimmäisessä luvussa, minkä jälkeen käsitellään syvemmin parituksia, yhtenäisyyttä, tasoverkkoja, värityksiä, satunnaisverkkoja ja Ramseyn teoriaa. Laudatur-kurssin oppimateriaaliksi kirja on poikkeuksellisen selkeä ja ymmärrettävä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Matematiikan laudatur-erikoiskurssille tuleva toivottavasti tietää mitä sieltä on hakemassa. Verkkoteoria selventää jonkin verran esimerkiksi Algoritmien suunnittelussa ja analyysissa vastaan tulevia käsitteitä, mutta hyöty ei ole kovinkaan suuri. Kuitenkin jos matematiikka kiinnostaa, sitä kannattaa opiskella kun siihen on mahdollisuus.&lt;br /&gt;
&lt;br /&gt;
= Vanhat kurssit = &lt;br /&gt;
&lt;br /&gt;
Alla olevia kursseja ei enää luennoida tai ne ovat korvautuneet muilla kursseilla. Useimmat vanhoista kursseista, kuten Lineaarialgebra ja Diskreetti matematiikka II on pilkottu kahteen osaan, joten näkemykset näistä vanhoista kursseista pätevät jossain määrin myös uudempiin kursseihin. Asiasisältö ei varsinaisesti ole vuosien varrella muuttunut.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssin korvaa lukuvuodesta 2005-2006 alkaen [[#Johdatus diskreettiin matematiikkaan|Johdatus diskreettiin matematiikkaan]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Kaikista matematiikan kursseista tämä lienee se kevyin ja helpoin.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka I ei käsittele niinkään diskreettiä matematiikkaa kuin matematiikan perusteita. Alkeet käsitellään niin logiikasta, joukko-opista, relaatioista, funktioista, kombinatoriikasta, induktiosta kuin rekursiostakin. Kurssi tarjoaa näin helpon tien matemaattisen ajattelun kehittämiseen ja madaltaa näin monien matematiikan ja teoreettisen tietojenkäsittelytieteen kurssien aloituskynnystä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Tämä on se kurssi, jolla jokaisen käpistelijän kannattaisi matematiikan opintonsa aloittaa. Valitettavasti Diskreetti I luennoidaan jostain käsittämättömästä syystä keväisin. Luentomoniste on kuitenkin poikkeuksellisen selkeä, joten yksi vaihtoehto on hankkia se ja käydä tenttimässä kurssi jo marraskuun alun yleistentissä.&lt;br /&gt;
&lt;br /&gt;
== Diskreetti matematiikka II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Kurssit [[#Kombinatoriikka|Kombinatoriikka]] ja [[#Verkot|Verkot]] korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Varsinaisia esitietovaatimuksia ei ole. Kurssin käsittelytapa on kuitenkin teoreettinen ja perusasiat ohitetaan nopeasti, joten ensimmäiseksi kurssiksi Diskreetti II:ta ei kannattane ottaa. [[#Diskreetti matematiikka I|Diskreetti matematiikka I]] lienee edeltävistä kursseista hyödyllisin, mutta myös muilla kursseilla omaksuttu matemaattinen ajattelu auttaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Diskreetti matematiikka II käsittelee varsinaisen diskreetin matematiikan osa-alueista kombinatoriikkaa ja verkkoteoriaa, jättäen automaattiteorian ja formaalit kielet tietojenkäsittelytieteen kursseille. Kombinatoriikassa mennään pidemmälle kuin muilla cumu-kursseilla (Diskreetti I ja [[#Todennäköisyyslaskenta I|Todennäköisyyslaskenta I]]), vaikka perusteisiin edelleen jäädäänkin. Verkkoteoriaa käsitellään noin puolet kurssista, mutta tässäkään ajassa ei ehditä peruskäsitteitä ja -tuloksia pidemmälle. Kurssi perustuu verkosta saatavilla olevaan luentomonisteeseen, joka on matematiikan luentomonisteeksi suhteellisen luettava.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Alaa tuntematon olettaisi verkkoteoriaa tarvittavan tietojenkäsittelytieteessä lähinnä tietoverkkojen puolella. Niissäkin sitä&lt;br /&gt;
tarvitaan, mutta viimeistään Tietorakenteet-kurssilla pitäisi huomata, kuinka laajalti verkkoja tietojenkäsittelytieteessä käytetään. Lienee siis ymmärrettävää, että Diskreetti II on suositeltava kurssi kaikille tietojenkäsittelytieteen matemaattisista perusteista kiinnostuneille ja ennen kaikkea algoritmien erikoistumislinjan valinneille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit [[#Lineaarialgebra ja matriisilaskenta I|Lineaarialgebra ja matriisilaskenta I]] (5 op) ja II (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Ei ole. Lineaarialgebra I on kurssina sieltä helpommasta päästä ja tuntuu lähes suoralta jatkolta lukiomatematiikalle.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Linis I alkaa lineaarisilla yhtälöryhmillä, joista edetään matriiseihin. Tämän jälkeen ovat vuorossa vektorit, vektoriavaruudet ja sisätulot. Lopuksi käsitellään vielä lineaarikuvauksia ja determinantteja. Käsittelytapa on yliopistokurssiksi usein suhteellisen käytännöllinen ja muistuttaa siten lukiomatematiikkaa. Teoriakin esitetään, mutta laskumenetelmät ovat etusijalla. Vaikeinta lienee kurssilla käytettävän kielen sisäistäminen &amp;amp;mdash; lineaarialgebrassa kun on matematiikaksi poikkeuksellisen paljon uusia termejä. Moni asia kurssilla ratkeaa yhdistämällä matriisit ja muuttamalla näin saatu matriisi redusoituun porrasmuotoon Gauss-Jordanin eliminointimenetelmällä.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra kuuluu käpistelijän matemaattiseen yleissivistykseen, vaikkakaan ei yhtä vahvasti kuin analyysin perusteet. Tietokonegrafiikka on selkein sovelluskohde, mutta muitakin löytyy. Tiedonhallinnan syventävillä kursseilla sitä tulee kuulemma tämän tästä vastaan. Toisaalta vektorit ja matriisit tarjoavat kätevän tavan esittää matemaattisesti, että samat tai  samankaltaiset operaatiot suoritetaan kerralla useille alkioille.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lineaarialgebra II ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
[[#Lineaarialgebra I|Lineaarialgebra I]]. Lisäksi [[#Algebra I|Algebra I]] on vahvasti suositeltava.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Tällä kurssilla käsitellään lineaarialgebraa abstraktimmalla tasolla kuin Linis I:ssä. Vektoriavaruuksien tilalla ovat nyt modulit, jollainen muodostuu yhdistämällä sopivasti Algebra I:stä tuttuja ryhmiä ja renkaita. Matematiikan laitos tuntuu edustavan lineaarialgebrassa sitä pedagogista suuntausta, että asiat opetetaan ensin konkreettisten esimerkkien avulla ja tämän jälkeen käsitellään asiat uudelleen yleisemmällä ja abstraktimmalla tasolla.&lt;br /&gt;
&lt;br /&gt;
Oppimateriaalin valintaan kannattaa kiinnittää tavallista enemmän huomiota. Esimerkiksi syksyn 1999 luentomoniste hukuttaa lukijansa syntaktiseen suohon, eikä yleensä vaivaudu kertomaan, mitä käsitteet itse asiassa tarkoittavat. Matematiikkaa on kyllä mahdollista opiskella pelkkänä symbolisena manipulointina ymmärtämättä asioita lainkaan, mutta tällaisen lähestymistavan hyöty on vähintäänkin kyseenalainen.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Lineaarialgebra II on syventävien opintojen kurssi, joten suoranaista hyötyä käpistelijälle on vaikea löytää. Jos aikoo erikoistua sellaisen alan teoriaan, millä tarvitaan lineaarialgebraa, kurssin käyminen on perusteltua. Muuten sitä voi suositella lähinnä heille, jotka ovat kiinnostuneita matematiikasta sen itsensä takia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Optimointi I ==&lt;br /&gt;
10 op, syksy&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Differentiaalilaskentaa esimerkiksi kurssilta [[#Analyysin peruskurssi|Analyysin peruskurssi]] tai [[#Analyysi I ja II|Analyysi I ja II]], sekä [[#Lineaarialgebra I|Lineaarialgebra I]]. Useamman muuttujan differentiaalilaskennasta kurssilta [[#Vektorianalyysi|Vektorianalyysi]] on hyötyä, jos on käynyt Analyysi I+II:n Analyysin peruskurssin asemasta, mutta vektorianalyysin käyminen rinnakkain optimoinnin kanssa riittää.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Lineaarista ja kvadraattista optimointia ja vastaavia kuljetusongelmia. Kurssi käsittelee lähinnä perusteoriaa ja perusmenetelmiä, joista keskitytään lähinnä simplex-algoritmiin. Tarkempaa kuvausta en osaa antaa, sillä jätin kurssin&lt;br /&gt;
kesken puolenvälin aikoihin motivaation puutteen takia. Lineaarista optimointia on tapana suorittaa tietokoneilla, ei kynällä ja paperilla.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Ennen kaikkea tarvitaan istumalihaksia, sillä laskuharjoitukset sisältävät runsaasti mekaanista laskentaa. Ne ovat kuitenkin käytännössä välttämättömiä, sillä algoritmien toiminnan sisäistäminen on olennainen osa kurssia. Jos numeerinen matematiikka tai tieteellinen laskenta kiinnostaa, on Optimointi I varmastikin hyödyllinen kurssi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todennäköisyyslaskenta I ==&lt;br /&gt;
10 op, kevät&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Huom: Uudet kurssit Johdatus todennäköisyyslaskentaan (5 op) ja Johdatus tilastolliseen päättelyyn (5 op) korvaavat yhdessä tämän kurssin.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Esitietovaatimukset ===&lt;br /&gt;
Joko [[#Analyysi I ja II|Analyysi I ja II]] tai [[#Analyysin peruskurssi|Analyysin peruskurssi]]. Kurssista [[#Vektorianalyysi|Vektorianalyysi]] on myös jonkin verran hyötyä, sillä Todennäköisyyslaskenta I:ssä tarvitaan paikoin hieman useamman muuttujan integraalilaskentaa.&lt;br /&gt;
&lt;br /&gt;
=== Sisältö ===&lt;br /&gt;
Todennäköisyyslaskennan perusteita varsin käytännönläheisellä tasolla. Teoria jää usein vaille todistuksia, jotka edellyttäisivät mittateoriaa esimerkiksi kurssin [[#Mitta ja integraali|Mitta ja integraali]] laajuudessa. Todennäköisyyslaskennan alkeiden lisäksi käsitellään satunnaismuuttujia, kombinatoriikkaa sekä tavallisimpia diskreettejä ja jatkuvia jakaumia. Kurssin sisältö vaihtelee suuresti luentokertojen välillä, mutta Pekka Tuomisen kirja &#039;&#039;Todennäköisyyslaskenta&#039;&#039; on aina vähintäänkin hyvää oheislukemistoa.&lt;br /&gt;
&lt;br /&gt;
=== Soveltuvuus ===&lt;br /&gt;
Todennäköisyyslaskentaa tarvitaan tietojenkäsittelytieteessä esimerkiksi rinnakkaisjärjestelmien ja algoritmien analysoinnissa sekä älykkäissä järjestelmissä. Sen suorittaminen onkin suositeltavaa, jos aikoo opiskella&lt;br /&gt;
matematiikkaa minimilaajuista perusopintokokonaisuutta enempää.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kokeet_ja_arvostelu&amp;diff=7899</id>
		<title>Kokeet ja arvostelu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kokeet_ja_arvostelu&amp;diff=7899"/>
		<updated>2016-03-26T12:40:41Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Koetyypit==&lt;br /&gt;
&lt;br /&gt;
===Kurssikoe===&lt;br /&gt;
&#039;&#039;&#039;Kurssikoe on yleensä kurssin lopettava tilaisuus. Kurssikoe liittyy siis aina vastaavaan luentokurssiin.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssikokeeseen ei tarvitse ilmoittautua erikseen, riittää että olet ilmoittautunut kurssille.&#039;&#039;&#039; Kaikissa tietojenkäsittelytieteen laitoksen kursseissa (ohjelmoinnin, tietorakenteiden ja tietokantojen harjoitustyökurssit, Johdatus peliohjelmointiin ja muut erikoiskurssit) ei ole koetta, mutta nämä kurssien työmäärä on usein muuten vaativa. Kurssikokeessa ovat luonnollisesti voimassa kurssin aika kerätyt laskuharjoituspisteet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puoli vuotta kestävissä kursseissa (Tietorakenteet ja algoritmit, Laskennan mallit, matematiikan laitoksella esim. Logiikka I, Analyysi I ja Algebra I) on lähes aina kaksi kurssikoetta.&#039;&#039;&#039; Tällaisessa järjestelyssä on yleensä voimassa joko ehto a) Kurssi menee läpi jos kummastakin kokeesta saa koko kurssin kannalta vaaditun yhteispistemäärän (jos tämä raja on esim. 30/60, niin ensimmäisestä kokeesta voi saada vaikka 25/30 ja toisesta 5/30; tällöin siis 25+5=30, ja kurssi menee läpi) tai b) Kurssi menee läpi vain jos kummastakin kokeesta on saa vähintään puolet oikein. Voimassa oleva menettely selviää kurssisivulta.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssikokeen (tai kurssikokeiden) pistemäärään lisätään laskuharjoituksista saadut pisteet, jotka puolestaan määräytyvät tehtyjen harjoitustehtävien määrän mukaan.&#039;&#039;&#039; Jos kurssissa on lisäksi harjoitustyö, senkin pistemäärä lisätään koetulokseen. Se, kuinka paljon pisteitä harjoitustyöstä voi saada (tai on vähintään saatava) vaihtelee kursseittain. Yleensä tällaisessa tapauksessa on läpäistävä tietyllä pistemäärällä sekä kurssikoe että harjoitustyö, jotta kurssi voidaan katsoa suoritetuksi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurssisivulta selviää kurssilla noudatettava pistelaskukäytäntö ja &amp;quot;koeleikkuri&amp;quot;, eli kuinka paljon kokeesta on joka tapauksessa saatava oikein.&#039;&#039;&#039; (Ks. [[#Yleinen arvosteluasteikko|yleinen arvosteluasteikko]] alempaa tältä sivulta)&lt;br /&gt;
&lt;br /&gt;
===Erilliskoe===&lt;br /&gt;
&#039;&#039;&#039;Erilliskokeeseen ilmoittaudutaan, jos halutaan suorittaa kurssi tenttimällä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kursseja voi melko poikkeuksetta suorittaa halutessaan tenttimällä, siis läpäisemällä vain kyseisen kurssin kurssikoetta vastaava erillinen kuulustelu. Kaikkia kursseja ei tosin voi tenttimällä suorittaa, esimeriksi joidenkin kurssien erilliskokeet vaativat vastaavan joskus pidetyn luentokurssin aikana tehdyn harjoitustyön (merkitty ilmoittaumisessa ja koeaikataulussa lisähuomautuksella (HT) tai &amp;quot;harjoitustyö vaaditaan&amp;quot;) ja toimivat siis pelkästään ikään kuin aiemmin pidetyn, harjoitustyön sisältävän, kurssin uusintakokeina. Jos et ole ollut vastaavalla kurssilla tekemässä kurssiin liittyvää harjoitustyötä mutta haluaisit silti tenttiä kurssin, voit kysyä sopivaa menettelyä kurssin viimekertaiselta luennoitsijalta. Joskus on sovittavissa että harjoitustyön voi palauttaa johonkin määräaikaan mennessä suoraan luennoitsijalle tarkastettavaksi sähköpostissa ja käydä sitten erilliskokeessa, mutta tähän ei todellakaan kannata luottaa liikaa. Pääpiirteittäin harjoitustyön sisältäviä kursseja kannattaa siis käydä luentokursseina. Erilliskoe voi joillakin harvoilla kursseilla olla myös suullinen kuulustelu tai jokin poikkeuksellisen laaja kirjallinen työ (Johdatus tekoälyyn), mutta tästä on ilmoitettu vastaavan kurssin sivulla erikseen. Puolen vuoden kurssit, joissa on normaalisti kaksi kurssikoetta, voi tenttiä yhdellä erilliskokeella.&lt;br /&gt;
&lt;br /&gt;
Yleisesti ottaen tenttimällä eli erilliskokeella ei kannata suorittaa sellaisia kursseja, jotka vaativat paljon käytännön harjoittelua, ellei aihe ole ennestään hyvin hallussa. Myöskään sisällöltään laajoja ja keskeisiä (Tietorakenteet) tai yleisesti ottaen vaikeina pidettyjä kursseja (Rinnakkaisohjelmointi, Laskennan mallit) ei kannata ensisijaisesti harkita omin päin tentittäviksi. Joitakin aineopintojen kursseja, joihin kuuluu pakollinen harjoitustyö, ei välttämättä voi suorittaa erilliskokeella lainkaan.&lt;br /&gt;
&lt;br /&gt;
Tenttimiseen soveltuvat parhaiten kurssit, joihin on selkeä oppimateriaali (hyvä kurssikirja tai opetusmoniste) ja joiden asiasisältö on ensisijaisesti lukemalla (ja tarvittaessa jonkin verran itsekseen tehtäviä tekemällä) opittavissa. Erityisen sopivia tentittäväksi ovat kurssit, joiden aihepiiri on jossain määrin ennestään tuttu (aiempien kurssien, työn tai harrastuksen tms. kautta).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Matematiikan laitoksella erilliskokeita kutsutaan, ainakin WebOodin ilmoittautumisjärjestelmässä, &amp;quot;yleistenteiksi&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Erilliskokeita pidetään yleensä tiettyinä &amp;quot;erilliskoepäivinä&amp;quot; (tai &amp;quot;yleistenttipäivinä&amp;quot;, siitä nimitys), ja samassa salissa on tällöin usean eri kurssien erilliskokeita.&lt;br /&gt;
&lt;br /&gt;
===Uusintakoe===&lt;br /&gt;
&#039;&#039;&#039;Uusintakoe-nimitystä käytetään kurssikoetta, noin kuukauden päästä, seuraavasta erilliskokeesta.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kokeen nimi on uusintakoe siksi, että siinä ovat vielä voimassa kurssikokeen tapaan kurssin aikana kerätyt harjoituspisteet. Joissain kursseissa laskuharjoituspisteet ovat voimassa pitempäänkin, esimerkiksi loppuvuoden. Laskuharjoituspisteiden voimassaolosta mainitaan kurssisivulla. Jos erillistä mainintaa ei ole, voi melko huoletta olettaa että harjoituspisteet ovat voimassa kurssikoetta seuraavassa uusintakokeessa. Uusintakoetilaisuus on kuitenkin myös aina erilliskoetilaisuus ja siihen voi ilmoittautua suorittamaan kurssin myös tavallisena erilliskokeena, vaikka ei itse kurssilla olisi ollutkaan.&lt;br /&gt;
&lt;br /&gt;
===Muut menettelyt===&lt;br /&gt;
Muitakin menettelyjä on olemassa. Yllä olevat kolme koetyyppiä kattavat kuitenkin käytännössä 97% tietojenkäsittelytieteen laitoksen ja matematiikan laitoksen koetarjonnasta.&lt;br /&gt;
&lt;br /&gt;
===Esitietokokeet===&lt;br /&gt;
Tietojenkäsittelytieteen laitoksella ei yleensä enää tarkasteta esitietoja esitietokokeilla edes kursseilla joilla tietyt esitietovaatimukset pitäisi täyttyä, ennen kuin kyseiselle kurssille pääsee.&lt;br /&gt;
&lt;br /&gt;
Erilliskokeella kurssin suorittamalla esitietoja ei tarkasteta eikä vaadita.&lt;br /&gt;
&lt;br /&gt;
==Menettely koetilaisuudessa==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seuraavassa tietojenkäsittelytieteen -ja matematiikan laitoksen yleinen käytäntö. Kokeen valvoja ilmoittaa kokeen alussa poikkeavista järjestelyistä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Omia papereita ei tuoda kokeisiin&#039;&#039;&#039;, mukaan opiskelijakortti sekä muistiinpanovälineet eli kyniä ja kumi (matematikan tentteihin tarvittaessa viivain, laskin ja taulukkokirja)&lt;br /&gt;
** Muu rekvisiitta jätetään ennen kokeen alkua luentosalin reunoille.&lt;br /&gt;
** Muistiinpanoja ei saa käyttää, ellei tähän ole annettu erikseen lupaa (joissain tietojenkäsittelytieteen tenteissä saa käyttää omaa A4-&amp;quot;lunttilappua&amp;quot;, noudata tällöin luennoitsijan ohjeita).&lt;br /&gt;
** Matematiikan laitos: Jos kurssin luennolla tai koetilaisuuden alussa &#039;&#039;&#039;ei ole erikseen kielletty&#039;&#039;&#039;, tenteissä saa käyttää taulukkokirjaa ja laskinta.&lt;br /&gt;
** Arkkeja haetaan erikseen pyytämättä koesalin edestä arveltu tarvittava määrä (4-6 kpl) ennen kokeen alkua.&lt;br /&gt;
** Valvojat jakavat ainoastaan kysymyspaperin, joka &#039;&#039;&#039;pidetään kysymyspuoli alaspäin&#039;&#039;&#039; kunnes koe julistetaan alkaneeksi.&lt;br /&gt;
* &#039;&#039;&#039;Kokeet alkavat aina tasalta.&#039;&#039;&#039;&lt;br /&gt;
** Kurssikokeet tietojenkäsittelytieteessä 2h 30min.&lt;br /&gt;
** Kurssikokeet matematiikan laitoksella yleensä 2h, mutta joskus myös 2h 30min.&lt;br /&gt;
** Erilliskokeet kummassakin noin 3 - 3,5 tuntia.&lt;br /&gt;
** Viimeinen sallittu saapumishetki koetilaisuuteen on 30 minuutin kuluttua alkamishetkestä.&lt;br /&gt;
** Kokeen valvoja julistaa koetilaisuuden alkaneeksi, jonka jälkeen saa kääntää paperin ja aloittaa.&lt;br /&gt;
** Poistua saa aikaisintaan 30 minuutin jälkeen kokeen alkamishetkestä.&lt;br /&gt;
** Poistuminen &#039;&#039;&#039;voidaan kieltää&#039;&#039;&#039; viimeisten 10-15 minuutin ajaksi, jotta työrauha säilyisi loppuun saakka. Valvoja ilmoittaa tästä kokeen alussa.&lt;br /&gt;
* Joskus jokainen tehtävä tulee ratkaista omalle konseptiarkilleen joten kuuntele ohjeustusta (monta henkilöä voi tarkastaa kokeita samaan aikaan).&lt;br /&gt;
** Kokeen aikana kiertää rivettäin nimilista, johon merkataan oma nimi ja suoritettavan kurssin nimi (samassa salissa on usein useampi eri tentti).&lt;br /&gt;
** WC:ssä saa käydä valvojan saattamana. Pienet eväät (vesipullo, suklaapatukka), jotka eivät häiritse muita tenttijöitä, ovat ok.&lt;br /&gt;
** Kännykän käyttö kokeessa on luonnollisesti kielletty, lisäksi sen tulee olla vähintään äänettömällä (värinähälytyskin kuuluu hiljaisessa salissa yllättävän hyvin). Kännykkä on suositeltavaa jättää laukkuun koesalin reunalle.&lt;br /&gt;
* Jokaiseen vastauspaperiin alkuun kirjoitetaan:&lt;br /&gt;
** kurssin nimi&lt;br /&gt;
** päivämäärä&lt;br /&gt;
** opiskelijanumero (tai henkilötunnus, jos ei muista opiskelijanumeroa)&lt;br /&gt;
** etunimi sukunimi&lt;br /&gt;
** allekirjoitus&lt;br /&gt;
* &#039;&#039;&#039;Papereita palauttaessa valvojalle tulee näyttää opiskelijakortti&#039;&#039;&#039; tai sen puuttuessa henkilöllisyystodistus.&lt;br /&gt;
** &#039;&#039;&#039;Vastauspaperit palautetaan&#039;&#039;&#039; sisäkkäin, muut paperit (ml. kysymyspaperi) saa heittää roskikseen. Kysymyspaperin saa useimmiten ottaa myös mukaansa.&lt;br /&gt;
** Vähintään yksi vastauspaperi tulee palauttaa, vaikka sitten tyhjänä.&lt;br /&gt;
&lt;br /&gt;
==Arvostelu ja arvosana==&lt;br /&gt;
* Kurssin tulosten on oltava saatavilla kuukauden sisään kurssin viimeisestä suorituksesta (yleensä koe tai joskus harjoitustyön deadline). Kokeiden korjauksen tulisi siis valmistua kuukauden määräajassa.&lt;br /&gt;
** Suurilla massakursseilla kokeiden korjaus kestää joskus kauemminkin.&lt;br /&gt;
* Tietojenkäsittelytiede&lt;br /&gt;
** Tietojenkäsittelytieteen laitoksella tulokset löytyvät [https://ilmo.cs.helsinki.fi/tulokset/ tiklistä].&lt;br /&gt;
** TKTL:n luento- ja itseopiskelukursseilla yleensä vaaditaan harjoitusten tekemistä parhaaseen arvosanaan! Suorita kurssi erillistentillä jos et halua tehdä harjoitustehtäviä. On tottakai myös täysin mahdollista käydä luennoilla, tehdä joitain tehtäviä ja osallistua sen jälkeen erillistettiin.&lt;br /&gt;
&lt;br /&gt;
* Matematiikan ja tilastotieteen laitos&lt;br /&gt;
** Matematiikan kurssien tulokset löytyvät matematiikan ja tilastotieteen laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Etusivu wikistä kohdasta koetulokset] (vaatii kirjautumisen)).&lt;br /&gt;
** Matematiikan kursseilla kannattaa kirjautua wikiin ja painaa &amp;quot;watch&amp;quot;-nappullaa kurssisivulta jolloin saat tiedon päivityksistä sähköpostiisi, ja sinun ei tarvitse aina käydä katsomassa onko kokeet jo tarkastettu.&lt;br /&gt;
** Isoilla kursseilla kokeet tarkastetaan yleensä noin kolmessa viikossa.&lt;br /&gt;
** Matematiikan kokeissa harjoitusten tekemisestä saa yleensä lisäpisteitä ja pelkillä kokeilla on mahdollista saada myös parhaita arvosanoja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Suoritusmerkintöjen on ilmestyttävä WebOodiin 2-3 viikon sisään tulosten ilmestymisestä.&lt;br /&gt;
** Monesti tulee jopa tulosten kanssa samoihin aikoihin.&lt;br /&gt;
&lt;br /&gt;
* Joistain kursseista ei saa arvosanaa, vaan pelkän suoritusmerkinnän &amp;quot;hyväksytty&amp;quot;. Esimerkiksi pakolliset kielikurssit ovat yleensä tällaisia.&lt;br /&gt;
&lt;br /&gt;
* Opiskelija on oikeutettu kuulemaan perustelut saamalleen arvosanalle. Omaa koettaan saa myös pyytää nähtäväksi. Jos luennoitsija (tai kokeen korjaaja, mikäli hän on eri henkilö) ei erikseen ilmoita kurssin palauteaikaa, häneen voi ottaa yhteyttä sähköpostilla tai vastaanottoaikana.&lt;br /&gt;
** Tarkista aina myös omat laskuharjoituspisteesi, niiden kirjaamisessa sattuu inhimillisiä vahinkoja. TKTL:n laskuharjoituspisteet näkyvät [https://ilmo.cs.helsinki.fi/tulokset/ tiklistä], matematiikan kursseilla löytyy yleensä linkki kurssin kotisivulta PDF-tiedostoon.&lt;br /&gt;
&lt;br /&gt;
===Yleinen arvosteluasteikko===&lt;br /&gt;
* Tietojenkäsittelytieteen laitos: tehtäviä 3-6&lt;br /&gt;
** 1, läpipääsy, vaatii puolet oikein. Pisteissä siis yleensä 25/50 (kurssikoe) tai 30/60 (erilliskoe)&lt;br /&gt;
** 5, korkein arvosana, vaatii ~50/60 pistettä&lt;br /&gt;
** Loput arvosanat jakautuvat tasaisesti tälle välille&lt;br /&gt;
&lt;br /&gt;
* Matematiikan laitos: 4 tehtävää kurssikokeessa, 5 tehtävää erilliskokeessa&lt;br /&gt;
** 1 läpipääsy: Vaatii puolet oikein, eli kurssikokeessa 12/24 tai erilliskokeessa 15/30.&lt;br /&gt;
** 5, korkein arvosana: Vaatii kurssikokeessa ~20/24 tai erilliskokeessa ~25/30 tai 90% kokeen pisteistä.&lt;br /&gt;
** Harjoitukset antavat yleensä lisäpisteitä eli niitä kannattaa tehdä.&lt;br /&gt;
&#039;&#039;&#039;Arvostelusta päättää aina viimekädessä luennoitsija.&#039;&#039;&#039; Monella kurssilla käytetäänkin &amp;quot;normaalista&amp;quot; poikkeavia pistemääriä tai annetaan esimerkiksi laskareissa paikallaolosta pisteitä tai muuta etua.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7898</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7898"/>
		<updated>2016-03-25T22:45:29Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Huomaa että itseopiskeluversioita ei välttämättä järjestetä joka vuosi!&#039;&#039;&#039; Tarkista tilanne [https://www.cs.helsinki.fi/courses kurssitarjonnasta]&lt;br /&gt;
== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perusopintoja on mahdollista suorittaa myös avoimessa yliopistossa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
Syksyn 2015 itseopiskeluversio sisälsi kahden tunnin pituisen viikottaisen kyselytunnin luennoijan kanssa. Käytännössä luennoija piti 45 min pituisen pikaluennon viikon tärkeimmistä asioista ja loppuaika keskusteltiin. Itseopiskeluversio lähti myös käyntiin viikkoa normaalia luentokurssia hitaammin ja moni Mooc-fuksi suorittikin TiRan ensimmäisenä syksynä, eli jos opiskeluintoa riittää, niin mukaan vaan!&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssien_nimilyhenteet&amp;diff=7897</id>
		<title>Kurssien nimilyhenteet</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssien_nimilyhenteet&amp;diff=7897"/>
		<updated>2016-03-25T22:31:16Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vanhemmat opiskelijat käyttävät kursseista usein lyhenteitä, jotka saattavat olla uusille opiskelijoille kryptisiä. Ohessa yleisimmät.&lt;br /&gt;
&lt;br /&gt;
=== Perusopinnot ja muut opinnot ===&lt;br /&gt;
* Lapio = Tietokone työvälineenä&lt;br /&gt;
* JTKT = Johdatus tietojenkäsittelytieteeseen&lt;br /&gt;
* OhPe = Ohjelmoinnin perusteet&lt;br /&gt;
* OhJa (Java) = Ohjelmoinnin jatkokurssi (ent. Java-ohjelmointi)&lt;br /&gt;
* OTM (OhMa) = Ohjelmistotekniikan menetelmät (ent. Ohjelmistojen mallintamine, Johdatus sovellussuunnitteluun)&lt;br /&gt;
* Javalabra = Ohjelmoinnin harjoitustyö&lt;br /&gt;
* TiKaPe = Tietokantojen perusteet&lt;br /&gt;
&lt;br /&gt;
=== Aineopinnot ===&lt;br /&gt;
* TiTo = Tietokoneen toiminta&lt;br /&gt;
* TiRa = Tietorakenteet ja algoritmit&lt;br /&gt;
* Tiralabra = Tietorakenteiden harjoitustyö&lt;br /&gt;
* Tsoha (TiKaS) = Tietokantasovellus (ent. Tietokantasovellusten harjoitustyö)&lt;br /&gt;
* LaMa = Laskennan mallit&lt;br /&gt;
* RiO = Rinnakkaisohjelmointi (nyk. Käjä)&lt;br /&gt;
* KäJä = Käyttöjärjestelmät&lt;br /&gt;
* LinuxFun = Linux Fundamentals&lt;br /&gt;
* OHa = Ohjelmointihaasteet&lt;br /&gt;
* OhTu = Ohjelmistotuotanto&lt;br /&gt;
* Ohtuprojekti = Ohjelmistotuotantoprojekti&lt;br /&gt;
* Robolabra = Robottiohjelmoinnin harjoitustyö&lt;br /&gt;
* TilPe = Tietoliikenteen perusteet&lt;br /&gt;
* TiKi / Kandi = Tieteellisen kirjottamisen kurssi (nyk. Kandidaatin tutkielma)&lt;br /&gt;
* DiMe = Digitaalisen median tekniikat&lt;br /&gt;
* Käli / HCI = Käyttöliittymät / Human-Computer Interaction&lt;br /&gt;
* JohTek = Johdatus tekoälyyn&lt;br /&gt;
* TiKaSu = Tietokannan suunnittelu&lt;br /&gt;
* Wad = Web-palvelinohjelmointi (&#039;&#039;Web Application Development&#039;&#039;)&lt;br /&gt;
* WeSo = Web-sovellusohjelmointi&lt;br /&gt;
&lt;br /&gt;
=== Syventävät opinnot ===&lt;br /&gt;
* ASA/DAA = Algoritmien suunnittelu ja analyysi / nyk. Design and Analysis of Algorithms&lt;br /&gt;
* DDA = Deterministic Distributed Algorithms&lt;br /&gt;
* DistSys / Haja = Distributed Systems / Hajautetut järjestelmät&lt;br /&gt;
* IML = Introduction to Machine Learning&lt;br /&gt;
* TikRa, Tito 2 = Tietokoneen rakenne&lt;br /&gt;
&lt;br /&gt;
=== Matematiikka ===&lt;br /&gt;
* MaTu = Matematiikka tutuksi&lt;br /&gt;
* JYM = Johdatus yliopistomatematiikkaan&lt;br /&gt;
* Todari = Johdatus todennäköisyyslaskentaan&lt;br /&gt;
* Linis = Lineaarialgebra ja matriisilaskenta (I ja/tai II)&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7896</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7896"/>
		<updated>2016-03-25T22:26:49Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mallilukujärjestys löytyy laitoksen sivuilta osoitteessa http://www.cs.helsinki.fi/opiskelu/mallilukuj-rjestys-luk-ja-fm.&lt;br /&gt;
&lt;br /&gt;
Myös opinto-oppaasta löytyy jotakuinkin vastaava mallilukujärjestys, mutta &#039;&#039;&#039;laitoksen sivujen mallilukujärjestys on aina varmasti ajan tasalla. Tällä sivulla tulkitaan sanallisesti tuota mallilukujärjestystä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Formaalia esitystapaa matematiikka opettaa, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Vaikka mallilukujärjestystä tutkailemalla näyttää siltä, että selviää vain parilla matematiikan kurssilla, ei kannata tuudittautua turvallisuuden tunteeseen. Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseja, vaikka se olisi kuinka ikävää. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö ikinä pärjäisi opinnoissasi. Tarkoituksena on kannustaa opiskelemaan matematiikkaa, koska siitä on vain hyötyä.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska viikottainen tapaamisaika sovitaan ohjaajan kanssa erikseen.&lt;br /&gt;
&lt;br /&gt;
Neuvontapaja järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Jos et ole kuullut tällaisesta mahdollisuudesta, kysy neuvontapajaohjaajilta tai TKO-älyn opintovastaavilta. Jos ensimmäisen syksyn keskeiset kurssit takkuavat, ei kuitenkaan kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
* Katso myös erityinen [[mallilukujärjestys ensimmäiselle syksylle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on välttämätöntä, jos mielii valmistua kolmessa vuodeksi luonnontieteiden kandidaatiksi (LuK). Kurssien esitietoriippuvuuksiin katso [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet riippuvuuskaavio laitoksen sivuilla]. Opinto-oppaan oma versio sisältänee samat tiedot, joskin ainakin toiseksi sekavammassa muodossa.&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Myös Aineopintojen harjoitustyö: Ohjelmointi on välttämätöntä suorittaa viimeistään ensimmäisen vuoden kesällä (Ohjelmistotekniikan menetelmät on esitietovaatimuksena Ohjelmoinnin harjoitustyölle).&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I-II || 8&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || II || 6&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III-IV || 8&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || IV ||  5 + 1 + 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Lisäksi toinen harjoitustyö tulee suorittaa ennen Ohjelmistotuotantoa.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellisen kirjoittamisen kurssi || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
&lt;br /&gt;
=== 1. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|- &lt;br /&gt;
| Tietokone työvälineenä || I || 1&lt;br /&gt;
|- &lt;br /&gt;
| TVT-ajokortti || I || 3&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (OhPe), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (JTKT) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Johdatus yliopistomatematiikkaan (JYM) on myös tärkeä kurssi. JYM on jaettu kahteen periodiin vaikka se on vain 5 opintopisteen kurssi, mutta siitäkin onnistuu putoamaan kärryiltä jos tehtäviä ei tee.&lt;br /&gt;
&lt;br /&gt;
TVT-ajokortti on käytännössä ilmaiset 3 opintopistettä. Muista kuitenkin tehdä esitehtävät jotka vaaditaan kokeeseen.&lt;br /&gt;
&lt;br /&gt;
Ykkösperiodin paniikkihäiriöistä ks. tiivistelmä kakkosperiodin jälkeen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039; voivat ottaa joko Tietorakanteet ja algoritmit TAI Tietokantojen perusteet niin syksystä ei tule liian helppo.&lt;br /&gt;
&lt;br /&gt;
=== 2. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (jatkuu)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (jatkuu)&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kakkosperiodissa tärkeimmät kurssit ovat edelleen Ohjelmoinnin jatkokurssi (OhJa) ja Johdatus yliopistomatematiikkaan (JYM). Edelleen on toki muistettava myös JTKT:n suoritus, sillä sitä ei tässä vaiheessa ainakaan kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Vaikka OhPe vaaditaankin Ohjelmoinnin jatkokurssiin ja Ohjelmistotekniikan menetelmiin (OTM), niin tulokset eivät ole näiden kurssien alkaessa vielä tuleet. Jos OhPesta paukahtaa WebOodiin hylätty, mutta OhJassa ja OhMassa on mukana edes jollain tasolla, niin kumpaakaan ei missään nimessä kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahistaa. Mutta ei hätää! Ota rohkeasti Johdatus diskreettiin matematiikkaan (siihen kannattaakin sitten panostaa), ja lue tässä välissä [[Sivuainekuvauksia|sivuaineita]]!&lt;br /&gt;
&lt;br /&gt;
JYMin ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Ratkomo Ratkomosta] tai JYMin omasta pajasta, koska luennon matemaattisesti kauniit &amp;quot;On olemassa kuvaus siten, että...&amp;quot; voidaan toisinaan korvata vanhemman opiskelijat &amp;quot;Tee näin...&amp;quot;-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Syksylle voi napata jonkin matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. kohta [#Matematiikan sovittaminen malliaikatauluun] alempaa. On myös mahdollista ottaa Matematiikka tutuksi -kurssi.&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia - ei hätää, kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. MaTun suorituksesta ei riipu mikään, joten sen failaaminen on pienin ongelmasi. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JTKT:tä on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja KäJässä), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Erityisen ikävää on, että OhPe - OhJa - TiRa - LaMa - Ohtuprojekti - TiKi -kriittisellä polulla yhdenkin kurssin failaaminen venyttää opintoja poikkeuksetta yli kolmelle vuodelle. Jos olet yritteliäs ja hyvä hallitsemaan aikaasi, voit vielä ottaa klapin kiinni tekemällä 3. vuonna Ohtuprojektin ja TiKin yhtä aikaa. Et ehdi edes jäädä vielä Etappeihin (opintojen etenemisen seurantajärjestelmä, LuK-tutkinnossa kolme on &amp;quot;etappia&amp;quot;, joissa siihenastinen eteneminen tarkastetaan), jos käyt toisen niistä ajallaan ja hoitelet toisen samalla kun aloittelet jo maisterikursseja. Eikä se viidessä vuodessa valmistuminen ole vieläkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Tietorakanteet ja algoritmit jatkuu TAI voit ottaa Tietokoneen toiminnan.&lt;br /&gt;
&lt;br /&gt;
=== 3. periodi (eli kevään 1. periodi) === &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (alkaa) || OhJa, JYM&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmoinnin harjoitustyö || III || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Tietokantojen perusteet || III || 5 || OhPe&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja OhJa) sekä matematiikasta (JYM), on kevään vastaava koitos Tietorakenteet ja algoritmit-kurssi (TiRa). Kurssi kestää koko lukukauden, ja siinä ei pärjää, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa.&lt;br /&gt;
&lt;br /&gt;
Ohjelmointikurssien puuttuminen estää myös harjoitustyöhön osallistumisen. Harjoitustyökursseilla taas keskeyttämistä ei katsota hyvällä, vaan se vaikuttaa ensi kerralla ryhmään pääsemiseen - harjoitustöiden pienryhmäopetus kun on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssilla hyötyy Ohjelmistotekniikan menetelmistä, mutta se ei ole pakollinen esitietovaatimus. Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena Tietokantasovellus-harjoitustyölle, jos sen haluaa suorittaa. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algorimit kannattaa ottaa sinänsä vakavasti, sillä sen suorittamatta jättäminen lisää helposti opiskeluaikaa ainakin puolella vuodella. Jos tietorakenteita ei pääse opiskelemaan tai ohjelmoinnin harjoitustyötä tekemään, otetaan käyttöön sivuainesuunnitelmat ja suoritetaan puuttuvia kursseja (ks. alla). &lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan [http://mathstat.helsinki.fi/opiskelu/ matematiikkaa ja tilastotiedettä], jotta saa pakollisen matematiikan tai [http://www.cs.helsinki.fi/opiskelu/menetelmatieteet/ menetelmätieteiden] sivuainekokonaisuuden kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa. &lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että [http://www.helsinki.fi/kksc/ kielikeskuksen] a) [http://www.helsinki.fi/weboodi ilmoittautumisjärjestelmä] ja b) kursseille ilmoittautumisajat eroavat laitoksen vastaavista). Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät. Tietokantojen perusteisiinkin pääsee neljännessä periodissa, vaikka ohjelmointikursseissa olisi sykysyllä epäonnistunutkin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Etsi sopivia aineopintoja [[Kurssikuvauksia|kurssikuvauksista]]&lt;br /&gt;
&lt;br /&gt;
=== 4. periodi (eli kevään 2. periodi) === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (loppuu) || OhJa, JYM&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus tai muu harjoitustyö || IV || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Sivuaineita/valinnaisia || IV || 5- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aiemmin keväällä napatut sivuaineet voivat jatkua tälle periodille TiRan tapaan. Pyri ottamaan n. 15 op myös tähänkin periodiin.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen selväksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Toista sivuainekokonaisuutta ei pidä myöskään unohtaa, se tulisi aloittaa heti toisen vuoden syksyllä. Laajennettua matematiikan tai menetelmätieteiden sivuainekokonaisuutta (50op) käyvien kannattaa muodostaa näiden aineiden kurssien välille yhtenäinen jatkumo, etteivät asiat tai motivaatio kerkeä välissä jo unohtumaan. Myöskin toisen kotimaisen kielen (~&amp;quot;virkamiesruotsi&amp;quot;) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestyksen tulkitsemisessa jatkoa koskien apua voi kysyä laitoksen opintoneuvonnasta tai TKO-älyn opintovastaavilta.&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus yliopistomatematiikkaan (5 op) pitää käydä tässä (I-II periodit), jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Matematiikka tutuksi (2? op) sisältö tuntuu muuttuvan joka vuosi riippuen kurssin pitäjästä. Jos MaTu jostain syystä järjestetään 5 opintopisteet kokoisena, kannattaa se ehdottomasti ottaa. Kuitenkin kahden opintopisteen kokoinen versiota ei ole mahdollista sisällyttää mihinkään muuhun kurssiin tasan 5 op kokoiseksi paketiksi.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Analyysi I, (10 op / 2 periodia) on harkitsemisen arvoinen vaihtoehto, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Analyysi I:en sisältö ei ole yhtä relevanttia kuin Lineaarialgebra ja matriisilasekenta I:n, mutta matikan perusfuksikurssina se opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto. Huomaa, että kestää kaksi periodia, eikä sitä voi suorittaa osissa. Analyysi I on myös selkeästi työläin vaihtoehdoista.&lt;br /&gt;
** (Analyysin virtuaalinen peruskurssi ja Matemaattisen analyysin kurssi eivät ole erityisen suositeltavia vaihtoehtoja, koska analyysi aiheena ei ole erityisen hyödyllistä tietojenkäsittelytieteessä. Näillä kursseilla ei myöskään ole Analyysi I:n tarjoamaa teorian ymmärtämispainotteisuutta, vaan ne painottuvat enemmän laskemiseen.)&lt;br /&gt;
** Tilastotieteen johdantokurssi (osa 1, 4op), jos ei kaipaa johdatusta matematiikkaan ja uskoo kiinnostuvansa tilastotieteen opiskelusta.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotieteen johdantokurssi (osa 2, 6 op) turnauskestävyyden riittäessä ykkösosan suorittaneille.&lt;br /&gt;
*** Analyysi I:n loppu, jos sen on itselleen manannut; kurssista  ei saa välisuorituksia, joten se on tupla (10) tai kuitti (0).&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka I, 10 op&lt;br /&gt;
** Tai Tilastotieteen jatkokurssi, 10 op, tai johdantokurssin kevätversio jos et ehtinyt sitä jo käydä.&lt;br /&gt;
** Tai Johdatus todennäköisyyslaskentaan (III), 5 op. Mahdollisesti myös Johdatus tilastolliseen päättelyyn (IV), 5 op. Ensimmäinen tarkoittaa suhteellisen helppoja opintopisteitä, jälkimmäinen näistä on vaikea. Valitse jälkimmäinen vain, jos rahkeet riittävät tässä vaiheessa. Esitietoina kurssille käytännössä on integraalilaskennan osaaminen, joko lukion pitkän matematiikan pohjalta tai Analyysi I:stä tai Analyysin peruskurssista. Johdatus todennäköisyyslaskentaan -kurssille sen sijana voi kävellä lukiopohjalta.&lt;br /&gt;
&lt;br /&gt;
TKT:n Tietorakenteet-kurssi on mallilukujärjestyksessä 1. keväänä, ja siellä matematiikan pohjista on välitöntä apua. Perusopiskelija ehtii siis siihen mennessä käydä suunnilleen MaTun tai jonkin hiukan haastavamman kurssin, Johdatuksen diskreettiin matematiikkaan ja samanaikaisesti Tiran kanssa esim. Logiikka I:stä.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
* Algebra I, jos Johdatus diskreettiin matematiikkaan ei ahdistanut tai Linis I ja/tai Analyysi I on jo käyty&lt;br /&gt;
* Tilastotieteen jatkokurssi, tai Data-analyysi, tai Monimuuttujamenetelmät, tai... ks. [[Sivuainekuvauksia#Tilastotiede]]&lt;br /&gt;
* Johdatus todennäköisyyslaskentaan ja Johdatus tilastolliseen päättelyyn&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7895</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7895"/>
		<updated>2016-03-25T22:22:33Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mallilukujärjestys löytyy laitoksen sivuilta osoitteessa http://www.cs.helsinki.fi/opiskelu/mallilukuj-rjestys-luk-ja-fm.&lt;br /&gt;
&lt;br /&gt;
Myös opinto-oppaasta löytyy jotakuinkin vastaava mallilukujärjestys, mutta &#039;&#039;&#039;laitoksen sivujen mallilukujärjestys on aina varmasti ajan tasalla. Tällä sivulla tulkitaan sanallisesti tuota mallilukujärjestystä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Formaalia esitystapaa matematiikka opettaa, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Vaikka mallilukujärjestystä tutkailemalla näyttää siltä, että selviää vain parilla matematiikan kurssilla, ei kannata tuudittautua turvallisuuden tunteeseen. Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseja, vaikka se olisi kuinka ikävää. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö ikinä pärjäisi opinnoissasi. Tarkoituksena on kannustaa opiskelemaan matematiikkaa, koska siitä on vain hyötyä.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska viikottainen tapaamisaika sovitaan ohjaajan kanssa erikseen.&lt;br /&gt;
&lt;br /&gt;
Neuvontapaja järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Jos et ole kuullut tällaisesta mahdollisuudesta, kysy neuvontapajaohjaajilta tai TKO-älyn opintovastaavilta. Jos ensimmäisen syksyn keskeiset kurssit takkuavat, ei kuitenkaan kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
* Katso myös erityinen [[mallilukujärjestys ensimmäiselle syksylle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on välttämätöntä, jos mielii valmistua kolmessa vuodeksi luonnontieteiden kandidaatiksi (LuK). Kurssien esitietoriippuvuuksiin katso [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet riippuvuuskaavio laitoksen sivuilla]. Opinto-oppaan oma versio sisältänee samat tiedot, joskin ainakin toiseksi sekavammassa muodossa.&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Myös Aineopintojen harjoitustyö: Ohjelmointi on välttämätöntä suorittaa viimeistään ensimmäisen vuoden kesällä (Ohjelmistotekniikan menetelmät on esitietovaatimuksena Ohjelmoinnin harjoitustyölle).&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I-II || 8&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || II || 6&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III-IV || 8&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || IV ||  5 + 1 + 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Lisäksi toinen harjoitustyö tulee suorittaa ennen Ohjelmistotuotantoa.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellisen kirjoittamisen kurssi || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
&lt;br /&gt;
=== 1. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|- &lt;br /&gt;
| Tietokone työvälineenä || I || 1&lt;br /&gt;
|- &lt;br /&gt;
| TVT-ajokortti || I || 3&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (OhPe), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (JTKT) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Johdatus yliopistomatematiikkaan (JYM) on myös tärkeä kurssi. JYM on jaettu kahteen periodiin vaikka se on vain 5 opintopisteen kurssi, mutta siitäkin onnistuu putoamaan kärryiltä jos tehtäviä ei tee.&lt;br /&gt;
&lt;br /&gt;
TVT-ajokortti on käytännössä ilmaiset 3 opintopistettä. Muista kuitenkin tehdä esitehtävät jotka vaaditaan kokeeseen.&lt;br /&gt;
&lt;br /&gt;
Ykkösperiodin paniikkihäiriöistä ks. tiivistelmä kakkosperiodin jälkeen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039; voivat ottaa joko Tietorakanteet ja algoritmit TAI Tietokantojen perusteet niin syksystä ei tule liian helppo.&lt;br /&gt;
&lt;br /&gt;
=== 2. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + englanti || I-II || 5 + 4 (jatkuu)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5 (jatkuu)&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kakkosperiodissa tärkeimmät kurssit ovat edelleen Ohjelmoinnin jatkokurssi (OhJa) ja Johdatus yliopistomatematiikkaan (JYM). Edelleen on toki muistettava myös JTKT:n suoritus, sillä sitä ei tässä vaiheessa ainakaan kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Vaikka OhPe vaaditaankin Ohjelmoinnin jatkokurssiin ja Ohjelmistotekniikan menetelmiin (OTM), niin tulokset eivät ole näiden kurssien alkaessa vielä tuleet. Jos OhPesta paukahtaa WebOodiin hylätty, mutta OhJassa ja OhMassa on mukana edes jollain tasolla, niin kumpaakaan ei missään nimessä kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahistaa. Mutta ei hätää! Ota rohkeasti Johdatus diskreettiin matematiikkaan (siihen kannattaakin sitten panostaa), ja lue tässä välissä [[Sivuainekuvauksia|sivuaineita]]!&lt;br /&gt;
&lt;br /&gt;
JYMin ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Ratkomo Ratkomosta] tai JYMin omasta pajasta, koska luennon matemaattisesti kauniit &amp;quot;On olemassa kuvaus siten, että...&amp;quot; voidaan toisinaan korvata vanhemman opiskelijat &amp;quot;Tee näin...&amp;quot;-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Syksylle voi napata jonkin matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. kohta [#Matematiikan sovittaminen malliaikatauluun] alempaa. On myös mahdollista ottaa Matematiikka tutuksi -kurssi.&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia - ei hätää, kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. MaTun suorituksesta ei riipu mikään, joten sen failaaminen on pienin ongelmasi. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JTKT:tä on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja KäJässä), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Erityisen ikävää on, että OhPe - OhJa - TiRa - LaMa - Ohtuprojekti - TiKi -kriittisellä polulla yhdenkin kurssin failaaminen venyttää opintoja poikkeuksetta yli kolmelle vuodelle. Jos olet yritteliäs ja hyvä hallitsemaan aikaasi, voit vielä ottaa klapin kiinni tekemällä 3. vuonna Ohtuprojektin ja TiKin yhtä aikaa. Et ehdi edes jäädä vielä Etappeihin (opintojen etenemisen seurantajärjestelmä, LuK-tutkinnossa kolme on &amp;quot;etappia&amp;quot;, joissa siihenastinen eteneminen tarkastetaan), jos käyt toisen niistä ajallaan ja hoitelet toisen samalla kun aloittelet jo maisterikursseja. Eikä se viidessä vuodessa valmistuminen ole vieläkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Tietorakanteet ja algoritmit jatkuu TAI voit ottaa Tietokoneen toiminnan.&lt;br /&gt;
&lt;br /&gt;
=== 3. periodi (eli kevään 1. periodi) === &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (alkaa) || OhJa, JYM&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmoinnin harjoitustyö || III || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Tietokantojen perusteet || III || 5 || OhPe&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja OhJa) sekä matematiikasta (JYM), on kevään vastaava koitos Tietorakenteet ja algoritmit-kurssi (TiRa). Kurssi kestää koko lukukauden, ja siinä ei pärjää, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa.&lt;br /&gt;
&lt;br /&gt;
Ohjelmointikurssien puuttuminen estää myös harjoitustyöhön osallistumisen. Harjoitustyökursseilla taas keskeyttämistä ei katsota hyvällä, vaan se vaikuttaa ensi kerralla ryhmään pääsemiseen - harjoitustöiden pienryhmäopetus kun on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssilla hyötyy Ohjelmistotekniikan menetelmistä, mutta se ei ole pakollinen esitietovaatimus. Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena Tietokantasovellus-harjoitustyölle, jos sen haluaa suorittaa. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet ja algorimit kannattaa ottaa sinänsä vakavasti, sillä sen suorittamatta jättäminen lisää helposti opiskeluaikaa ainakin puolella vuodella. Jos tietorakenteita ei pääse opiskelemaan tai ohjelmoinnin harjoitustyötä tekemään, otetaan käyttöön sivuainesuunnitelmat ja suoritetaan puuttuvia kursseja (ks. alla). &lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan [http://mathstat.helsinki.fi/opiskelu/ matematiikkaa ja tilastotiedettä], jotta saa pakollisen matematiikan tai [http://www.cs.helsinki.fi/opiskelu/menetelmatieteet/ menetelmätieteiden] sivuainekokonaisuuden kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa. &lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että [http://www.helsinki.fi/kksc/ kielikeskuksen] a) [http://www.helsinki.fi/weboodi ilmoittautumisjärjestelmä] ja b) kursseille ilmoittautumisajat eroavat laitoksen vastaavista). Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät. Tietokantojen perusteisiinkin pääsee neljännessä periodissa, vaikka ohjelmointikursseissa olisi sykysyllä epäonnistunutkin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mooc-fuksit&#039;&#039;&#039;: Etsi sopivia aineopintoja [[Kurssikuvauksia|kurssikuvauksista]]&lt;br /&gt;
&lt;br /&gt;
=== 4. periodi (eli kevään 2. periodi) === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10 (loppuu) || OhJa, JYM&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus tai muu harjoitustyö || IV || 5 || OhJa, OTM&lt;br /&gt;
|- &lt;br /&gt;
| Sivuaineita/valinnaisia || IV || 5- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aiemmin keväällä napatut sivuaineet voivat jatkua tälle periodille TiRan tapaan. Pyri ottamaan n. 15 op myös tähänkin periodiin.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen selväksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Toista sivuainekokonaisuutta ei pidä myöskään unohtaa, se tulisi aloittaa heti toisen vuoden syksyllä. Laajennettua matematiikan tai menetelmätieteiden sivuainekokonaisuutta (50op) käyvien kannattaa muodostaa näiden aineiden kurssien välille yhtenäinen jatkumo, etteivät asiat tai motivaatio kerkeä välissä jo unohtumaan. Myöskin toisen kotimaisen kielen (~&amp;quot;virkamiesruotsi&amp;quot;) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestyksen tulkitsemisessa jatkoa koskien apua voi kysyä laitoksen opintoneuvonnasta tai TKO-älyn opintovastaavilta.&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Tilaa on mallilukujärjestyksen suositusten jälkeen yhteensä 2 op ykkösperiodille painottuen.&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
* Yksi seuraavista vaihtoehdoista&lt;br /&gt;
** Matematiikka tutuksi (5 op) on ensisijainen valinta ykkösperiodin matematiikan kurssiksi. Kurssi on kevyt johdatus matematiikan maailmaan ja sisältää kertausta sekä johdattelua yliopistomatematiikkaan. Se kannattaa ehdottomasti ottaa, ellei sitten välttämättä halua heti jotain haastavampaa vaihtoehtoa. Kurssi menee osittain sisällöltään ylempänä mainitun lukiomatikan kertauskurssin päälle, mutta kurssit kannattaa lähinnä nähdä toisiaan tukevina.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Analyysi I, (10 op / 2 periodia) on harkitsemisen arvoinen vaihtoehto, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Analyysi I:en sisältö ei ole yhtä relevanttia kuin Lineaarialgebra ja matriisilasekenta I:n, mutta matikan perusfuksikurssina se opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto. Huomaa, että kestää kaksi periodia, eikä sitä voi suorittaa osissa. Analyysi I on myös selkeästi työläin vaihtoehdoista.&lt;br /&gt;
** (Analyysin virtuaalinen peruskurssi ja Matemaattisen analyysin kurssi eivät ole erityisen suositeltavia vaihtoehtoja, koska analyysi aiheena ei ole erityisen hyödyllistä tietojenkäsittelytieteessä. Näillä kursseilla ei myöskään ole Analyysi I:n tarjoamaa teorian ymmärtämispainotteisuutta, vaan ne painottuvat enemmän laskemiseen.)&lt;br /&gt;
** Tilastotieteen johdantokurssi (osa 1, 4op), jos ei kaipaa johdatusta matematiikkaan ja uskoo kiinnostuvansa tilastotieteen opiskelusta.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus diskreettiin matematiikkaan (5 op) pitää käydä tässä, jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Lisäksi 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotieteen johdantokurssi (osa 2, 6 op) turnauskestävyyden riittäessä ykkösosan suorittaneille.&lt;br /&gt;
*** Analyysi I:n loppu, jos sen on itselleen manannut; kurssista  ei saa välisuorituksia, joten se on tupla (10) tai kuitti (0).&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka I, 10 op&lt;br /&gt;
** Tai Tilastotieteen jatkokurssi, 10 op, tai johdantokurssin kevätversio jos et ehtinyt sitä jo käydä.&lt;br /&gt;
** Tai Johdatus todennäköisyyslaskentaan (III), 5 op. Mahdollisesti myös Johdatus tilastolliseen päättelyyn (IV), 5 op. Ensimmäinen tarkoittaa suhteellisen helppoja opintopisteitä, jälkimmäinen näistä on vaikea. Valitse jälkimmäinen vain, jos rahkeet riittävät tässä vaiheessa. Esitietoina kurssille käytännössä on integraalilaskennan osaaminen, joko lukion pitkän matematiikan pohjalta tai Analyysi I:stä tai Analyysin peruskurssista. Johdatus todennäköisyyslaskentaan -kurssille sen sijana voi kävellä lukiopohjalta.&lt;br /&gt;
&lt;br /&gt;
TKT:n Tietorakenteet-kurssi on mallilukujärjestyksessä 1. keväänä, ja siellä matematiikan pohjista on välitöntä apua. Perusopiskelija ehtii siis siihen mennessä käydä suunnilleen MaTun tai jonkin hiukan haastavamman kurssin, Johdatuksen diskreettiin matematiikkaan ja samanaikaisesti Tiran kanssa esim. Logiikka I:stä.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
* Algebra I, jos Johdatus diskreettiin matematiikkaan ei ahdistanut tai Linis I ja/tai Analyysi I on jo käyty&lt;br /&gt;
* Tilastotieteen jatkokurssi, tai Data-analyysi, tai Monimuuttujamenetelmät, tai... ks. [[Sivuainekuvauksia#Tilastotiede]]&lt;br /&gt;
* Johdatus todennäköisyyslaskentaan ja Johdatus tilastolliseen päättelyyn&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7894</id>
		<title>Opintojen malliaikataulu</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Opintojen_malliaikataulu&amp;diff=7894"/>
		<updated>2016-03-25T21:45:47Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Kriittinen polku ja kurssien riippuvuudet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mallilukujärjestys löytyy laitoksen sivuilta osoitteessa http://www.cs.helsinki.fi/opiskelu/mallilukuj-rjestys-luk-ja-fm.&lt;br /&gt;
&lt;br /&gt;
Myös opinto-oppaasta löytyy jotakuinkin vastaava mallilukujärjestys, mutta &#039;&#039;&#039;laitoksen sivujen mallilukujärjestys on aina varmasti ajan tasalla. Tällä sivulla tulkitaan sanallisesti tuota mallilukujärjestystä.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestys? ==&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestys kertoo, miten kursseja pitää ottaa, jotta valmistuisi kolmessa vuodessa luonnontieteen kandidaatiksi ilman suurempia vaikeuksia. Käpistelykurssit riippuvat tiedollisesti toisistaan varsin paljon, joten oikeaan suoritusjärjestykseen pitää kiinnittää huomiota enemmän kuin muissa aineissa. Formaalisti (matemaattisesti) ilmaistut teoria-asiat ovat myös varsin haastavia, varsinkin jos pohjalla ei ole pitkän matematiikan tai muiden muodollista ajattelua kehittävien aineiden opintoja lukiosta. Koneet eivät tajua epätäsmällistä selitystä, joten meidän pitää opetella muotoilemaan asioita mahdollisimman yksiselitteisesti ja etenemään systemaattisesti. Formaalia esitystapaa matematiikka opettaa, ja siksi siitä meuhkataan niin paljon.&lt;br /&gt;
&lt;br /&gt;
Vaikka mallilukujärjestystä tutkailemalla näyttää siltä, että selviää vain parilla matematiikan kurssilla, ei kannata tuudittautua turvallisuuden tunteeseen. Monella kurssilla oletetaan esitietoina edellämainittua formaalista ajattelutapaa. Tämä tarkoittaa, että vaikka pakollista matematiikkaa on varsin vähän, käpistelijälle saattaa olla hyödyllistä istua enemmänkin matematiikan kursseja, vaikka se olisi kuinka ikävää. On siis tärkeää tiedostaa, että tietyntasoinen matematiikan osaaminen vaaditaan implisiittisesti tietojenkäsittelytieteen opinnoissa. Tämä ei tarkoita ettetkö ikinä pärjäisi opinnoissasi. Tarkoituksena on kannustaa opiskelemaan matematiikkaa, koska siitä on vain hyötyä.&lt;br /&gt;
&lt;br /&gt;
Pakollisia kursseja järjestetään vähintään kerran vuodessa, pääasiassa silloin kun ne on sijoitettu mallilukujärjestykseen. Perusopintojen kursseja järjestetään useimmin. Kesäisin voi käydä ilmaiseksi opintoja Avoimessa yliopistossa (myös TKT:n perusopintokursseja), ja laitoksen omassa kesäopetuksessa harjoitustyökursseja (Ohjelmoinnin harjoitustyö, Tietokantasovellus, Tietorakenteiden harjoitustyö ja Ohjelmistotuotantoprojekti). Tässä kohtaa kannattaa taktikoida ja vähentää omaa työtaakkaa lukuvuoden aikana, koska edellämainittuja kursseja voi lähes varmuudella suorittaa myös kesäisin. Harjoitustyökurssit sopivat hyvin myös kesätöiden oheen suoritettavaksi, koska viikottainen tapaamisaika sovitaan ohjaajan kanssa erikseen.&lt;br /&gt;
&lt;br /&gt;
Neuvontapaja järjestää tukiopetusta keskeisissä ja vaikeaksi todetuissa kursseissa. Jos et ole kuullut tällaisesta mahdollisuudesta, kysy neuvontapajaohjaajilta tai TKO-älyn opintovastaavilta. Jos ensimmäisen syksyn keskeiset kurssit takkuavat, ei kuitenkaan kannata iskeä kirvestä kiveen vaan ottaa käyttöön [[Sivuainekuvauksia]].&lt;br /&gt;
&lt;br /&gt;
* Katso myös erityinen [[mallilukujärjestys ensimmäiselle syksylle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kriittinen polku ja kurssien riippuvuudet ==&lt;br /&gt;
&lt;br /&gt;
Kriittiseen polkuun kuuluvat kaikki kurssit, joiden läpäisy ajoissa on välttämätöntä, jos mielii valmistua kolmessa vuodeksi luonnontieteiden kandidaatiksi (LuK). Kurssien esitietoriippuvuuksiin katso [https://www.cs.helsinki.fi/opiskelu/luk-tutkinnon-pakollisten-kurssien-v-liset-esitietoriippuvuudet riippuvuuskaavio laitoksen sivuilla]. Opinto-oppaan oma versio sisältänee samat tiedot, joskin ainakin toiseksi sekavammassa muodossa.&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + Englanti || I-II || 5 + 4&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistotekniikan menetelmät || II || 5&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus yliopistomatematiikkaan || I-II || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || III-IV || 8-10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Myös Aineopintojen harjoitustyö: Ohjelmointi on välttämätöntä suorittaa viimeistään ensimmäisen vuoden kesällä (Ohjelmistotekniikan menetelmät on esitietovaatimuksena Ohjelmoinnin harjoitustyölle).&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || I-II || 8&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || II || 6&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || III-IV || 8&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || IV ||  5 + 1 + 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Lisäksi toinen harjoitustyö tulee suorittaa ennen Ohjelmistotuotantoa.&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || I-II || 10&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellisen kirjoittamisen kurssi || III-IV || 10&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
Näiden lisäksi tavoiteajassa valmistumiseen vaaditaan myös kaikkien muiden kurssien, sivuaineiden ja erityisesti toisen kotimaisen kielen suorittaminen kolmessa vuodessa.&lt;br /&gt;
&lt;br /&gt;
== Mallilukujärjestyksen tulkitseminen ensimmäisenä vuotena ==&lt;br /&gt;
&lt;br /&gt;
=== 1. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + opiskelutekniikka + englanti || I-II || (alkaa)&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || I || 5&lt;br /&gt;
|- &lt;br /&gt;
| Tietokone työvälineenä || I || 1&lt;br /&gt;
|- &lt;br /&gt;
| TVT-ajokortti || I || 3&lt;br /&gt;
|- &lt;br /&gt;
| Matematiikka tutuksi || I || 5&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periodin tärkein kurssi on ehdottomasti Ohjelmoinnin perusteet (&amp;quot;OhPe&amp;quot;), johon kannattaa panostaa kaikista eniten. Myös Johdatus tietojenkäsittelytieteeseen -kurssin (&amp;quot;JTKT&amp;quot;) suorittaminen myöhemmin saattaa aiheuttaa hiusten halkomista, ja se olisi hyvä suorittaa heti opintojen alussa tarvittaessa vaikka pelkällä vihalla. Matematiikka tutuksi -kurssi toimii johdatuksena yliopistomatematiikkaan ja helpottaa toisen periodin Johdatus diskreettiin matematiikan -kurssin suorittamista, jonka läpäiseminen heti ensimmäisenä syksynä on myös erittäin kriittistä.&lt;br /&gt;
&lt;br /&gt;
Matematiikka tutuksi -kurssi (&amp;quot;MaTu&amp;quot;) ei ole varsinainen lukiomatematiikan kertauskurssi, vaan sen on tarkoitus tutustuttaa yliopistossa opetettavaan matematiikkaan. Matematiikka tutuksi -kurssi kannattaa ehdottomasti käydä, vaikka uskottelisikin ongelmanratkaisutaitonsa olevan kunnossa. Kurssista saa kyllä opintopisteet palauttamalla tietyn määrän tehtäviä, ja kokeeseen ei tarvitse tällöin osallistua. Enemmistö suorittaa MaTu:n nimenomaan tekemällä vaaditun määrän laskuharjoitustehtäviä.&lt;br /&gt;
&lt;br /&gt;
Ykkösperiodin paniikkihäiriöistä ks. tiivistelmä kakkosperiodin jälkeen.&lt;br /&gt;
&lt;br /&gt;
=== 2. periodi === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen + opiskelutekniikka + englanti || I-II || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || II || 4 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmistojen mallintaminen || II || 4 || OhPe&lt;br /&gt;
|- &lt;br /&gt;
| Johdatus diskreettiin matematiikkaan || II || 5 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kakkosperiodissa tärkeimmät kurssit ovat Johdatus diskreettiin matematiikkaan (&amp;quot;diskis&amp;quot;) ja Ohjelmoinnin jatkokurssi (&amp;quot;OhJa&amp;quot;). Edelleen on toki muistettava myös JTKT:n suoritus. Johdatus diskreettiin matematiikkaan -kurssin sisältö on jotakuinkin seuraava: induktio, vähän joukko-oppia, vähän kombinatoriikkaa, vähän verkkoja ja todistamista.&lt;br /&gt;
&lt;br /&gt;
Vaikka OhPe vaaditaankin Ohjelmoinnin jatkokurssiin ja Ohjelmistojen mallintamiseen (&amp;quot;OhMa&amp;quot;), niin tulokset eivät ole näiden kurssien alkaessa vielä tuleet. Jos OhPesta paukahtaa WebOodiin hylätty, mutta OhJassa ja OhMassa on mukana edes jollain tasolla, niin kumpaakaan ei missään nimessä kannata jättää kesken.&lt;br /&gt;
&lt;br /&gt;
Kaksi kakkosperiodin käpistelykurssia riippuu OhPessa opitusta, joten jos se ei mennyt asian vaikeudesta johtuen ensiyrittämällä läpi, voi tässä vaiheessa alkaa ahistaa. Mutta ei hätää! Ota rohkeasti Johdatus diskreettiin matematiikkaan (siihen kannattaakin sitten panostaa), ja lue tässä välissä [[Sivuainekuvauksia|sivuaineita]]!&lt;br /&gt;
&lt;br /&gt;
Diskiksen ongelmiin kannattaa kysyä apua muilta opiskelijoilta ja vaikka matematiikan laitoksen [http://wiki.helsinki.fi/display/mathstatOpiskelu/Laskupaja laskupajasta], koska luennon matemaattisesti kauniit &amp;quot;On olemassa kuvaus siten, että...&amp;quot; voidaan toisinaan korvata vanhemman opiskelijat &amp;quot;Tee näin...&amp;quot;-ohjeilla.&lt;br /&gt;
&lt;br /&gt;
Jos saat koko syksyn paketin, mukaanlukien Matematiikka tutuksi (tai muu matematiikan kurssi), läpi, olet suorittanut 10 + 5 + 1 + 3 + 5 + 4 + 4 + 5 = 37 op, mikä on jo yli 7 op optimaalisen suoritustahdin - onneksi olkoon, tästä on hyvä jatkaa! Syksylle voi napata MaTun tilalle jonkin muun matematiikan alkupään kurssin (esim. Lineaarialgebra ja matriisilaskenta I), ja jos taustalla on vahva pitkä matematiikka, se voi mennä suhteellisen vähällä vaivalla läpi. Ks. kohta [#Matematiikan sovittaminen malliaikatauluun] alempaa.&lt;br /&gt;
&lt;br /&gt;
Jos ykkösperiodissa alkaa pahasti ahdistaa, ja koko periodi on hajoamassa käsiin, on pakko tehdä priorisointia - ei hätää, kokemasi angsti ja sen hallinnan opettelu ovat yksi keskeisistä yliopisto-opiskelun anneista. MaTun suorituksesta ei riipu mikään, joten sen failaaminen on pienin ongelmasi. Ohjelmoinnin perusteista riippuu huomattava osa kakkosperiodia, joten jos et ole täysin pihalla, älä päästä sitä leviämään käsille pelkän akuutin ajanpuutteen vuoksi. JTKT:tä on vähemmän mielenkiintoista suorittaa uudestaan myöhemmin, mutta sen varsinaisesta suoritusmerkinnästä ei mikään muu kurssi riipu.&lt;br /&gt;
&lt;br /&gt;
Jos ohjelmoinnin teoria aiheuttaa oikeasti paniikkihäiriöitä, kannattaa ottaa JTKT:stä nopat irti työvoitolla, antaa aivoilleen lisäaikaa omaksua ohjelmoinnin vaatima haasteellinen uusi ajattelutapa, ja lohduttautua sillä että aihepiirin kurssien kriittisellä polulla tulee betoniseinää vastaan jossain vaiheessa joka tapauksessa (yleensä TiRassa, LaMassa ja Riossa), jos et anna abstraktiin ajatteluun opettelemiselle sen tarvitsemaa aikaa. Erityisen ikävää on, että OhPe - OhJa - TiRa - LaMa - Ohtuprojekti - TiKi -kriittisellä polulla yhdenkin kurssin failaaminen venyttää opintoja poikkeuksetta yli kolmelle vuodelle. Jos olet yritteliäs ja hyvä hallitsemaan aikaasi, voit vielä ottaa klapin kiinni tekemällä 3. vuonna Ohtuprojektin ja TiKin yhtä aikaa. Et ehdi edes jäädä vielä Etappeihin (opintojen etenemisen seurantajärjestelmä, LuK-tutkinnossa kolme on &amp;quot;etappia&amp;quot;, joissa siihenastinen eteneminen tarkastetaan), jos käyt toisen niistä ajallaan ja hoitelet toisen samalla kun aloittelet jo maisterikursseja. Eikä se viidessä vuodessa valmistuminen ole vieläkään pakollista, siihen vain painostetaan yhteiskunnan puolelta enemmän kuin ennen, mikä nyt ei liene yllätys kenellekään. Vältät hukkaamasta opiskeluaikaasi käymällä tässä välissä [[Sivuainekuvauksia|sivuainekursseja]].&lt;br /&gt;
&lt;br /&gt;
=== 3. periodi (eli kevään 1. periodi) === &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet || III-IV || (alkaa) || OhJa, Diskis&lt;br /&gt;
|- &lt;br /&gt;
| Ohjelmoinnin harjoitustyö || IV || 4 || OhJa, OhMa &lt;br /&gt;
|- &lt;br /&gt;
| Tietokantojen perusteet || III || 4 || OhPe&lt;br /&gt;
|-&lt;br /&gt;
| Sivuaineita/valinnaisia || III || 2- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Jos syksyn suuri puristus muodostuu ohjelmointikursseista (OhPe ja Java) sekä matematiikasta (Diskis), on kevään vastaava koitos Tietorakenteet-kurssi. Kurssi kestää koko lukukauden, ja sinne ei pääse, jos esitietovaatimukset, eli syksyn rutistuskurssit, eivät ole kunnossa (taidot voi vaatimusten uupuessa osoittaa erillisessä esitietokokeessa).&lt;br /&gt;
&lt;br /&gt;
Ohjelmointikurssien puuttuminen estää myös harjoitustyöhön osallistumisen. Harjoitustyökursseilla taas keskeyttämistä ei katsota hyvällä, vaan se vaikuttaa ensi kerralla ryhmään pääsemiseen - harjoitustöiden pienryhmäopetus kun on kallista järjestää.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssilla hyötyy Johdatus diskreettiin matematiikkaan -kurssista, mutta se ei ole pakollinen esitietovaatimus. Tietokantojen perusteissa käsitellään SQL-kielen ja relaatioalgebran alkeita ja tietokantojen suunnittelua. Useimmat eivät koe näitä vaikeiksi asioiksi. Tietokantojen perusteet itsessään on esitietovaatimuksena neljännen periodin Tietokantasovellus-harjoitustyölle. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet kannattaa ottaa sinänsä vakavasti, että sitä tarjotaan kurssina vain kerran vuodessa. Jos tietorakenteita ei pääse opiskelemaan tai ohjelmoinnin harjoitustyötä tekemään, otetaan käyttöön sivuainesuunnitelmat ja suoritetaan puuttuvia kursseja (ks. alla). &lt;br /&gt;
&lt;br /&gt;
Sivuaineopinnoissa kannattaa suosia turnauskestävyytensä mukaan [http://mathstat.helsinki.fi/opiskelu/ matematiikkaa ja tilastotiedettä], jotta saa pakollisen matematiikan tai [http://www.cs.helsinki.fi/opiskelu/menetelmatieteet/ menetelmätieteiden] sivuainekokonaisuuden kasaan. Matematiikan harjoittelusta on hyötyä erityisesti opintojen alkuvaiheessa, kun teorian pyörittelyyn ei ole vielä syntynyt rutiinia. Loppuvaiheessa niitä on tylsempää kasata kokoon mielenkiintoisten käpistelykurssien sivussa. &lt;br /&gt;
&lt;br /&gt;
Sivuaineopintojen lisäksi kannattaa tällöin tähdätä myös pakollisen toisen kotimaisen kielen (useimmille ruotsi) suorittamiseen pois alta. Huomaa, että [http://www.helsinki.fi/kksc/ kielikeskuksen] a) [http://www.helsinki.fi/weboodi ilmoittautumisjärjestelmä] ja b) [https://alma.helsinki.fi/doclink/97990 kursseille ilmoittautumisajat] eroavat laitoksen vastaavista). Vaihtoehtoisesti voi vilkuilla jo joitakin tietojenkäsittelytieteen vapaavalintaisia kursseja, jos esitiedot niihin täyttyvät. Esimerkiksi keväällä järjestettävässä Käyttöliittymät -kurssissa ei ole esitietoja. Tietokantojen perusteisiinkin pääsee neljännessä periodissa, vaikka ohjelmointikursseissa olisi  sykysyllä epäonnistunutkin.&lt;br /&gt;
&lt;br /&gt;
Ilman sivuainetäydennystä tai valinnaisten aineopintojen suorittamista kevään ensimmäisestä periodista irtoaa 8/2 + 4 + 4 = 12 op (Tietorakenteet puolitettu), mikä alittaa suositustahdin 15 op -kertymän kolmella opintopisteellä.&lt;br /&gt;
&lt;br /&gt;
=== 4. periodi (eli kevään 2. periodi) === &lt;br /&gt;
{| border=&amp;quot;1px&amp;quot;&lt;br /&gt;
! width=&amp;quot;250px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kurssi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Periodi&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Op&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;75px&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Esitiedot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet || III-IV || 8 || OhJa, Diskis&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || IV || 4 || &lt;br /&gt;
|- &lt;br /&gt;
| Sivuaineita/valinnaisia || IV || 6- ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aiemmin keväällä napatut sivuaineet voivat jatkua tälle periodille TiRan tapaan. Ilman sivuainekursseja tai vapaavalintaisilla aineopintoja kakkosperiodista tulee 8/2 + 4 = 8 op. Ilman mitään sivuaine- tms. täydennyksiä koko keväänä kevään opintopistekertymä jää 20 opintopisteeseen, siis kymmentä vaille suositellusta 30 opintopisteestä. Tämä jättää tilaa syksyllä epäonnistuneiden kurssien suorittamiseen. Kannattaa myös suorittaa sivuaineita (matematiikan tai menetelmätieteen kokonaisuutta) tai mielenkiintoisia tietojenkäsittelytieteen aineopintoja jo tässä vaiheessa.&lt;br /&gt;
&lt;br /&gt;
Jos mallilukujärjestyksessä on onnistunut pysymään tähän asti, kurssityypit ja työmäärät ovat tulleet jo suhteellisen selväksi. Tämän jälkeen opintojen suorittaminen mallilukujärjestyksen mukaan on vain sen kurinalaista noudattamista. Toista sivuainekokonaisuutta ei pidä myöskään unohtaa, se tulisi aloittaa heti toisen vuoden syksyllä. Laajennettua matematiikan tai menetelmätieteiden sivuainekokonaisuutta (50op) käyvien kannattaa muodostaa näiden aineiden kurssien välille yhtenäinen jatkumo, etteivät asiat tai motivaatio kerkeä välissä jo unohtumaan. Myöskin toisen kotimaisen kielen (~&amp;quot;virkamiesruotsi&amp;quot;) suorittaminen kannattaa aloittaa mahdollisimman pian, jos sitä ei ole vielä ensimmäisenä keväänä tehnyt. Kynnys sen suorittamiseen ei ainakaan alene opintojen edetessä.&lt;br /&gt;
&lt;br /&gt;
Mallilukujärjestyksen tulkitsemisessa jatkoa koskien apua voi kysyä laitoksen opintoneuvonnasta tai TKO-älyn opintovastaavilta.&lt;br /&gt;
&lt;br /&gt;
== Matematiikan ja menetelmätieteen sovittaminen malliaikatauluun ==&lt;br /&gt;
&lt;br /&gt;
Matematiikkaa suositellaan käymään heti opintojen alkuun, jotta siitä saisi hyödyn irti varhaisen kandin teoreettisemmilla kursseilla. Matematiikan ja tilastotieteen kursseja voi käydä mallilukujärjestyksen kanssa suunnilleen näin:&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, syksy=== &lt;br /&gt;
&lt;br /&gt;
Tilaa on mallilukujärjestyksen suositusten jälkeen yhteensä 2 op ykkösperiodille painottuen.&lt;br /&gt;
&lt;br /&gt;
Matematiikan laitos järjestää yleensä syksyllä itseopiskelukurssin, jonka sisältönä nimenomaan lukiomatematiikan kertaus. Kurssin käyminen on hyödyllistä, jos kaipaa varmuutta ja lisää laskurutiinia, tai matikka on muuten vain unohtunut lukion jäljiltä. Tämä kurssi ei kuitenkaan ole sama asia kuin Matematiikka tutuksi. Matematiikka tutuksi kurssin käyminen on suositeltavaa kaikille.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi I&#039;&#039;&#039;&lt;br /&gt;
* Yksi seuraavista vaihtoehdoista&lt;br /&gt;
** Matematiikka tutuksi (5 op) on ensisijainen valinta ykkösperiodin matematiikan kurssiksi. Kurssi on kevyt johdatus matematiikan maailmaan ja sisältää kertausta sekä johdattelua yliopistomatematiikkaan. Se kannattaa ehdottomasti ottaa, ellei sitten välttämättä halua heti jotain haastavampaa vaihtoehtoa. Kurssi menee osittain sisällöltään ylempänä mainitun lukiomatikan kertauskurssin päälle, mutta kurssit kannattaa lähinnä nähdä toisiaan tukevina.&lt;br /&gt;
** Lineaarialgebra ja matriisilaskenta I (5 op) on hyödyllinen työkalukurssi varsinkin algoritmeista, tekoälystä ja grafiikkaohjelmoinnista kiinnostuneille. Kurssin voi suorittaa ongelmitta lukiomatematiikan pohjalta.&lt;br /&gt;
** Analyysi I, (10 op / 2 periodia) on harkitsemisen arvoinen vaihtoehto, jos matematiikka on hyvin hallussa eikä pelkää ylimääräistä työmäärää kakkosperiodissa (esim. jos koodaus on jo valmiiksi tuttua). Analyysi I:en sisältö ei ole yhtä relevanttia kuin Lineaarialgebra ja matriisilasekenta I:n, mutta matikan perusfuksikurssina se opettaa matemaattista ajattelua paremmin kuin mikään muu vaihtoehto. Huomaa, että kestää kaksi periodia, eikä sitä voi suorittaa osissa. Analyysi I on myös selkeästi työläin vaihtoehdoista.&lt;br /&gt;
** (Analyysin virtuaalinen peruskurssi ja Matemaattisen analyysin kurssi eivät ole erityisen suositeltavia vaihtoehtoja, koska analyysi aiheena ei ole erityisen hyödyllistä tietojenkäsittelytieteessä. Näillä kursseilla ei myöskään ole Analyysi I:n tarjoamaa teorian ymmärtämispainotteisuutta, vaan ne painottuvat enemmän laskemiseen.)&lt;br /&gt;
** Tilastotieteen johdantokurssi (osa 1, 4op), jos ei kaipaa johdatusta matematiikkaan ja uskoo kiinnostuvansa tilastotieteen opiskelusta.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodi II&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Pakollinen&#039;&#039;&#039; Johdatus diskreettiin matematiikkaan (5 op) pitää käydä tässä, jos haluaa kolmeen vuoteen valmistua.&lt;br /&gt;
** Lisäksi 1. periodin valinnoista riippuen mahdollisesti yksi seuraavista, jos vain jaksaa opiskella lisää matikkaa ylibuukatussa kakkosperiodissa:&lt;br /&gt;
*** Lineaarialgebra ja matriisilaskenta II (5 op) tarjoaa lisää hyödyllisiä matriiseja ja vektoreita ykkösosan käyneille. Kurssissa paljon grafiikkaohjelmointiin liittyvää teoriaa.&lt;br /&gt;
*** Tilastotieteen johdantokurssi (osa 2, 6 op) turnauskestävyyden riittäessä ykkösosan suorittaneille.&lt;br /&gt;
*** Analyysi I:n loppu, jos sen on itselleen manannut; kurssista  ei saa välisuorituksia, joten se on tupla (10) tai kuitti (0).&lt;br /&gt;
&lt;br /&gt;
=== 1. vuosi, kevät===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Periodit III - IV&#039;&#039;&#039;&lt;br /&gt;
** Logiikka I, 10 op&lt;br /&gt;
** Tai Tilastotieteen jatkokurssi, 10 op, tai johdantokurssin kevätversio jos et ehtinyt sitä jo käydä.&lt;br /&gt;
** Tai Johdatus todennäköisyyslaskentaan (III), 5 op. Mahdollisesti myös Johdatus tilastolliseen päättelyyn (IV), 5 op. Ensimmäinen tarkoittaa suhteellisen helppoja opintopisteitä, jälkimmäinen näistä on vaikea. Valitse jälkimmäinen vain, jos rahkeet riittävät tässä vaiheessa. Esitietoina kurssille käytännössä on integraalilaskennan osaaminen, joko lukion pitkän matematiikan pohjalta tai Analyysi I:stä tai Analyysin peruskurssista. Johdatus todennäköisyyslaskentaan -kurssille sen sijana voi kävellä lukiopohjalta.&lt;br /&gt;
&lt;br /&gt;
TKT:n Tietorakenteet-kurssi on mallilukujärjestyksessä 1. keväänä, ja siellä matematiikan pohjista on välitöntä apua. Perusopiskelija ehtii siis siihen mennessä käydä suunnilleen MaTun tai jonkin hiukan haastavamman kurssin, Johdatuksen diskreettiin matematiikkaan ja samanaikaisesti Tiran kanssa esim. Logiikka I:stä.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, syksy ===&lt;br /&gt;
&lt;br /&gt;
* Lineaarialgebra ja matriisilaskenta I ja II jos ei aiemmin ehtinyt, tai &lt;br /&gt;
* Tilastotieteen johdantokurssi voi tässä vaiheessa piristää, varsinkin jos uranvaihto alkaa olla mielessä&lt;br /&gt;
* &#039;&#039;&#039;Huom&#039;&#039;&#039;: 2. syksynä on parasta myös huolehtia tilan puolesta toisen sivuaineen opiskelun aloittamisesta, jos ei aio käydä kandiin pelkästään matematiikkaa ja tilastotiedettä. Monia sivuaineita voi aloittaa (tai jopa koko perusopinnot käydä) vain syksyisin, eikä malliaikataulun mukaan edetessä 3. syksyä ei oikein ehdi ihan kokonaan pyhittää toiselle aineelle, vaikka huomattavan osan kumminkin.&lt;br /&gt;
&lt;br /&gt;
=== 2. vuosi, kevät ===&lt;br /&gt;
&lt;br /&gt;
* Algebra I, jos Johdatus diskreettiin matematiikkaan ei ahdistanut tai Linis I ja/tai Analyysi I on jo käyty&lt;br /&gt;
* Tilastotieteen jatkokurssi, tai Data-analyysi, tai Monimuuttujamenetelmät, tai... ks. [[Sivuainekuvauksia#Tilastotiede]]&lt;br /&gt;
* Johdatus todennäköisyyslaskentaan ja Johdatus tilastolliseen päättelyyn&lt;br /&gt;
&lt;br /&gt;
=== 3. vuosi ===&lt;br /&gt;
&lt;br /&gt;
3. vuodella sitomatonta tilaa sekä syksyllä että keväällä 20 op. Käy niitä mitä et ole vielä käynyt, ja tarkastele viimeistään tässä vaiheessa myös linjaspesifejä matematiikan kurssisuosituksia (jos niitä on).&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7893</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7893"/>
		<updated>2016-03-25T17:01:01Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
Syksyn 2015 itseopiskeluversio sisälsi kahden tunnin pituisen viikottaisen kyselytunnin luennoijan kanssa. Käytännössä luennoija piti 45 min pituisen pikaluennon viikon tärkeimmistä asioista ja loppuaika keskusteltiin. Itseopiskeluversio lähti myös käyntiin viikkoa normaalia luentokurssia hitaammin ja moni Mooc-fuksi suorittikin TiRan ensimmäisenä syksynä, eli jos opiskeluintoa riittää, niin mukaan vaan!&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JohTek. &lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization II (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
Computer Organization I on Tietokoneen Toiminta.&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Game Programming (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux Fundamentals (2-4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Linux-ylläpito (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7892</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7892"/>
		<updated>2016-03-25T16:53:52Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
Syksyn 2015 itseopiskeluversio sisälsi kahden tunnin pituisen viikottaisen kyselytunnin luennoijan kanssa. Käytännössä luennoija piti 45 min pituisen pikaluennon viikon tärkeimmistä asioista ja loppuaika keskusteltiin. Itseopiskeluversio lähti myös käyntiin viikkoa normaalia luentokurssia hitaammin ja moni Mooc-fuksi suorittikin TiRan ensimmäisenä syksynä, eli jos opiskeluintoa riittää, niin mukaan vaan!&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7891</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7891"/>
		<updated>2016-03-25T16:53:10Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietokoneen toiminta (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
Syksyn 2015 itseopiskeluversio sisälsi kahden tunnin pituisen viikottaisen kyselytunnin luennoijan kanssa. Käytännössä luennoija piti 45 min pituisen pikaluennon viikon tärkeimmistä asioista ja loppuaika keskusteltiin. Itseopiskeluversio lähti myös käyntiin viikkoa normaalia luentokurssia hitaammin ja moni Mooc-fuksi suorittikin TiRan ensimmäisenä syksynä, eli jos opiskeluintoa riittää, niin mukaan vaan!&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
Kurssi on siitä erikoinen, että koe on edellisissä toteutuksissa muodostunut neljästä minikokeesta.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7890</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7890"/>
		<updated>2016-03-25T16:51:10Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietorakenteet ja algoritmit (8 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8-10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiRa&lt;br /&gt;
* 1. ja 2. periodissa (itseopiskelu)&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin esitietovaatimus on &amp;quot;Johdatus yliopistomatematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. Tekemällä 80% harjoitustehtävistä saa 9 op ja 95%:lla 10 op.&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
Syksyn 2015 itseopiskeluversio sisälsi kahden tunnin pituisen viikottaisen kyselytunnin luennoijan kanssa. Käytännössä luennoija piti 45 min pituisen pikaluennon viikon tärkeimmistä asioista ja loppuaika keskusteltiin. Itseopiskeluversio lähti myös käyntiin viikkoa normaalia luentokurssia hitaammin ja moni Mooc-fuksi suorittikin TiRan ensimmäisenä syksynä, eli jos opiskeluintoa riittää, niin mukaan vaan!&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7889</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7889"/>
		<updated>2016-03-25T16:42:47Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Tietokantojen perusteet (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa (itseopiskelu)&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vetäjä vaihtui ja kurssi uudistettiin syksyllä 2015. Kevään 2016 versioon poistettiin ohjelmointia sisältäneet yksilölliset harjoitustehtävät ja lisättiin ohjelmointia sisältävä ryhmätyö.&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Laskaritehtävät sisältävät paljon SQL-kyselyitä ja tietokantojen suunnittelua. Laskaritilaisuuksien läsnäolosta saa kurssipisteitä joten paikallaolo on suositeltavaa. Laskaritehtäviä on kahta eri lajia, etukäteen ja paikanpäällä tehtävät tehtävät. Ryhmätyössä sovelletaan opittuja asioita käytännössä. Dokumenttitietokantoja ei käsitellä. &lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät -kurssin suorituksesta on apua kaavioiden piirtämisessä, mutta pelkät OhPe/OhJa:n tiedot riittävät. Kurssi sopiikin hyvin mooc-fuksin ensimmäiseen periodiin.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tira&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin ehdottomasti pakollinen esitietovaatimus on &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta. Tietorakenteet-kurssin käymättä jättäminen ensimmäisenä keväänä lisää valmistumisaikaa vuodella, koska kurssi järjestetään vain kerran vuodessa.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7888</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7888"/>
		<updated>2016-03-25T16:26:08Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmistotekniikan menetelmät (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa sekä uudelleen 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Erikoista tässä kurssissa on se, että perinteisiä laskareita ei ole, vaan kaikki tehtävät tehdään koneella WWW-liittymän (SQLTrainer) kautta ja vain oikeat ratkaisut tuottavat harjoituspisteitä. Tämän lisäksi kurssilla suunnitellaan ryhmätyönä tietokanta. Relaatioalgebran ja välillä hankalaltakin tuntuvan SQL-kyselykielen opettelu on kurssin läpäisyn kannalta olennaisen tärkeää. Lohduttautua voit sillä, että SQLTrainerin harjoitustehtävissä vaadittavia kohtuullisen monimutkaisia SQL-kyselyitä harvemmin tarvitaan oikeasti (kokeesessa vaikeahkot liitokset pitää sen sijaan hallita). Relaatioalgebra tuntuu olevan monelle mysteeri, sitäkään useimmat eivät tarvitse onneksi missään.&lt;br /&gt;
&lt;br /&gt;
Vain ahkera harjoittelu tekee mestarin, ja kurssin harjoitukset on suunniteltu mahdollisimman hyvin opetusta palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu kurssilla voi kostautua myöhemmin tehtävässä harjoitustyössä &amp;quot;Tietokantasovellus&amp;quot;, jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tira&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin ehdottomasti pakollinen esitietovaatimus on &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta. Tietorakenteet-kurssin käymättä jättäminen ensimmäisenä keväänä lisää valmistumisaikaa vuodella, koska kurssi järjestetään vain kerran vuodessa.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7887</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7887"/>
		<updated>2016-03-25T16:23:54Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmoinnin jatkokurssi (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa &lt;br /&gt;
* 4. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
OhPen tapaan tähänkin kurssiin sisältyy konekoe ja paperikoe.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa sekä uudelleen 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Erikoista tässä kurssissa on se, että perinteisiä laskareita ei ole, vaan kaikki tehtävät tehdään koneella WWW-liittymän (SQLTrainer) kautta ja vain oikeat ratkaisut tuottavat harjoituspisteitä. Tämän lisäksi kurssilla suunnitellaan ryhmätyönä tietokanta. Relaatioalgebran ja välillä hankalaltakin tuntuvan SQL-kyselykielen opettelu on kurssin läpäisyn kannalta olennaisen tärkeää. Lohduttautua voit sillä, että SQLTrainerin harjoitustehtävissä vaadittavia kohtuullisen monimutkaisia SQL-kyselyitä harvemmin tarvitaan oikeasti (kokeesessa vaikeahkot liitokset pitää sen sijaan hallita). Relaatioalgebra tuntuu olevan monelle mysteeri, sitäkään useimmat eivät tarvitse onneksi missään.&lt;br /&gt;
&lt;br /&gt;
Vain ahkera harjoittelu tekee mestarin, ja kurssin harjoitukset on suunniteltu mahdollisimman hyvin opetusta palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu kurssilla voi kostautua myöhemmin tehtävässä harjoitustyössä &amp;quot;Tietokantasovellus&amp;quot;, jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tira&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin ehdottomasti pakollinen esitietovaatimus on &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta. Tietorakenteet-kurssin käymättä jättäminen ensimmäisenä keväänä lisää valmistumisaikaa vuodella, koska kurssi järjestetään vain kerran vuodessa.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7886</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7886"/>
		<updated>2016-03-25T16:21:57Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Ohjelmoinnin perusteet (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
* 3. periodissa (itseopiskelu)&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Kurssiin sisältyy kaksi koetta, konekoe ja paperikoe. Konekoe tehdään omalla koneella ja ajankohdan voit valita itse. Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja tehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa sekä uudelleen 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
Kummallakin kurssilla on (ainakin aiemmin ollut) käytössä suomenkielinen perusopetusteos Ohjelmoinnin perusteet Java-kielellä, jonka on kirjoittanut kurssia syksyisin luennoiva Arto Wikla. Hyvää materiaalia löytyy myös kurssin www-sivuilta ja ilman kirjaakin kyllä pärjää.&lt;br /&gt;
&lt;br /&gt;
Kurssia seuraava erillinen harjoitustyö (4 op) on syytä suorittaa mahdollisimman pian näiden kurssien jälkeen. Huomaa kuitenkin, että harjoitustyön saa aloittaa vasta, kun nämä kurssit on suoritettu (eli siis niistä on suoritusmerkintä)! Ohjelmointityökaluihin liittyvät asiat kannattaa myös opetella jo ohjelmoinnin peruskursseilla, ettei harjoitustyössä mene sormi suuhun - siellä kun ei ole enää aikaa opetella ohjelmointiympäristöjä ja työkaluja.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa sekä uudelleen 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Erikoista tässä kurssissa on se, että perinteisiä laskareita ei ole, vaan kaikki tehtävät tehdään koneella WWW-liittymän (SQLTrainer) kautta ja vain oikeat ratkaisut tuottavat harjoituspisteitä. Tämän lisäksi kurssilla suunnitellaan ryhmätyönä tietokanta. Relaatioalgebran ja välillä hankalaltakin tuntuvan SQL-kyselykielen opettelu on kurssin läpäisyn kannalta olennaisen tärkeää. Lohduttautua voit sillä, että SQLTrainerin harjoitustehtävissä vaadittavia kohtuullisen monimutkaisia SQL-kyselyitä harvemmin tarvitaan oikeasti (kokeesessa vaikeahkot liitokset pitää sen sijaan hallita). Relaatioalgebra tuntuu olevan monelle mysteeri, sitäkään useimmat eivät tarvitse onneksi missään.&lt;br /&gt;
&lt;br /&gt;
Vain ahkera harjoittelu tekee mestarin, ja kurssin harjoitukset on suunniteltu mahdollisimman hyvin opetusta palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu kurssilla voi kostautua myöhemmin tehtävässä harjoitustyössä &amp;quot;Tietokantasovellus&amp;quot;, jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tira&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin ehdottomasti pakollinen esitietovaatimus on &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta. Tietorakenteet-kurssin käymättä jättäminen ensimmäisenä keväänä lisää valmistumisaikaa vuodella, koska kurssi järjestetään vain kerran vuodessa.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7885</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=7885"/>
		<updated>2016-03-25T16:18:32Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: /* Johdatus tietojenkäsittelytieteeseen (5 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Perusopinnot 25op ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä JTKT&lt;br /&gt;
* 1. ja 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssin vastuuhenkilö vaihtuu syksyllä 2016 ja kurssia myös luultavasti samalla uudistetaan. Tämä kannattaa pitää mielessä kun kuuntelee vanhempien opiskelijoiden mielipiteitä JTKT:sta.&lt;br /&gt;
&lt;br /&gt;
Kurssi on luonteeltaan yleiskatsaus tietojenkäsittelytieteeseen, sisältäen paljon asiaa laidasta laitaan. Kurssilla esitellään myös laitoksen tutkimustoimintaa liittyen kuhunkin osa-alueeseen. Kurssin suoritustapa poikkeaa lähes kaikista muista tietojenkäsittelytieteen kursseista, sillä kurssi suoritetaan tekemällä esseitä joko suomeksi tai englanniksi pienryhmissä. Laskaritilaisuuksissa ryhmät alustavat aiheita ja opponoivat vuorollaan.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen ja läsnäolo ovat välttämättömiä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta joten alkuosan esseet ja laskaritilaisuudet ovat englanniksi.&lt;br /&gt;
&lt;br /&gt;
Johdatus tietojenkäsittelytieteeseen -kurssin on tarkoitus antaa jonkinlainen kokonaiskuva opiskeltavasta alasta. Vaikka teksteistä ei tunnu saavan oikein mitään irti tässä vaiheessa, ja kirjoittaminenkin alkaa tökkiä, kurssi kannattaa suorittaa loppuun vaikka pelkällä vihalla. Myöhemmin kurssin aloittamiskynnys on erittäin korkea.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhPe&lt;br /&gt;
* 1. periodissa sekä uudelleen 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opetetaan fukseille, mitä ovat algoritmit, muuttujat, lauseet, lausekkeet, ohjausrakenteet ja erityisesti oliot. Heti alusta alkaen tehdään omia ohjelmia koneella. Kurssi on tarkoitettu ensisijaisesti niille, joilla ei ole olio-ohjelmointitaustaa, mutta osaavienkin ohjelmoijien on syytä vilkaista kurssimateriaaliin yhteisen kielen omaksumiseksi ja mennä sitten heti tenttiin. Toisinaan kun käy niinkin, että moni aiemmin ohjelmoinut luulee osaavansa, mutta saakin tentissä kuvannoillisesti lapiosta naamaan.&lt;br /&gt;
&lt;br /&gt;
Monelle tulee järkytyksenä, että ohjelmointikurssien tenteissä paperikoodataan. Tentissä kannattaa olla varuillaan, ettei aikaa tuhlaannu koodin kumittamiseen tai puhtaaksikirjoittamiseen. Tämän takia on tärkeää kehittää vahva rutiini yksinkertaisten ohjelmien kirjoittamiseen jo kurssin aikana. Kurssi on hyvin työpainotteinen ja laskuharjoitustehtävien tekeminen korreloi tilastollisestikin suoraan läpipääsyn kanssa. Opetuskielenä on (edelleen) Java.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin jatkokurssi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä OhJa&lt;br /&gt;
* 2. periodissa sekä uudelleen 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kun ohjelmoinnin perusteet ovat hallussa, syvennytään Javaan, sen luokkiin ja olioihin tarkemmin. Kurssilla on perinteisesti työläät laskarit, opittavaa asiaakin on paljon ja harva fuksi sisäistää aivan kaiken kurssilla. Monet pitävät Ohjelmoinnin jatkokurssia kuitenkin kevyempänä kuin peruskurssia. Jos ohjelmoinnin jatkokurssilla joutuu opettelemaan vielä ohjelmointirutiinia, niin on syytä ottaa itseään niskasta kiinni.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei käsitellä mitään tietyttyjä Javan kirjastopakkauksia, vaan enemmänkin kielen välineiden (luokat, oliot, metodit, perintä) hyödyntämistä ohjelmissa. Suurimmat ongelmat tulevat käsitteiden ymmärtämisestä, mutta toisin kuin matematiikassa, täällä asioille löytyy heti järkevä käyttötarkoitus. Kuten Ohjelmoinnin perusteetkin, tämäkin kurssi on erittäin käytännönläheinen - koko ajan ohjelmoidaan.&lt;br /&gt;
&lt;br /&gt;
Kummallakin kurssilla on (ainakin aiemmin ollut) käytössä suomenkielinen perusopetusteos Ohjelmoinnin perusteet Java-kielellä, jonka on kirjoittanut kurssia syksyisin luennoiva Arto Wikla. Hyvää materiaalia löytyy myös kurssin www-sivuilta ja ilman kirjaakin kyllä pärjää.&lt;br /&gt;
&lt;br /&gt;
Kurssia seuraava erillinen harjoitustyö (4 op) on syytä suorittaa mahdollisimman pian näiden kurssien jälkeen. Huomaa kuitenkin, että harjoitustyön saa aloittaa vasta, kun nämä kurssit on suoritettu (eli siis niistä on suoritusmerkintä)! Ohjelmointityökaluihin liittyvät asiat kannattaa myös opetella jo ohjelmoinnin peruskursseilla, ettei harjoitustyössä mene sormi suuhun - siellä kun ei ole enää aikaa opetella ohjelmointiympäristöjä ja työkaluja.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotekniikan menetelmät (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä OTM&lt;br /&gt;
* Ennen nimellä Ohjemistojen mallintaminen (OhMa)&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla annetaan perustiedot ohjelmistojen mallintamisessa käytetyistä työkaluista. Kurssilla piirretään ja luetaan kaavioita jotka kuvaavat ohjelman korkean tason rakennetta. Lisäksi opetukseen sisältyy hitunen testausta ja versionhallintaa, jotka ovat tärkeitä ohjelmointityön apuvälineitä. Tämän kurssin asioista on hyötyä Ohjelmoinnin harjoitustyön dokumentoinnissa (ja myöhemmin Tietokantasovelluksen dokumentoinnissa). Kaavioiden piirtämiseen kannattaa suhtautua ehdottomalla vakavuudella: Niitä piirrellään kaikkialla missä ohjelmistoja toteutetaan.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tietokantojen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tikape&lt;br /&gt;
* 1. periodissa sekä uudelleen 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietokantojen perusteet -kurssi opettaa asioita relaatiokannoista ja SQL-kyselykielestä. Erikoista tässä kurssissa on se, että perinteisiä laskareita ei ole, vaan kaikki tehtävät tehdään koneella WWW-liittymän (SQLTrainer) kautta ja vain oikeat ratkaisut tuottavat harjoituspisteitä. Tämän lisäksi kurssilla suunnitellaan ryhmätyönä tietokanta. Relaatioalgebran ja välillä hankalaltakin tuntuvan SQL-kyselykielen opettelu on kurssin läpäisyn kannalta olennaisen tärkeää. Lohduttautua voit sillä, että SQLTrainerin harjoitustehtävissä vaadittavia kohtuullisen monimutkaisia SQL-kyselyitä harvemmin tarvitaan oikeasti (kokeesessa vaikeahkot liitokset pitää sen sijaan hallita). Relaatioalgebra tuntuu olevan monelle mysteeri, sitäkään useimmat eivät tarvitse onneksi missään.&lt;br /&gt;
&lt;br /&gt;
Vain ahkera harjoittelu tekee mestarin, ja kurssin harjoitukset on suunniteltu mahdollisimman hyvin opetusta palvelevaksi. Pelkällä erilliskokeella kurssien läpäiseminen voi onnistua, mutta vaatii jonkun verran hyvää pohjatietoa aiheesta. Harjoituksia kannattaa tehdä huolella. Laiskottelu kurssilla voi kostautua myöhemmin tehtävässä harjoitustyössä &amp;quot;Tietokantasovellus&amp;quot;, jossa opiskelijoiden oletetaan osaavan käyttää oikeita apuvälineitä.&lt;br /&gt;
&lt;br /&gt;
== Pakolliset Aineopinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietoliikenteen perusteet (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tilpe&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla paneudutaan internetin peruskäsitteistöön ja -tekniikoihin. Kurssi etenee opettelemalla TCP/IP-pinoa taso tasolta. Tutuksi tulee siis pääpiirteittäin kaikki WWW-selaimen sielunelämästä aina verkkokortin bittitasolle asti. Kurssi antaa hyvät perustiedot tietoliikenteestä, jotka ovat tarpeen kaikkien eri linjojen opiskelijoille.&lt;br /&gt;
&lt;br /&gt;
Kurssin sisältö on huomattavan laaja ja yksityiskohtainen opintopistemäärään nähden. Opiskelu perustuu paljolti TCP/IP-pinon kerrosten ja mekanismien toiminnan ulkoa opettelemiseen (esim. TCP-ruuhkanhallintamekanismit). Kokeessa ongelmaksi saattaa koitua hahmottaa, millä tasolla, ja kuinka yleinen vastaus kysymykseen halutaan (kokeessa saatetaan esimerkiksi kysyä, mitä tapahtuu kun opiskelija klikkaa linkkiä selaimellaan). Mikäli kurssilla vastaantuleva lyhenteiden ja käsitteistön määrä alkaa hirvittää, kurssilla käytettävä kurssikirja on mitä mainion apu pelonlievitykseen. Varoitettakoon, että asian ja detaljien suuresta määrästä johtuen kurssista on melko vaikea saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteet ja algoritmit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tira&lt;br /&gt;
* 3. ja 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietorakenteet on mielenkiintoinen ja hyödyllinen kurssi sekä algoritmeista että ohjelmointitouhusta kiinnostuineille (yleensä nämä leirit omaavat hyvin poikkeavat mielipiteet perus- ja aineopintojen kursseista). Käytännön ohjelmointiprojekteissa tulee jatkuvasti vastaan tilanteita, joissa pitäisi käsitellä suuria tietomääriä: lisätä, poistaa, etsiä ja järjestellä tietoa. Tietorakenteet-kurssilla opetetaan lukuisia toinen toistaan näppärämpiä keinoja hallita tietoalkiota. Oikeastaan vasta kurssin asiat hallittuaan voi sanoa oikeasti osaavansa koodata. Tietorakenteet on myös ensimmäisiä peruskursseja, joilla kurkistetaan tietojenkäsittelyn teoreettisempaan puoleen (algoritmit ja niiden analysointi).&lt;br /&gt;
&lt;br /&gt;
Kuten kurssin nimestä voi aavistellakin, valtaosa opetuksesta keskittyy erilaisten tietorakenteiden käsittelyyn. Opiskelija voi olla varma, että kurssin suoritettuaan ainakin perustietorakenteet (taulukko, pino, lista) ovat syöpyneet lähtemättömästi tajuntaan. Hämäriä muistikuvia saattaa löytyä jopa hieman eksoottisemmistakin tietorakenteista kuten puista, hajautustauluista ja verkoista. Tietorakenteiden lisäksi kurssilla käydään läpi muutamia mielenkiintoisia haku- ja&lt;br /&gt;
järjestysalgoritmeja ja tehdään algoritmien tehokkuusanalyysiä.&lt;br /&gt;
&lt;br /&gt;
Kurssin ehdottomasti pakollinen esitietovaatimus on &amp;quot;Johdatus diskreettiin matematiikkaan&amp;quot;. Matemaattista esitietovaatimusta ei kuitenkaan ole syytä kavahtaa, sillä loppujen lopuksi itse käsiteltävät asiat ovat suhteellisen yksinkertaisia ja liittyvät oikeastaan vain tietorakenteiden formaaliin esittämiseen. Jos esitietovaatimukset eivät ole kunnossa, kannattaa harjoitella ja osallistua esitietokokeeseen, ja päästä kurssille tätä kautta. Tietorakenteet-kurssin käymättä jättäminen ensimmäisenä keväänä lisää valmistumisaikaa vuodella, koska kurssi järjestetään vain kerran vuodessa.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoitusten tekeminen on tässä kurssissa en-si-si-jai-sen tärkeää! Suurin ongelma opiskelijoille on, että kelkasta putoaa hyvin helposti, jos jättää kerran laskaritehtävät tekemättä. Jos jokin asia menee yli ymmärryksen, kannattaa heti vaatia luennoijaa tai laskarinpitäjää vääntämään asia rautalangasta, ettei tajuntaan jää mustia aukkoja. Toisaalta laitokselta on vaikea löytää henkilöä, joka ei pitäisi kurssia ainakin jossain määrin ehdottoman hyödyllisenä. Syksyllä hyvin menestyneelle opiskelijallekin koe saattaa tulla järkytyksenä - ei sen takia, että se olisi vaikea, mutta kokeesta ei pääse läpi, jos ei osaa soveltaa. Tästä kertoo sekin, että kokeeseen saa ottaa A4-muistilapun mukaan. Perinteisesti läpipääsyprosentti on kuitenkin ollut vähintään syksyn ohjelmointikurssien tasoa. Kurssi tosin on monelle työläs. &lt;br /&gt;
&lt;br /&gt;
Tietorakenteet -kurssi on tietojenkäsittelytieteelle &amp;quot;sitä itseään&amp;quot; ja Helsingin yliopiston TKT-laitoksen erikoisuus ja ylpeys. Monien huippuyliopistojen (MIT) tietojenkäsittelytieteen opetukselle tyypillistä on, että tietorakenteita opetetaan kattavasti heti ensimmäisenä opiskeluvuonna. Muissa Suomen yliopistoissa käpistelijöiden ymmärrys tietorakenteista ja tehokkaista ratkaisuista on matalahkolla tasolla verrattuna laitoksen opiskelijaan. Kuulostaako hypettämiselta? Ota selvää ja varmistu.&lt;br /&gt;
&lt;br /&gt;
=== Käyttöjärjestelmät ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Laskennan mallit (8 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lama&lt;br /&gt;
* Syksyisin&lt;br /&gt;
&lt;br /&gt;
Kurssi luennoidaan koko lukukauden mittaisena niin, että viikossa on kaksi luento- ja kaksi laskarituntia.&lt;br /&gt;
&lt;br /&gt;
Laskennan mallit on teoreettinen kurssi, jolla opetellaan varsin käytännöllisiä työvälineitä. Kurssilla käsitellään mm. laskennallisia ongelmia, äärellisiä automaatteja, säännöllisiä lausekkeita, kontekstittomia kielioppeja ja Turingin koneita. Kurssi saattaa tuntua hankalalta alun pallo-nuoli-automaattipiirtelyiden jälkeen, mutta kun tottuu lukemaan täsmällistä formaalia esitystapaa, itse asia ei olekaan niin kovin kummallista. Loppujen lopuksi kysymys on vain menetelmistä, joilla voidaan jäsentää ja käsitellä erilaisia määrämuotoisia merkkijonoja, kuten aritmeettisia lausekkeita, päivämääriä ja muuta vastaavaa. Tutuiksi tulevat myös Turingin koneet, jotka ovat äärimmäisen kömpelö tietokoneen teoreettinen malli, mutta samalla myös yksinkertaisin mahdollinen mekaanisen laskentakoneen malli. Loppuhuipennuksena törmätään surullisenkuuluisaan pysähtymisongelmaan. Kun sen merkityksen onnistuu ymmärtämään, ymmärtää jo paljon siitä, mitä ohjelmallisesti on mahdollista tehdä.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan masennu, jos pumppauslemma ja kumppanit menevät aluksi kertakaikkiaan yli hilseen, monella muulla on sama tilanne. Eräs vitsi laitoksella onkin, että laitokselta on vaikea löytää opiskelijaa, joka osaisi pumppauslemman selittää (&amp;quot;meni kokeessa oikein, en tiedä mitä tein&amp;quot;). Kurssia käydessä ei välttämättä ole minkäänlaista mielikuvaa, mihin kurssilla käsiteltäviä asioita voisi ikinä tarvita, mutta myöhemmin opinnoissa asioihin voi törmätä esim. Ohjelmointikielten kääntäjien tai rakenteisten dokumenttien käsittelyn yhteydessä, joista voitaneen mainita esimerkiksi XML-dokumenttien muuttaminen esimerkiksi HTML-esitysmuotoon. Kurssi kannattaa kuitenkin käydä läpi ajatuksen kanssa, koska mekaaninen ulkoapänttääminen ei juuri auta. Tietorakenteet -kurssin tapaan asiat pitää oikeasti tajuta, jotta kurssista suoriutuu.&lt;br /&gt;
&lt;br /&gt;
=== Tietokoneen toiminta (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä TiTo&lt;br /&gt;
* 2. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla opitaan perusteet siitä, mitä tietokoneen sisällä oikeasti tapahtuu, eli tutustutaan mm. prosessorin toimintoihin, yhden ohjelman suoritukseen koneessa ja opetellaan hiukan symbolista konekieltä. Tällä konekielellä tosin ei ole kovinkaan paljon tekemistä &amp;quot;oikeiden assemblerien&amp;quot; (Masm, Nasm, Fasm) kanssa vaan kurssilla käytetään laitoksen omaan opetuskäyttöön väsättyä TTK91-assemblyä ja Titokone-simulaattoria. Pääpaino on kuitenkin enemmän teorian ymmärtämisessä. Monet väittävät kurssin olevan työläimpiä ensimmäisen vuoden peruskursseista. Kurssin sisältö jakaa opiskelijoita ehkä selvimmin kahteen leiriin: niihin jotka hehkuttavat ja niihin jotka vihaavat yli kaiken.&lt;br /&gt;
&lt;br /&gt;
Laskuharjoituksiin tulee varata kohtuullisesti aikaa, sillä vastaukset harvemmin löytyvät suoraan lähdekirjallisuudesta. Ne on itse löydettävä soveltamalla opittua asiaa. TTK91-symbolinen konekieli vaikuttanee hieman kankealta, mutta ajaa tehtävänsä. Moni on ihmetellyt, miksei opetuskielenä käytetä jotain oikeaa assemblyä. Vastaus on melko yksinkertainen: Kurssilla on tarkoitus oppia tietokoneen toimintaa eikä nykyisten assemblerien ominaisuuksia makroineen ja muine asioineen, joilla toimintaan liittyvät yksityiskohdat voisi sivuuttaa. Tietokoneen toimintaankin kurssi on loppujen lopuksi melko pintaraapaisu, josta voi jatkaa syventävään Tietokoneen Rakenne-kurssiin.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtu&lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
Kurssilla perehdytään ohjelmistotuotantoon, sen ongelmiin ja ketterään prosessimalliin. Ohjelmistotuotanto-kurssia voidaan pitää Ohjelmistojen mallintaminen -kurssin jatkeena. Kurssissa on viikottaisia laskaritehtäviä, jotka toteutetaan ryhmässä. Ryhmä pysyy samana koko kurssin ajan. Kurssiin sisältyy myös omassa ryhmässä toteutettava pieni projekti. Tähän projektiin hyödynnetään laadunvarmistustekniikoita kuten parikoodausta ja Code Coveragea. Kurssista on ajettu viime vuosina mahdollisimman käytännönläheistä aiemman teoriapainoitteisuuden sijaan. Myös vesiputousmallista ollaan pyrkimässä ilmeisesti kokonaan eroon. On huhuttu, että kurssista ei ole erityisen helppo saada täyttä arvosanaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin hyväksytty suorittaminen on vaatimus Ohjelmistotuotantoprojekti -kurssille.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotantoprojekti (9+1 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Ohtuprojekti&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotuotantoprojektissa harjoitellaan projektin toteuttamista jotakuinkin reaalimaailmaa vastaavin menetelmin. Projekti toteutetaan 5-6 hengen ryhmässä. Projektilla on siis ihkaoikea asiakas (yleensä laitokselta, yliopistolta tai jostain yrityksestä), joka asettaa vaatimukset tuotteelle. Näihin vaatimuksiin ryhmän pitäisi sitten pystyä ohjelmistollaan vastaamaan mahdollisimman hyvin. Projektin aiheeseen ei voi vaikuttaa, mutta haluamastaan ryhmästä voi esittää toiveen. Aihe voi olla periaatteessa mikä tahansa. Ei ole ollenkaan tavatonta, että ensitöikseen joutuu opettelemaan uuden ohjelmointikielen.&lt;br /&gt;
&lt;br /&gt;
Kurssin päätyttyä tuotteeseen ei sisälly ylläpitovastuuta. Useat projektit menevät keskeneräisenä tuleville osanottajille jatkokehitykseen, mutta osa on päätynyt oikeaan tuotantoonkin. Kurssin perimmäinen tarkoitus on kuitenkin harjoitella prosessia enemmän kuin itse projektin toteuttamista. Ei kannata liikaa stressata, että tuotteen tulisi olla valmis kurssin päättyessä. Ohjelmoimaankin pääsee varmasti tarpeeksi, ja ohessa mahdolliset uudet työkalutkin tulevat väkipakostakin tutuksi.&lt;br /&gt;
&lt;br /&gt;
Projekti toteutetaan käyttäen laitoksen omaa ketterää ohjelmistokehitysmenetelmää (Scrum-variaatio). Varsinaista projektipäällikköä ei ryhmässä ole, ellei ryhmä sellaista keskuudestaan välttämättä halua valita. Kurssi on hyvin opettavainen ja ryhmä saa käytännössä lähes vapaat kädet itsensä toteuttamiseen. Ryhmätyön merkitys ja asiakkaan kanssa vaatimuksista vääntäminen ovat kurssin ydinkauraa. Ongelmilta (lue: haasteilta) ei voi projektin edetessä välttyä ja moiset kannattaa ottaa oppimiskokemuksena. Kurssin arvostelu perustuu pitkälti ryhmän vertaisarviointiin. Asiakkaan antamalla arvosanalla ei juuri merkitystä ole.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa eniten irti, jos sopii ryhmän kanssa erilaisten työtapojen ja menetelmien (esim. eri pituiset sprintit) kokeilemisesta, koska oikeilla työpaikoilla tällaisia kokeiluja harvemmin pääsee enää toteuttamaan. Kurssin tärkein opetus lienee, että asiakkaan kaikkiin vaatimuksiin ei missään nimessä ole pakko suostua, ja että tekniset hankaluudet pystytään todennäköisesti ohittamaan onnistuneilla neuvotteluilla.&lt;br /&gt;
&lt;br /&gt;
Kurssista saa kokonaisuudessaan 10 opintopistettä: Itse projektista saa 9 op ja yksi &amp;quot;lisäopintopiste&amp;quot; tulee &amp;quot;työelämään orientoivista opinnoista&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Tieteellisen kirjoittamisen kurssi (10 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiki&lt;br /&gt;
* Sisältää kandidaatin tutkielman&lt;br /&gt;
* Syksyisin ja keväisin&lt;br /&gt;
&lt;br /&gt;
Tieteellisen kirjoittamisen kurssi koostuu neljästä kirjallisesta työstä: referaatti, aine, kypsyysnäyte ja varsinainen kandidaatin tutkielma. Kaikki näistä neljästä työstä liittyvät samaan aihepiiriin. Alkujaan oli kaunis ajatus, että referaatin (2-4 sivua) ja aineen (10 sivua) saisi suoraan osaksi tutkielmaa (20 sivua), mutta tämä toteutuu nykyään harvoin. Samasta aihepiiristä huolimatta töiden sisältö ei välttämättä liity suoranaisesti toisiinsa. Tekstiä kurssilla tulee yhteensä tuotettua siis lähemmäs 40 sivua. Käpistelijälle on tunnetusti tekstin tuottaminen ongelma, tieteellisestä kirjoittamisesta nyt puhumattakaan. Kurssissa ei välttämättä pärjää tosin hyväkään kirjoittaja, koska tieteellisten artikkelien kirjoittaminen ottaa hieman eri lähtökohdan kuin esseen, raporttien tai dokumentaation laatiminen. Hermot menevät takuuvarmasti jossain vaiheessa mitättömiltä tuntuvien pikkuasioiden viilaamiseen, joita ohjaaja jaksaa ja jaksaa kaivaa esiin joka kerralla.&lt;br /&gt;
&lt;br /&gt;
Ryhmät jaetaan sen perusteella, minkä olet ilmoittautumisessa ilmaissut mahdolliseksi maisterilinjaksesi. Ryhmässä on 5-6 henkilöä, ohjaaja sekä valvoja. Valvojalla ei ole juuri muuta virkaa kuin varsinaisen tutkielman tarkastaminen. Ohjaajan kanssa sovitaan viikoittainen tapaamisaika. Ohjauksen laatu vaihtelee, eikä suoria neuvoja välttämättä saa ohjaajalta missään vaiheessa. Tutkielman aihepiiriin kuuluvasta aiheesta pidetään myös esitelmä muulle ryhmälle. Ryhmällä ei ole omien töiden kannalta muuta merkitystä kuin se, että referaatti, aine ja esitelmä todennäköisesti vertaisarvioidaan, tai ainakin mietitään jokaisen työn hyviä ja huonoja puolia. Kurssin arvosanan määrää käytännössä vain tutkielman arvosana. Kurssi sisältää ohessa ns. kypsyysnäytteen, jossa pitää laatia parin sivun mittainen kielellisesti huoliteltu teksti jostain tutkielman aihepiiristä.&lt;br /&gt;
&lt;br /&gt;
Aiheenvalintakäytäntö vaihtelee ohjaajittain. Tutkielman aihepiirin aihe valitaan useimmiten valmiista listasta, mutta joissakin ryhmissä aihetta saa itsekin ehdottaa. Moni on ampunut itseään jalkaan ehdottamalla omaa aihepiiriä, ja on huomannutkin jälkeenpäin, että tutkimustietoa aihealueesta ei joko löydy ymmärrettävässä mudossa tai sitten löytyy aivan liikaa. Ennen oman aiheen ehdottamista kannattaa varmistaa, että aiheesta todellakin löytyy riittävästi &amp;quot;lukukelpoista&amp;quot; tutkimustietoa. Aihepiiri valitaan jo ensimmäisessä tapaamisessa. Kurssiin sisältyy alkupuolella myös kymmenisen luentoa, joilla opetetaan tieteellisen kirjoittamisen tyyliä ja tiedonhaun perusteita.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen harjoitustöiden valintakori ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmoinnin harjoitustyö (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Javalabra&lt;br /&gt;
* Ryhmiä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Javalabra&amp;quot; laajentaa Ohjelmoinnin jatkokurssin asioita. Ohjelmoinnin jatkokurssin loppupuolen laskarit ovat juuri sitä tärkeää ja olennaista kamaa, jonka joutuu viimeistään täällä opettelemaan, vaikka se kurssilla yleensä skipataankin nopeasti. Näitä ovat mm. tiedostojen käsittely, poikkeukset, rajapintaluokat sekä pakkaukset. Kannattaa siis höristää korviaan jo Ohjelmoinnin jatkokurssilla näitä avainsanoja kuullessaan, vaikka mieli tekisikin jättää parit viimeiset laskarit väliin. API-kuvausten lukutaito on &#039;&#039;&#039;erittäin&#039;&#039;&#039; hyödyllinen esitieto.&lt;br /&gt;
&lt;br /&gt;
Labrassa on myös ohjelmointikursseille uutta ja ihmeellistä asiaa: Javan valmiit työkalut, graafisen käyttöliittymän ohjelmointi (Swing-komponenteilla), ohjelman suunnittelu olioita käyttäen, koodin kommentointi ja testaus, projektin dokumentointi jne. Lisäksi pitää vielä oppia pysymään projektin aikataulussa, ihan ilman äidin apua. Ajankäytön opettelu on jo itsessään aikamoinen työmaa.&lt;br /&gt;
&lt;br /&gt;
Kurssilla tehdään oma, kokonainen, pienehkö mutta toimiva ohjelma. Ohjelmasta saa tehdä niin upean kuin osaa, mutta parasta olisi tässä vaiheessa pitää liika into tallessa. Palkkana on kuitenkin vain oppia ja 4 opintopistettä, eikä niitäkään saa, jos megamahtava Hekumometri jokasuuntaisella kutkulaattorilla ei toimi, leviää käsiin ja kaataa kääntäjän kotiovella. Lisäksi ruutia pitää jättää myös ohjelman dokumentaation kirjoittamiseen. Ja tämä kaikki pitäisi saada valmiiksi 6 viikossa! Nopea laskutoimitus osoittaa, että jos otat löysästi labran alkupuoliskon, loppupuolella sinulle rapsahtaa jo lähes 30 viikkotuntia pelkkää labratyötä.&lt;br /&gt;
&lt;br /&gt;
Labraopetus koostuu alun yhteisluennosta, parista ryhmätapaamesista ja viikoittaisista henkilökohtaisista ohjauspalavereista. Alkuluennoilla käydään läpi mm. graafisen käyttöliittymän laatimisen perusteita ja dokumentointia, ryhmätapaamisissa esitellään omaa työtä muille. Huomaa että alkuluennolle osallistuminen on labraan osallistumisen kannalta pakollista. Ohjauspalavereissa raportoidaan ohjaajalle työn edistymisestä ja ihmetellään ohjaajan kanssa vaikeita kohtia. Tapaamisten lisäksi ohjaajilla on päivystysajat, jolloin päivystävältä ohjaajalta saa käydä kysymässä apua. Labraneuvonta toimii yleensä kakkoskerroksen aulassa (tarkat neuvonta-ajankohdat ilmoitetaan kurssilla).&lt;br /&gt;
&lt;br /&gt;
Työn alkaessa pääsee yleensä itku. Joudut synkkään metsään vain voiveitsen kanssa. Työsi ohjaajalta, kavereilta ja verkosta saat kyllä apua. Ryhmätapaamisiin, ohjelman suunnitteluun ja dokumentointiin, Javan hienouksien opetteluun sekä varsinaiseen koodaukseen menee joka tapauksessa paljon aikaa. Kalenteriin onkin parasta merkitä jo kurssia aloittaessaan ne 80 tuntia, jotka käytät tämän kurssin suorittamiseen ennen deadlinea. Jos Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi on tullut suoritettua hieman horjuen (alle kolmosen arvosanalla), on syytä suosiolla lisätä parikymmentä tuntia aikatauluun. Jos sinulla on jo ammattillista kokemusta koodauksesta tai dokumentaation kirjoittamisesta, voit pienentää arviota tuntimäärästäsi.&lt;br /&gt;
&lt;br /&gt;
Suurin haaste useimmalle opiskelijalle on suunnittelu- ja toteutusdokumentin kirjoittaminen (yleensä dokumenttien kirjoittaminen kurssista riippumatta). Toteutusdokumentin kirjoittamista ei missään nimessä tule jättää viimeiseen iltaan. Dokumentointi on taito, jota käpistelijä tarvii kaikkialla. Se on syytä opetella ajoissa ettei tulevissa harjoitustöissä tule itku, Ohjelmistotuotantoprojektissa parku ja työelämässä kenkää.&lt;br /&gt;
&lt;br /&gt;
=== Tietorakenteiden harjoitustyö (3 tai 5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Tiralabra&lt;br /&gt;
* Ryhmiä yleensä joka periodissa ja kesäisin&lt;br /&gt;
&lt;br /&gt;
Tietorakenteiden harjoitustyö eli Tiralabra on käytännön jatkoa Tietorakenteet-kurssille. Kurssilla pääsee leikkimään tietorakenteilla ihan oikeasti, eli tekemään kokonaisen ohjelman, jossa hyödynnetään joitain tietorakenteita ja algoritmeja. Ohjelma tulee tietenkin myös testata ja dokumentoida, mutta dokumentointivaatimukset ovat minimaaliset aiempiin harjoitustöihin verrattuna. Sallitut ohjelmointikielet riippuvat pitkälti harjoitustyön ohjaajasta, mutta laitoksella opetettavat kielet ovat yleensä käytettävissä.&lt;br /&gt;
&lt;br /&gt;
Harjoitustyö on vaativampi kuin Ohjelmoinnin harjoitustyö, joten kurssille ei kannata ilmoittautua, ellei ole varannut riittävästi aikaa työn tekemiseen. Keskimäärin työhön menee n. 80 työtuntia, mutta tehtävän aiheesta ja omista taidoista riippuen työtuntimäärä saattaa vaihdella huomattavastikin suuntaan tai toiseen. Jos työn aloittaa, sitä ei kannata lopettaa kesken, vaikka vähän vastustaisikin: Harjoitustyön keskeyttäneet ovat muita heikommassa asemassa, kun valitaan labraryhmään pääseviä.&lt;br /&gt;
&lt;br /&gt;
Kurssilta kannattaa ottaa kaikki hyöty irti, koska seuraava paikka, jossa ohjelmointitaitoja koetellaan, on yleensä Ohjelmistotuotantoprojekti ja siellä ohjelmoinnin oletetaan jo sujuvan rutiinilla.&lt;br /&gt;
&lt;br /&gt;
=== Tietokantasovellus (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Ryhmiä yleensä joka periodissa sekä kesäisin&lt;br /&gt;
&lt;br /&gt;
Ohjelmistotekniikan menetelmät ja Tietokantojen perusteet ovat esitietovaatimuksena Tietokantasovellus-harjoitustyölle. Kurssi on käytännössä pienen SQL-relaatiotietokantaa käyttävän WWW-sovelluksen laatimista (esim. yksinkertainen verkkokauppa). Tämän harjoitustyön keskeinen teema on tietokantojen hallintaan liittyvät asiat sekä myös huolelliseen suunnitteluun keskittyminen. Kurssi on monen webbikoodariksi aikovan mielestä erittäin hyödyllinen ja palkitseva. Jos tunnistit itsesi, kannattaa varoa ettei innostu liikaa ja tee vahingossa muutaman tuhannen rivin harjoitustyötä.&lt;br /&gt;
&lt;br /&gt;
Opiskelijasta voi kurssilla kirjoitettavan dokumentaation määrä turhauttavalta ja suuri houkutus onkin tehdä dokumentit vasta viimeisenä iltana. Dokumenttien tarkoitus on kuitenkin opastaa opiskelijaa oikeaan suuntaan suunnittelessaan omaa sovellustaan. Harjoitustyön ohjaajaa saa käyttää surutta apuna sekä ohjelmiston suunnittelun ongelmien että dokumenttien laatimisen kanssa.&lt;br /&gt;
&lt;br /&gt;
Itse toteutuksen tekeminen onkin sitten vähemmän työlästä, jos suunnittelu on kunnolla tehty. WWW-sivustolle tulevan rakennelmansa saa toteuttaa varsin monella tavalla ja tietokannoissakin on valinnan varaa. Suurin osa tekee harjoitustyönsä joko PHP:llä, Javalla tai Ruby on Railssillä, mutta jos intoa löytyy jonkin eksoottisemman ympäristön käyttämiseen, niin sekin on usein kelvannut ohjaajalle.&lt;br /&gt;
&lt;br /&gt;
== Aineopintojen valinnaiset kurssit (valitse vähintään kaksi) ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
C on aineopintojen valinnainen kurssi, joka on tarkoitettu ohjelmoinnin perusasiat osaaville ja perustietorakenteet tunteville. Ensin kannattaa siis suorittaa suosiolla ensimmäisen vuoden ohjelmointikurssit harjoitustöineen sekä Tietorakenteet. Javalla ohjelmoineille kielen syntaksin omaksuminen on helppoa, mutta pelkän ulkoisen samannäköisyyden ei kannata antaa pettää itseään. C on käsitemaailmaltaan ja rakenteiltaan varsin erilainen kieli kuin Java ja sitä myös käytetään hieman erilaisiin tarkoituksiin. C:llä tehdään mm. koneenläheisiä, suurta tehoa vaativia, usein tekstipohjaisia työkaluohjelmia. Javalla taas on mukavampi rakennella sekä ohjelmoijan että käyttäjän kannalta turvallisia sovelluksia, usein graafisia sellaisia - mikäli nopeus ei ole kriittisin tekijä.&lt;br /&gt;
&lt;br /&gt;
Muistiosoittimien ja muistinhallinnan kanssa pelaaminen, joka Javassa on automaattista, voi osoittautua hankalaksi omaksua. Myöskään linkitettyjen listojen ohjelmointi, johon perehdytään varsin tarkkaan, ei tule vastaan ohjelmoinnin perus- ja jatkokurssilla. Kurssilla opetetaan nykyään myös puiden ja verkkojen (tietorakenteita nämäkin) käsittelyä, tosin vähemmällä tarkastelulla kuin esim. Tietorakenteet-kurssilla. Tämä kurssi tuo varsin mukavaa vaihtelua ensimmäisen syksyn Java-annostukseen varsinkin, jos olet ohjelmoinut C:llä aikaisemmin.&lt;br /&gt;
&lt;br /&gt;
Kurssiin kuuluu pakollinen harjoitustyö, jota ilman kurssia ei pääse läpi. Vaikka harjoitustyö ei vaikuta suurelta, se on yllättävän työläs ja on useimmiten syy kurssin keskeyttämiselle. Sille kannattaa siis varata aikaa huomattavasti enemmän kuin se &amp;quot;viimeinen yö ennen palautusta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tekoälyyn (5 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan jo osittain nimellä JohTek, mutta lyhenne ei ole välttämättä vielä täysin vakiintunut. &lt;br /&gt;
* 3. periodissa (keväällä 2016)&lt;br /&gt;
&lt;br /&gt;
Johdatus tekoälyyn luennoidaan tulevana syksynä vasta neljännen kerran. Tähän mennessä jokainen kerta on ollut sekä sisällöltään että opetusmuodoltaan täysin erilainen kuin aiemmat - eikä ensi syksy tule tekemään poikkeusta. Sen sijaan luennoitsija on vaihtunut ja sisältöä puukotettu rajulla kädellä, joten kurssi toivottavasti on muuttunut antoisammaksi ja enemmän himottavaa otsikkoaan vastaavaksi. &lt;br /&gt;
&lt;br /&gt;
Kurssin tarkoituksena on johdattaa tekoälyn eri osa-alueisiin, tutkimusongelmiin ja alan kulmakiviin. Vaihtuvina teemoina käsitellään niin koneoppimista, robotiikkaa, perinteistä logiikkaa kuin pelitekoälyjäkin. Sillisalaatista pitäisi jäädä käteen jonkinlainen kuva alan valtavasta kirjosta. Kurssilla on tätänykyä vähän ohjelmointitehtäviäkin, mutta pääpaino lienee aiheiden yleisessä esittelyssä. Luvattu on, että jotain pääsee silti itsekin tekemään.&lt;br /&gt;
&lt;br /&gt;
Älä turhaan katsele vanhoja kurssisivuja, äläkä varsinkaan osta mitään kirjaa. Hyppää suohon ja löydä sieltä sisäinen intohimosi älykkäitä järjestelmiä kohtaan.&lt;br /&gt;
&lt;br /&gt;
Kurssi on mallilukujärjestyksessä ajoitettu toisen vuoden syksyyn, mutta sopii myös myöhemmin suoritettavaksi tai esimerkiksi jo toisessa oppilaitoksessa opiskelemaan ehtineelle fuksille. Kurssi ollaan tänä vuonna luomassa käytännössä uusiksi, joten jos suoritus vielä puuttuu, nyt on hyvä hetki tarttua härkää sarvista erilliskokeeseen pänttäämisen sijaan. Myös kaikki kurssin aikana annettu palaute opetuksesta ja sisällöstä katsotaan arvokkaana asiana kurssin tulevia iteraatioita ajatellen.&lt;br /&gt;
&lt;br /&gt;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä titupe tai titu&lt;br /&gt;
* 3. periodissa&lt;br /&gt;
&lt;br /&gt;
Tietoturvan perusteet -kurssilla käsitellään tietoturvaan liittyvää lainsäädäntöä, yleisimpiä tietoturvan vaarantavia ohjelmointivirheitä sekä opetellaan sääntöjä, joita noudattaen järjestelmät pitäisi toteuttaa hyökkäysvaikutusten minimoimiseksi. Salausmenetelmät, todentaminen ja allekirjoitukset ovat myös keskeisessä osassa kurssin sisältöä. Ohimennen kurssilla käsitellään yleisimpiä hyökkäysmenetelmiä; kurssin suorittaminen ei tosin takaa että opiskelija osaisi käyttää niitä ;). Luentomateriaalissa on yleisesti ollut sekä ohjelmointivirheistä että hyökkäyksistä hyviä esimerkkejä, jotka ovat asiasta kiinnostuneelle mielenkiintoista luettavaa.&lt;br /&gt;
&lt;br /&gt;
Kurssin alkupuolella keskitytään aika paljon tietoturvaan liittyvään lainsäädäntöön ja viranomaisiin. Tätä ei kannata säikähtää, ja seuraavalla viikolla käsitelläänkin jo erilaisia salausmenetelmiä. Kurssi on aika teoriapainotteinen ja opiskelu keskittynee melko pitkälti tiettyjen sääntöjen ja näihin liittyvien esimerkkien muistamiseen, joita pystyy päättelemään osaksi terveellä järjelläkin. Kokeessa saatetaan kysyä hyvinkin yksityiskohtaista tietoa esimerkiksi sertifikaatteihin liittyvistä ongelmista.&lt;br /&gt;
&lt;br /&gt;
=== Tietokannan Suunnittelu (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Human-Computer Interaction (4op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä HCI &lt;br /&gt;
* 4. periodissa&lt;br /&gt;
&lt;br /&gt;
=== Algorithms for Bioinformatics (4op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. periodissa&lt;br /&gt;
&lt;br /&gt;
== Muut pakolliset opinnot ==&lt;br /&gt;
&lt;br /&gt;
=== Tietokone työvälineenä (1+3 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä Lapiokurssi tai pelkkä Lapio&lt;br /&gt;
* Tiiviskurssi lukuvuoden alussa (pääaineopiskelijat) sekä normaali kurssi 3. periodissa (sivuaineopiskelijat)&lt;br /&gt;
&lt;br /&gt;
Työvälinekurssi on peruskurssi, jolla opetellaan myöhemmillä kursseilla välttämättömiä käytännön taitoja. Kurssilla opetellaan käyttämään laitoksella käytössä olevia ohjelmistoja ja laitteistoja sekä valitsemaan tehtävään sopiva työkalu. Keskeisimmät Unix/Linux-komennot, HTML-perusteet, tekstieditorien ja tekstinkäsittelyohjelmien käyttö jne. kannattaa oppia, ettei sitten myöhemmin kulu pään raapimiseen enemmän aikaa kuin itse tekemiseen. Kokeneet tietokoneharrastajat voivat kyllä suorittaa kurssin tenttimällä, mutta kurssilla on pakollisia harjoitustöitä, jotka täytyy tehdä, vaikka menisi suoraan kokeeseen. Monelle kokeneellekin tietokoneenkäyttäjälle kurssilla todennäköisesti on uutta asiaa ainakin laitoksen järjestelmistä, joten kurssimateriaali ainakin kannattaa lukea läpi.&lt;br /&gt;
&lt;br /&gt;
Kurssin yhteydessä suoritetaan kaikille pakollinen TVT-ajokortti (3 op). TVT-ajokorttikoe ei oletetusti ole vaikea, mutta sitä ei pääse läpi ilman tietämystä yliopiston järjestelmistä.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On the works by Aleksi Majander 2012&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7882</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7882"/>
		<updated>2016-03-15T12:47:17Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Platform Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7880</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7880"/>
		<updated>2016-03-14T08:48:59Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Platform Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7879</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7879"/>
		<updated>2016-03-13T15:18:06Z</updated>

		<summary type="html">&lt;p&gt;Kxantti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Tänne kurssien kanavat fuksikanavan topicin sijasta, ettei se ylivuoda.&#039;&#039;&#039; Kaikki kanavat sijaitsevat &#039;&#039;&#039;IRCnetissä&#039;&#039;&#039;. Kurssikanavat eivät ole virallinen tiedonlähde. Kanavien op-politiikka ei noudata mitään kaavaa.&lt;br /&gt;
&lt;br /&gt;
Jos käyt kurssia jolla on muitakin käpistelijöitä mutta jolla ei ole vielä irkkikanavaa, perusta sellainen, lisää tähän listaan ja mainosta mahdollisesti kiinnostuneille.&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Kurssin nimi&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Algebralliset rakenteet I ja II, Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Algoritmit ongelmanratkaisussa || &#039;&#039;&#039;#alon&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II (ja muu satunnainen matematiikkajutustelu) || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Big Data Frameworks || &#039;&#039;&#039;#tkt-bdf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software Design C++ || &#039;&#039;&#039;#tkt-c++&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure || &#039;&#039;&#039;#tkt-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Design and Analysis of Algorithms || &#039;&#039;&#039;#daa&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Digitaalisen median tekniikat || &#039;&#039;&#039;#dime&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Distributed Systems || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Elements of set theory || &#039;&#039;&#039;#settheory&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Computational Creativity || &#039;&#039;&#039;#itcc2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jatko-opiskelijat / PhD students || &#039;&#039;&#039;#uh-phd&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus logiikkaan I ja II || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts15&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan sekä Todennäköisyyslaskenta || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#jym&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kombinatoriikka || &#039;&#039;&#039;#kombinatoriikka2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Legacy-ohjelmointiprojekti: TMC || &#039;&#039;&#039;#legacy&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux fundamentals || &#039;&#039;&#039;#tktl-linux-fu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Matriisilaskennan sovellukset || &#039;&#039;&#039;#matsov&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Platform Security || &#039;&#039;&#039;#tkt-mobisec&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet &amp;amp; jatkokurssi || &#039;&#039;&#039;#mooc.fi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#tkt-scala2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikka (JavaScript) || &#039;&#039;&#039;#tkt-javascript&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Project in Practical Machine Learning || &#039;&#039;&#039;#tkt-ppml2016&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaislaskenta grafiikkasuorittimilla || &#039;&#039;&#039;#rigra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokannan suunnittelu || &#039;&#039;&#039;#tikasu&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokonegrafiikka || &#039;&#039;&#039;#tkt-gfx&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#verkot2014&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-selainohjelmointi || &#039;&#039;&#039;#youdontknowjs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;650px&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;500px&amp;quot;|&#039;&#039;&#039;Muut kanavat&#039;&#039;&#039; ||style=&amp;quot;border-bottom:2px solid black;&amp;quot; width=&amp;quot;150px&amp;quot;|&#039;&#039;&#039;Kanava&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#tkt-readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Aktiivinen aktiivikanava TKO-älyn aktiiveille || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit ja Hackathonit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2015&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijöiden Elektronisen Musiikin kerho || &#039;&#039;&#039;#KEMU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Yleistä keskustelua, TKO-älyn entisiä ja nykyisiä jäseniä || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pelikäpistely || &#039;&#039;&#039;#tkt-gamedev&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| RTS, MOBA ja muu hiiren tolkuton naksuttelu || &#039;&#039;&#039;#tkt-starre&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Counter-Strike: Global Offensiven pelaajat. Putting CS back to CS. || &#039;&#039;&#039;#tkt-csgo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Dota 2:n huonoimmat pelaajat. Tänne olet tervetullut vaikket osaisi. || &#039;&#039;&#039;#tkt-dota-noobs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Se Dota 2:ta parempi MOBA. || &#039;&#039;&#039;#tkt-honi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Niille, jotka uskaltavat myöntää pelaavansa League of Legendsiä || &#039;&#039;&#039;#tkt-lol&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Magicin, tuon parhaan korttipelin, paskimmat pelaajat || &#039;&#039;&#039;#tkt-mtg&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Hieman huonomman korttipelin vielä huonommat pelaajat || &#039;&#039;&#039;#tkt-hearthstone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Vastaisku aktiivikannulle! Kaikki paitsi idlaaminen on kielletty || &#039;&#039;&#039;#tkt-passiivi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kumpulan KampusKino: Leffojen ja sarjojen toljottaminen Navetan valkokankaalla || &#039;&#039;&#039;#tkt-kino&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Pizzatilausten koordinointi || &#039;&#039;&#039;#tkt-pizza&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Epävirallisten saunaexcujen koordinointi ja muu saunakeskustelu || &#039;&#039;&#039;#tkt-sauna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tiukat säännöstöt / Esoteerista paskaa / Tule ja nauti || &#039;&#039;&#039;#tkt-haiku&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Käpistelijänaisten tukikanava (kaikki sukupuolet tervetulleita) || &#039;&#039;&#039;#tkt-akat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Liikunta- ja ulkoilukanava || &#039;&#039;&#039;#tkt-ulos&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Jos on tylsää elämässä || &#039;&#039;&#039;#tkt-trollaus&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Suora linkki tänne: http://tinyurl.com/kanavat&lt;/div&gt;</summary>
		<author><name>Kxantti</name></author>
	</entry>
</feed>