<?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=Lindert</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=Lindert"/>
	<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/Toiminnot:Muokkaukset/Lindert"/>
	<updated>2026-04-14T20:35:42Z</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=7389</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7389"/>
		<updated>2013-09-06T03:39:16Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
&amp;lt;!--| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;--&amp;gt;&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 || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| C-ohjelmointi || &#039;&#039;&#039;#cee&#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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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;
&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;
| Internet Protocols || &#039;&#039;&#039;#tkt-protocols&#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;
&amp;lt;!--| Johdatus peliohjelmointiin || &#039;&#039;&#039;#c-saab&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tekoälyyn || &#039;&#039;&#039;#johtek&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts13&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Kandidaatintutkielma || &#039;&#039;&#039;#tkt-kandi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Käyttöjärjestelmät || &#039;&#039;&#039;#tkt-os&#039;&#039;&#039;--&amp;gt;&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-lama2013&#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;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2013&#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;#javalabra2013&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || &#039;&#039;&#039;#ohpe&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe&#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;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#039;&#039;&#039;--&amp;gt;&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;#tsoha2013&#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;#tito2013&#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;
&amp;lt;!--| Tietoliikenteen harjoitustyö || &#039;&#039;&#039;#tilpeharkka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2013&#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;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wadup&#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;
| Apukanavalta opintoneuvontaa || &#039;&#039;&#039;#tkt-apu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit || &#039;&#039;&#039;#tkt-casuaali&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Fuksikanava]] || &#039;&#039;&#039;#tkt-fuksit2013&#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;
| TKO-älyn jääräkanava || &#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;
&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7190</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7190"/>
		<updated>2013-01-15T11:09:55Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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  (lecturer: Byakushin) || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;&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;
| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;&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;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&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;
&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;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#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;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2012&#039;&#039;&#039;--&amp;gt;&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 jatkokurssi || &#039;&#039;&#039;#ohpe2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe2012&#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;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Overlay and P2P Networks || &#039;&#039;&#039;#op2p&#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;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;#tsoha2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#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;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito2012&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;&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;
|-&lt;br /&gt;
&amp;lt;!--| Web-palvelinohjelmointi || &#039;&#039;&#039;#wad&#039;&#039;&#039;--&amp;gt;&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;
| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;&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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casuaali&#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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#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;
&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7186</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7186"/>
		<updated>2013-01-08T13:59:36Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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  (lecturer: Byakushin) || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;&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;
| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;&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;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&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;
&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;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#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;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2012&#039;&#039;&#039;--&amp;gt;&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 jatkokurssi || &#039;&#039;&#039;#ohpe2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe2012&#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;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&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;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;#tsoha2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito2012&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;&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;
|-&lt;br /&gt;
&amp;lt;!--| Web-palvelinohjelmointi || &#039;&#039;&#039;#wad&#039;&#039;&#039;--&amp;gt;&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;
| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;&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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casual&#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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#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;
&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7185</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7185"/>
		<updated>2013-01-08T13:57:01Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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  (lecturer: Byakushin) || &#039;&#039;&#039;#distsys&#039;&#039;&#039;--&amp;gt;&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;
| Interactive Systems ja Human-Computer Interaction || &#039;&#039;&#039;#hyhci&#039;&#039;&#039;&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;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&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;
&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;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts12&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2012&#039;&#039;&#039;--&amp;gt;&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 jatkokurssi || &#039;&#039;&#039;#ohpe2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe2012&#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;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&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;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;#tsoha2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito2012&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteiden harjoitustyö || &#039;&#039;&#039;#tiralabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;&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;
|-&lt;br /&gt;
&amp;lt;!--| Web-palvelinohjelmointi || &#039;&#039;&#039;#wad&#039;&#039;&#039;--&amp;gt;&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;
| XML-metakieli || &#039;&#039;&#039;#tkt-xml&#039;&#039;&#039;&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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casual&#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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#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;
&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7152</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7152"/>
		<updated>2012-12-13T19:15:00Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
&amp;lt;!--| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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;
| Distributed Systems  (lecturer: Byakushin) || &#039;&#039;&#039;#distsys&#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;!--| Human-Computer Interaction || &#039;&#039;&#039;#hci&#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 Machine Learning || &#039;&#039;&#039;#tkt-iml&#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;
&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;#jtkts12&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2012&#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;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistoprojektien johtaminen ja ryhmädynamiikka || &#039;&#039;&#039;#ohdyna&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || &#039;&#039;&#039;#ohpe2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe2012&#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;
| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&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;
| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;&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;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;#tsoha2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietokoneen toiminta || &#039;&#039;&#039;#tito2012&#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 perusteet || &#039;&#039;&#039;#tilpe2012&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietorakenteet || &#039;&#039;&#039;#tira2012&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wad&#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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casual&#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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#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;
&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7146</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=7146"/>
		<updated>2012-10-31T15:55:21Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
&amp;lt;!--| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;--&amp;gt;&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;
| Distributed Systems  (lecturer: Byakushin) || &#039;&#039;&#039;#distsys&#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;!--| Human-Computer Interaction || &#039;&#039;&#039;#hci&#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 Machine Learning || &#039;&#039;&#039;#tkt-iml&#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;
&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;#jtkts12&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus yliopistomatematiikkaan || &#039;&#039;&#039;#yomatikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Laboratory of Computational Creativity and Humor || &#039;&#039;&#039;#tkt-luovat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Laskennan mallit || &#039;&#039;&#039;#tkt-lama2012&#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;
&amp;lt;!--| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotekniikan menetelmät || &#039;&#039;&#039;#otm2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || &#039;&#039;&#039;#ohpe2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe2012&#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;
| Ohjelmointitekniikka (C++) || &#039;&#039;&#039; #tkt-cpp &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&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;
| Seminar: Distributed Algorithms || &#039;&#039;&#039;#dasem12&#039;&#039;&#039;&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;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;#tsoha2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tietorakenteet ja algoritmit || &#039;&#039;&#039;#tira&#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 perusteet || &#039;&#039;&#039;#tilpe2012&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietorakenteet || &#039;&#039;&#039;#tira2012&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Topologia I || &#039;&#039;&#039;#topologia&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Web-palvelinohjelmointi || &#039;&#039;&#039;#wad&#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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casual&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#039;&#039;&#039;#tko-äly&#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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6911</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6911"/>
		<updated>2012-03-16T14:55:13Z</updated>

		<summary type="html">&lt;p&gt;Lindert: Siivottu ja sortattu&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;
{|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;
| Algebra I || &#039;&#039;&#039;#algebra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#039;&#039;&#039;--&amp;gt;&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;!--| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#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;!--| 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;
| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Human-Computer Interaction || &#039;&#039;&#039;#hci&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus diskreettiin matematiikkaan || &#039;&#039;&#039;#diskis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#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;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Linux-ylläpito || &#039;&#039;&#039;#hy-linux-yp&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Matematiikka tutuksi || &#039;&#039;&#039;#matu&#039;&#039;&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistojen mallintaminen || &#039;&#039;&#039;#ohma11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin jatkokurssi || &#039;&#039;&#039;#ohja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmoinnin perusteet || &#039;&#039;&#039;#ohpe&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;&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;
&amp;lt;!--| Ohjelmointitekniikka (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Rinnakkaisohjelmointi || &#039;&#039;&#039;#tkt-rio&#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;!--| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&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;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;--&amp;gt;&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;
&amp;lt;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteet || &#039;&#039;&#039;#tira2012&#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;
| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointi (kevät 2012) ja Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointiprojekti (kevät 2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;&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;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#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 || &#039;&#039;&#039;#tkt-casual&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2011&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TKO-älyn jääräkanava || &#039;&#039;&#039;#tko-äly&#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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6910</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6910"/>
		<updated>2012-03-16T14:38:12Z</updated>

		<summary type="html">&lt;p&gt;Lindert: JFO lisätty&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;
{|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;
| Ohjelmoinnin perusteet (ja Ohjelmoinnin jatkokurssi) || &#039;&#039;&#039;#ohpe&#039;&#039;&#039;, &#039;&#039;&#039;#ohja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistojen mallintaminen || &#039;&#039;&#039;#ohma11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus diskreettiiin matematiikkaan || &#039;&#039;&#039;#diskis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Matematiikka tutuksi || &#039;&#039;&#039;#matu&#039;&#039;&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Verkot || &#039;&#039;&#039;#hy-verkot&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteet || &#039;&#039;&#039;#tira2012&#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;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#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;
&amp;lt;!--| Ohjelmointitekniikka C++ || &#039;&#039;&#039; #tkt-cpp &#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;
| Rinnakkaisohjelmointi || &#039;&#039;&#039;#tkt-rio&#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;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johdatus funktionaaliseen ohjelmointiin || &#039;&#039;&#039;#jfo2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha&#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;
&amp;lt;!--| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Käyttöliittymät || &#039;&#039;&#039;#tkt-kali&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#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;
&amp;lt;!--| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#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;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure-ohjelmointi || &#039;&#039;&#039;#tktl-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkkosovellusten toteuttaminen || &#039;&#039;&#039;#vst2011&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebra I || &#039;&#039;&#039;#algebra&#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;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointitekniikkaa (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointi (k2012) &amp;amp; Software as a Service-verkkokurssi || &#039;&#039;&#039;#konkari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointiprojekti (k2012) || &#039;&#039;&#039;#wadharkka&#039;&#039;&#039;&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;!--| Android-ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#tkt-android&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Human-Computer Interaction || &#039;&#039;&#039;#hci&#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;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointihaasteita I || &#039;&#039;&#039;#ohaaste&#039;&#039;&#039;--&amp;gt;&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;!--| Linux Fundamentals || &#039;&#039;&#039;#linuxfu&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;&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;
| Deterministic Distributed Algorithms || &#039;&#039;&#039;#dda-2012&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;&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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2011&#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;
| TKO-älyn jääräkanava || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit || &#039;&#039;&#039;#tkt-casual&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#readme&#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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6890</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6890"/>
		<updated>2012-02-20T13:16:44Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
| Ohjelmoinnin perusteet (ja Ohjelmoinnin jatkokurssi) || &#039;&#039;&#039;#ohpe&#039;&#039;&#039;, &#039;&#039;&#039;#ohja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistojen mallintaminen || &#039;&#039;&#039;#ohma11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus diskreettiiin matematiikkaan || &#039;&#039;&#039;#diskis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Matematiikka tutuksi || &#039;&#039;&#039;#matu&#039;&#039;&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteet || &#039;&#039;&#039;#tira2012&#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;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#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;
&amp;lt;!--| Ohjelmointitekniikka C++ || &#039;&#039;&#039; #tkt-cpp &#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;
| Rinnakkaisohjelmointi || &#039;&#039;&#039;#tkt-rio&#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;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha&#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;
| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#robo-tkt&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Käyttöliittymät || &#039;&#039;&#039;#tkt-kali&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;&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;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure-ohjelmointi || &#039;&#039;&#039;#tktl-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkkosovellusten toteuttaminen || &#039;&#039;&#039;#vst2011&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebra I || &#039;&#039;&#039;#algebra&#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;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu11k&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikkaa (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointi (k2012) || &#039;&#039;&#039;#konkari&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Supervised Machine Learning || &#039;&#039;&#039;#tkt-sml&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;!--| Android-ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#tkt-android&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Human-Computer Interaction || &#039;&#039;&#039;#hci&#039;&#039;&#039;--&amp;gt;&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;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointihaasteita I || &#039;&#039;&#039;#ohaaste&#039;&#039;&#039;--&amp;gt;&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;!--| Linux Fundamentals || &#039;&#039;&#039;#linuxfu&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Data Compression Techniques || &#039;&#039;&#039;#tkt-dct&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Grafiikkaohjelmointia demoskenehengessä || &#039;&#039;&#039;#tkt-demo&#039;&#039;&#039;&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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2011&#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;
| TKO-älyn jääräkanava || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit || &#039;&#039;&#039;#tkt-casual&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#readme&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Software as a Service-verkkokurssi || &#039;&#039;&#039;#tkt-saas&#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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6884</id>
		<title>Keskustelukanavat</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Keskustelukanavat&amp;diff=6884"/>
		<updated>2012-01-16T12:04:14Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
{|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;
| Ohjelmoinnin perusteet (ja Ohjelmoinnin jatkokurssi) || &#039;&#039;&#039;#ohpe&#039;&#039;&#039;, &#039;&#039;&#039;#ohja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistojen mallintaminen || &#039;&#039;&#039;#ohma11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus tietojenkäsittelytieteeseen || &#039;&#039;&#039;#jtkts11&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus diskreettiiin matematiikkaan || &#039;&#039;&#039;#diskis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Matematiikka tutuksi || &#039;&#039;&#039;#matu&#039;&#039;&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Lineaarialgebra ja matriisilaskenta I ja II || &#039;&#039;&#039;#linis&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Analyysi I ja II || &#039;&#039;&#039;#analyysi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantojen perusteet || &#039;&#039;&#039;#tikape&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Tietorakenteet || &#039;&#039;&#039;#tira2012&#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;!--| Tietoliikenteen perusteet || &#039;&#039;&#039;#tilpe&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
&amp;lt;!--| Tietokoneen toiminta || &#039;&#039;&#039;#tito&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Johdatus todennäköisyyslaskentaan || &#039;&#039;&#039;#todari&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Laskennan mallit || &#039;&#039;&#039;#tkt-lama&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| C-ohjelmointi || &#039;&#039;&#039;#cee&#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;
&amp;lt;!--| Ohjelmointitekniikka C++ || &#039;&#039;&#039; #tkt-cpp &#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;
| Rinnakkaisohjelmointi || &#039;&#039;&#039;#tkt-rio&#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;
| Ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#javalabra&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietokantasovellus || &#039;&#039;&#039;#tsoha&#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;
| Robottiohjelmoinnin harjoitustyö || &#039;&#039;&#039;#tkt-lego&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Käyttöliittymät || &#039;&#039;&#039;#tkt-kali&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logiikka I || &#039;&#039;&#039;#logiikka&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Tietoturvan perusteet || &#039;&#039;&#039;#titupe&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Computer Organization II || &#039;&#039;&#039;#tkt-co2&#039;&#039;&#039;&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;
| Toinen kotimainen kieli (ruotsi) || &#039;&#039;&#039;#svenska&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Clojure-ohjelmointi || &#039;&#039;&#039;#tktl-clojure&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Verkkosovellusten toteuttaminen || &#039;&#039;&#039;#vst2011&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tieteellinen kirjoittaminen (kandidaatintutkielma) || &#039;&#039;&#039;#tikirage&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Algebra I || &#039;&#039;&#039;#algebra&#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;!--| Game engine architecture || &#039;&#039;&#039;#tkt-gea&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmistotuotanto || &#039;&#039;&#039;#ohtu11k&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmistotuotantoprojekti || &#039;&#039;&#039;#ohtuprojekti&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointikielten kääntäjät || &#039;&#039;&#039;#kaantajat&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ohjelmointitekniikkaa (Scala) || &#039;&#039;&#039;#scala&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Web-sovellusohjelmointi (k2012) || &#039;&#039;&#039;#konkari&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Android-ohjelmoinnin harjoitustyö || &#039;&#039;&#039;#tkt-android&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Human-Computer Interaction || &#039;&#039;&#039;#hci&#039;&#039;&#039;--&amp;gt;&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;!--| Design and Analysis of Algorithms || &#039;&#039;&#039;#tkt-daa&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Introduction to Machine Learning || &#039;&#039;&#039;#tkt-iml&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--| Ohjelmointihaasteita I || &#039;&#039;&#039;#ohaaste&#039;&#039;&#039;--&amp;gt;&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;!--| Linux Fundamentals || &#039;&#039;&#039;#linuxfu&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Gradun kirjoittajille || &#039;&#039;&#039;#tkt-gradu&#039;&#039;&#039;&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;
| Fuksikanava yleiselle keskustelulle || &#039;&#039;&#039;#tkt-fuksit2011&#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;
| TKO-älyn jääräkanava || &#039;&#039;&#039;#tko-äly&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestön toiminta || &#039;&#039;&#039;#tkt-aktiivit&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Casual Nightit || &#039;&#039;&#039;#tkt-casual&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Lanit || &#039;&#039;&#039;#tkt-lan&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Ainejärjestölehti Readmen toimitus || &#039;&#039;&#039;#readme&#039;&#039;&#039;&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>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Libproxy&amp;diff=6830</id>
		<title>Libproxy</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Libproxy&amp;diff=6830"/>
		<updated>2011-09-12T08:34:13Z</updated>

		<summary type="html">&lt;p&gt;Lindert: Ak: Uusi sivu: ==Libproxy-palvelin== ===Mikä=== Libproxy on Helsingin yliopiston välityspalvelin, jonka kautta on mahdollista lukea kaupallisia opintoihin liittyviä uutis- sekä julkaisuresurssej...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Libproxy-palvelin==&lt;br /&gt;
===Mikä===&lt;br /&gt;
Libproxy on Helsingin yliopiston välityspalvelin, jonka kautta on mahdollista lukea kaupallisia opintoihin liittyviä uutis- sekä julkaisuresursseja. Kirjautumalla sisään pystyy esimerkiksi käyttämään Kauppalehden maksullisia verkkopalveluita ja lukemaan ACM- ja IEEE-julkaisutietokantoja.&lt;br /&gt;
===Miksi===&lt;br /&gt;
Libproxyn avulla Helsingin yliopisto pystyy tarjoamaan opiskelijoille heidän opiskeluittensa kannalta tärkeät palvelut ja artikkelit ilman jatkuvaa VPN-yhteyden käyttöä.&lt;br /&gt;
===Miten===&lt;br /&gt;
Libproxyä käytetään yksinkertaisesti lisäämällä URLin perään tekstin &#039;&#039;.libproxy.helsinki.fi&#039;&#039; . Jos esimerkiksi haluat välttää tenttiinlukua lukemalla uusinta tutkimusta voit kirjoittaa osoitekenttään &#039;&#039;http://portal.acm.org.libproxy.helsinki.fi&#039;&#039; tai &#039;&#039;http://ieeexplore.ieee.org.libproxy.helsinki.fi&#039;&#039;. Sinut ohjataan kirjautumissivulle jonka jälkeen pääset vapaasti lukemaan.&lt;/div&gt;</summary>
		<author><name>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=6829</id>
		<title>Fuksiwiki</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Fuksiwiki&amp;diff=6829"/>
		<updated>2011-09-12T08:25:45Z</updated>

		<summary type="html">&lt;p&gt;Lindert: &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;
&#039;&#039;&#039;Syksyn 2011 fuksi: Liity [[Fuksilista | fuksien sähköpostilistalle]], jos et liittynyt jo orientoivissa.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Fuksin selviytymispaketti|Fuksin selviytymispaketti]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Syksyn 2011 aikataulu|Syksyn aikataulu]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Tuutorit 2011|Syksyn 2011 tuutorit]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Mallilukujärjestys ensimmäiselle syksylle]]&#039;&#039;&#039;&lt;br /&gt;
* [[Opintotuki ja muutokset 2011]]&lt;br /&gt;
&amp;lt;!--* [[Neuvontapaja]]--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Fuksien kysymää]]&#039;&#039;&#039;&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;
* [[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;
&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;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6656</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6656"/>
		<updated>2011-06-19T14:08:34Z</updated>

		<summary type="html">&lt;p&gt;Lindert: /* Tietokoneen toiminta (4 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pakolliset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (4+4+2 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. ja 2. periodissa&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ä ja oppimispäiväkirjoja joko suomeksi tai englanniksi pienryhmissä.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen on välttämätöntä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta. Opiskelutekniikkaan liittyvistä tehtävistä saa lisäksi 2 opintopistettä.&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;
=== 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;
=== 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 (4 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;
=== Ohjelmistojen mallintaminen (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä 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;
=== Ohjelmoinnin harjoitustyö (4 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;
=== Tietokantojen perusteet (4 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;
=== Tietoliikenteen perusteet (4 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;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&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;
=== Tietorakenteet (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;
=== Tietorakenteiden harjoitustyö (4 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;
=== Johdatus tekoälyyn (4 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;
* 1. 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;
=== Laskennan mallit (6 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;
=== Tietokantasovellus (4 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;
=== Tietokoneen toiminta (4 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;
=== Rinnakkaisohjelmointi (4-6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä RiO&lt;br /&gt;
* Periodit 3-4&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan rinnakkaisuuden ja hajautettujen järjestelmien algoritmeihin, niitten suunnitteluun ja toteutukseen. Näiden perustehtäviin kuuluu esimerkiksi varmistaa että useamman rinnakkaisen toiminnon jakama tieto pysyy korrektina päästämällä vain yhden prosessin kerrallaan muuttamaan kyseistä tietoa. Lisäksi käydään läpi rinnakkaisuuden formaalia esitystä sekä ohjelmien rinnakkaistamista ja sen mukanaan tuomia hyötyjä ja haittoja.&lt;br /&gt;
&lt;br /&gt;
Kurssin aikana suoritetaan myös pienehkö kahden opintopisteen arvoinen harjoitustyö itse luentokurssin neljän opintopisteen lisäksi. Erilliskokeena suorittaessa voi myös jättää harjoitustyön tekemättä.&lt;br /&gt;
&lt;br /&gt;
Esitietoina vaaditaan joko Tietokoneen Toiminta-kurssia tai esitietokoetta, joka järjestetään kurssin alussa. Esitietovaatimusten suurimpana hyötynä on varmistaa että rinnakkaisuuden ongelmat laitetasolla ovat mahdollisimman selkeät. RiO taas on edellytys syventävämmille kursseille jotka edellyttävät rinnakkaisuuden ymmärtämistä; esimerkkeinä mainittakoot Käyttöjäjestelmät sekä Hajautetut Järjestelmät.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (4 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;
== Valinnaisia kursseja ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 2. 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;
----&lt;br /&gt;
Päivitetty 2011, Anssi Syrjäsalo&lt;/div&gt;</summary>
		<author><name>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6655</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6655"/>
		<updated>2011-06-19T11:41:23Z</updated>

		<summary type="html">&lt;p&gt;Lindert: /* Rinnakkaisohjelmointi (6 op) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pakolliset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (4+4+2 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. ja 2. periodissa&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ä ja oppimispäiväkirjoja joko suomeksi tai englanniksi pienryhmissä.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen on välttämätöntä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta. Opiskelutekniikkaan liittyvistä tehtävistä saa lisäksi 2 opintopistettä.&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;
=== 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;
=== 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 (4 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;
=== Ohjelmistojen mallintaminen (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä 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;
=== Ohjelmoinnin harjoitustyö (4 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;
=== Tietokantojen perusteet (4 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;
=== Tietoliikenteen perusteet (4 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;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&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;
=== Tietorakenteet (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;
=== Tietorakenteiden harjoitustyö (4 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;
=== Johdatus tekoälyyn (4 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;
* 1. 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;
=== Laskennan mallit (6 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;
=== Tietokantasovellus (4 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;
=== Tietokoneen toiminta (4 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.&lt;br /&gt;
&lt;br /&gt;
=== Rinnakkaisohjelmointi (4-6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä RiO&lt;br /&gt;
* Periodit 3-4&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan rinnakkaisuuden ja hajautettujen järjestelmien algoritmeihin, niitten suunnitteluun ja toteutukseen. Näiden perustehtäviin kuuluu esimerkiksi varmistaa että useamman rinnakkaisen toiminnon jakama tieto pysyy korrektina päästämällä vain yhden prosessin kerrallaan muuttamaan kyseistä tietoa. Lisäksi käydään läpi rinnakkaisuuden formaalia esitystä sekä ohjelmien rinnakkaistamista ja sen mukanaan tuomia hyötyjä ja haittoja.&lt;br /&gt;
&lt;br /&gt;
Kurssin aikana suoritetaan myös pienehkö kahden opintopisteen arvoinen harjoitustyö itse luentokurssin neljän opintopisteen lisäksi. Erilliskokeena suorittaessa voi myös jättää harjoitustyön tekemättä.&lt;br /&gt;
&lt;br /&gt;
Esitietoina vaaditaan joko Tietokoneen Toiminta-kurssia tai esitietokoetta, joka järjestetään kurssin alussa. Esitietovaatimusten suurimpana hyötynä on varmistaa että rinnakkaisuuden ongelmat laitetasolla ovat mahdollisimman selkeät. RiO taas on edellytys syventävämmille kursseille jotka edellyttävät rinnakkaisuuden ymmärtämistä; esimerkkeinä mainittakoot Käyttöjäjestelmät sekä Hajautetut Järjestelmät.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (4 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;
== Valinnaisia kursseja ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 2. 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;
----&lt;br /&gt;
Päivitetty 2011, Anssi Syrjäsalo&lt;/div&gt;</summary>
		<author><name>Lindert</name></author>
	</entry>
	<entry>
		<id>https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6654</id>
		<title>Kurssikuvauksia</title>
		<link rel="alternate" type="text/html" href="https://fuksiwiki.tko-aly.fi/index.php?title=Kurssikuvauksia&amp;diff=6654"/>
		<updated>2011-06-19T11:40:45Z</updated>

		<summary type="html">&lt;p&gt;Lindert: lol joku rio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pakolliset kurssit ==&lt;br /&gt;
&lt;br /&gt;
=== Johdatus tietojenkäsittelytieteeseen (4+4+2 op) ===&lt;br /&gt;
&lt;br /&gt;
* 1. ja 2. periodissa&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ä ja oppimispäiväkirjoja joko suomeksi tai englanniksi pienryhmissä.&lt;br /&gt;
&lt;br /&gt;
Kurssilla ei ole koetta joten tehtäviin osallistuminen on välttämätöntä. Kurssin yhteydessä suoritetaan myös pakollinen 4-op-englanti pois alta. Opiskelutekniikkaan liittyvistä tehtävistä saa lisäksi 2 opintopistettä.&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;
=== 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;
=== 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 (4 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;
=== Ohjelmistojen mallintaminen (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös niemellä 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;
=== Ohjelmoinnin harjoitustyö (4 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;
=== Tietokantojen perusteet (4 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;
=== Tietoliikenteen perusteet (4 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;
=== Tietoturvan perusteet (4 op) ===&lt;br /&gt;
&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;
=== Tietorakenteet (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;
=== Tietorakenteiden harjoitustyö (4 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;
=== Johdatus tekoälyyn (4 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;
* 1. 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;
=== Laskennan mallit (6 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;
=== Tietokantasovellus (4 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;
=== Tietokoneen toiminta (4 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.&lt;br /&gt;
&lt;br /&gt;
=== Rinnakkaisohjelmointi (6 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä RiO&lt;br /&gt;
* Periodit 3-4&lt;br /&gt;
* 4-6 opintopistettä&lt;br /&gt;
&lt;br /&gt;
Kurssilla tutustutaan rinnakkaisuuden ja hajautettujen järjestelmien algoritmeihin, niitten suunnitteluun ja toteutukseen. Näiden perustehtäviin kuuluu esimerkiksi varmistaa että useamman rinnakkaisen toiminnon jakama tieto pysyy korrektina päästämällä vain yhden prosessin kerrallaan muuttamaan kyseistä tietoa. Lisäksi käydään läpi rinnakkaisuuden formaalia esitystä sekä ohjelmien rinnakkaistamista ja sen mukanaan tuomia hyötyjä ja haittoja.&lt;br /&gt;
&lt;br /&gt;
Kurssin aikana suoritetaan myös pienehkö kahden opintopisteen arvoinen harjoitustyö itse luentokurssin neljän opintopisteen lisäksi. Erilliskokeena suorittaessa voi myös jättää harjoitustyön tekemättä.&lt;br /&gt;
&lt;br /&gt;
Esitietoina vaaditaan joko Tietokoneen Toiminta-kurssia tai esitietokoetta, joka järjestetään kurssin alussa. Esitietovaatimusten suurimpana hyötynä on varmistaa että rinnakkaisuuden ongelmat laitetasolla ovat mahdollisimman selkeät. RiO taas on edellytys syventävämmille kursseille jotka edellyttävät rinnakkaisuuden ymmärtämistä; esimerkkeinä mainittakoot Käyttöjäjestelmät sekä Hajautetut Järjestelmät.&lt;br /&gt;
&lt;br /&gt;
=== Ohjelmistotuotanto (4 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;
== Valinnaisia kursseja ==&lt;br /&gt;
&lt;br /&gt;
=== C-ohjelmointi (4 op) ===&lt;br /&gt;
&lt;br /&gt;
* Tunnetaan myös nimellä C&lt;br /&gt;
* 2. 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;
----&lt;br /&gt;
Päivitetty 2011, Anssi Syrjäsalo&lt;/div&gt;</summary>
		<author><name>Lindert</name></author>
	</entry>
</feed>