<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
		<id>https://studieboken.iportalen.se/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=155.4.150.73</id>
		<title>Studieboken - Skapad av och för studenter - Användarbidrag [sv]</title>
		<link rel="self" type="application/atom+xml" href="https://studieboken.iportalen.se/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=155.4.150.73"/>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Special:Bidrag/155.4.150.73&amp;redirect=no"/>
		<updated>2026-10-17T20:40:08Z</updated>
		<subtitle>Användarbidrag</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi,_Internationell_-_Link%C3%B6pings_universitet&amp;diff=490</id>
		<title>Industriell ekonomi, Internationell - Linköpings universitet</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi,_Internationell_-_Link%C3%B6pings_universitet&amp;diff=490"/>
				<updated>2016-04-22T19:13:40Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: /* Årkurs 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Obligatoriska kurser =&lt;br /&gt;
== Årkurs 1 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[TATM79 - Matematisk grundkurs]] &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 1 - del 1 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TATA41 - Envariabelanalys 1 &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 1 - del 1 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA42 - Envariabelanalys 2 &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO61 - Industriell organisation, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 1 - del 2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA43 - Flervariabelanalys &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TSKS08 - Introduktionskurs i Matlab &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 1 - del 2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 2 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP14 - Optimeringslära, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik &amp;lt;br&amp;gt;&lt;br /&gt;
TSBB16 - Grundläggande systemmodeller &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 2 - del 1 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS79 - Matematisk statistik, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik I &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 2 - del 1 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP37 - Optimeringslära, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
[[TPPE98 - Ekonomisk analys: Ekonomisk teori]] &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 2 - del 2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: [[TDDC30 - Programmering i Java, datastrukturer och algoritmer|TDDC30 - Programmering i Java, datastrukturer och algoritmer]] &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: [[TMEL53 - Digitalteknik|TMEL53 - Digitalteknik]] &amp;lt;br&amp;gt;&lt;br /&gt;
Energiteknik: TMMV03 - Tillämpad termodynamik och strömningslära &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMMV03 - Tillämpad termodynamik och strömningslära &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: TFBI11 - Genetik och evolution &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS65 - Matematisk statistik I, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
[[TPPE24 - Ekonomisk analys: Besluts- och finansiell metodik]] &amp;lt;br&amp;gt;&lt;br /&gt;
Språkkurs 2 - del 2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: TATA52 - Diskret matematik &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: TATA57 - Transformteori &amp;lt;br&amp;gt;&lt;br /&gt;
Energiteknik: TMMV09 - Energiomvandling - tekniska perspektiv &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMHL07 - Hållfasthetslära, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: TRTE16 - Grundläggande miljökemiska principer &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 3 (Utomlands)==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO04 - Projektledning &amp;lt;br&amp;gt;&lt;br /&gt;
TSRT19 - Reglerteknik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: TSEA51 - Digitalteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: TSEA82 - Datorteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Energiteknik: TMES44 - Energisystem - tillförsel och användning &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMPT07 - Produktionsteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: TFBI22 - Cellbiologi och mikrobiella processer &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TFYA14 - Fysik &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE13 - Produktionsekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: TDDD71 - Datastrukturer och algoritmer &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDTS10 - Datorarkitektur &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: TSDT18 - SIgnaler och system &amp;lt;br&amp;gt;&lt;br /&gt;
Energiteknik: TKMJ24 - Miljöteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMPT07 - Produktionsteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMKM86 - Konstruktionsmaterial &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: TFBI22 - Cellbiologi och mikrobiella processer &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: NBIB45 - Fysiologiska principer och etik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIM02 - Grundläggande marknadsföring &amp;lt;br&amp;gt;&lt;br /&gt;
Kandidatprojekt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: TDDD81 - Databasteknik för kandidatprojekt &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: TDDC30 - Programmering i Java, datastrukturer och algoritmer &amp;lt;br&amp;gt;&lt;br /&gt;
Energiteknik: TKMJ39 - Resurseffektiva produkter och produktion &amp;lt;br&amp;gt;&lt;br /&gt;
Maskinteknik: TMKT14 - CAD och maskinelement &amp;lt;br&amp;gt;&lt;br /&gt;
Bioteknik: TFBI23 - Ekologi och miljö &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Kanididatprojekt&lt;br /&gt;
&lt;br /&gt;
''Teknisk Inriktning''&lt;br /&gt;
&lt;br /&gt;
Datateknik: TDDD13 - Databasteknik (OBS Välj en av Databastekniks-kurserna!) &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDDD81 - Databasteknik för kandidatprojekt &amp;lt;br&amp;gt;&lt;br /&gt;
Systemteknik: TSKS10 - Signaler, information och kommunikation &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Länkar ==&lt;br /&gt;
[http://kdb-5.liu.se/liu/lith/studiehandboken/svutbplan.lasso?&amp;amp;up_year=2016&amp;amp;up_ladokkod=6CIEI Utbildningsplan]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.lith.liu.se/sh2016/civing/lot_ii.html Programplan]&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=TDDC30_-_Programmering_i_Java,_datastrukturer_och_algoritmer&amp;diff=377</id>
		<title>TDDC30 - Programmering i Java, datastrukturer och algoritmer</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=TDDC30_-_Programmering_i_Java,_datastrukturer_och_algoritmer&amp;diff=377"/>
				<updated>2016-04-13T19:47:50Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox academic&lt;br /&gt;
| honorific_prefix   = ASDD&lt;br /&gt;
| name               = Max Fischer&lt;br /&gt;
| honorific_suffix   = ASDDA&lt;br /&gt;
| native_name        = ASDDSA&lt;br /&gt;
| native_name_lang   = SVVASVS&lt;br /&gt;
| image              = &lt;br /&gt;
| image_size         = &lt;br /&gt;
| alt                = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
TDDC30 är en grundkurs i programspråket Java, datastrukturer och algoritmer. Kursen omfattar 6 högskolepoäng och undervisas både för  [[Industriell ekonomi - Linköpings universitet|Industriell ekonomi]] och för [[Systemvetenskap - Linköpings universitet|Systemvetenskap]] på [[Linköpings universitet|Linköpings universitet]]. Kursen är en påbyggnadskurs på [[TDDD11 - Programmering, grundkurs|TDDD11 - Programmering, grundkurs]] och förutsätter att studenten har grundläggande programmeringskunskaper gällande ett &amp;quot;programmeringstänk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kursen går igenom ett antal sorteringsalgoritmer, olika typer av datastrukturer, hur man skriver och använder UML-diagram, hur man använder det grafiska Swingpaketet och allmänt hur man ska tänka för att programmera objektorienterat. Examinationsmomenten innefattar 5 stycken laborationer (0-4) och en tentamen. Tentan består av en teoretisk del och en praktisk programmeringsdel.&lt;br /&gt;
&lt;br /&gt;
= Java =&lt;br /&gt;
Java är ett av världens mest använda programmeringsspråk, just för dess operativsystemsneutralitet. I programspråket ADA som kursen TDDD11 undervisas i så använder man en kompilator som tolkar den källkod som programmeraren skrivit och gör om den till maskinkod som datorn kan köra. I Java så finns det ett mellanlager som kallas för Java Virtual Machine (JVM). JVM gör det möjlig att köra samma javakod på alla operativsystem som har stöd för detta, vilket i stort sett gör språket plattformsoberoende, det går lika bra att köra javakod i en Androidtelefon som på en Mac.&lt;br /&gt;
&lt;br /&gt;
Språket är uppbyggt på klasser som på olika sätt kommunicerar och interagerar med varandra.&lt;br /&gt;
&lt;br /&gt;
= Klass =&lt;br /&gt;
Java är ett objektorienterat språk som är uppbyggt på b.la klasser. En klass är ett eget kodstycke som är en mall man använder för att skapa ett objekt i Java. I klassen skriver man instruktioner om hur just den klassen/objektet fungerar. Instruktionerna (klassen) består av importering av paket, attribut och metoder. Se följande exempel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
package test; // Denna klass tillhör paketet &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Detta är en kommentar. Kommentarer i Java skrivs med två stycken slash följt av en text&lt;br /&gt;
import java.grafisktpaket.* // Stjärnan (*) betyder att vi importerar precis alla klasser i paketet grafisktpaket&lt;br /&gt;
import java.util.ArrayList; // Här hämtar vi enbart klassen &amp;quot;ArrayList&amp;quot;. Det är viktigt att inte hämta onödiga klasser som inte används&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
private int nummer; // Här skapar vi en private integer (heltalsvariabel) med namnet nummer&lt;br /&gt;
private double nummer2; // Här skapar vi en private double (decimalvariabel) med namn nummer2&lt;br /&gt;
private String namn; // Här skapar vi en private String (textsträng) med namnet namn&lt;br /&gt;
private boolean check; // Här skapar vi en private boolean (tvåvärdesvariabel) med namn check&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class skrivText() { // Klassen heter skrivText och är public (dvs synlig för alla).&lt;br /&gt;
        System.out.println(&amp;quot;Hello World!&amp;quot;); // Här skrivs &amp;quot;Hello World!&amp;quot; ut i konsolen.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
För att skapa ett objekt så instansierar man en klass, detta görs i koden man vill skapa objektet. I nedanstående exempel instansierar vi klassen &amp;lt;i&amp;gt;ArrayList&amp;lt;/i&amp;gt;. Detta sker i två steg:&lt;br /&gt;
# Skapa en referens som ska peka på ett objekt skapat kring en specifik klass.&lt;br /&gt;
# Instansiera själva objektet och peka referensen på objektet.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; list; // Steg 1: Här skapar referensen &amp;quot;list&amp;quot; till ett ArrayList-objekt.&lt;br /&gt;
list = new ArrayList&amp;lt;String&amp;gt;(); // Steg 2. Här skapas själva ArrayList-objektet som referensen &amp;quot;list&amp;quot; pekar på.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detta kan även göras genom att skriva ihop de två stegen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Loopar =&lt;br /&gt;
En loop är ett kodstycke som man vill ska upprepas ett visst antal gånger. Det finns egentligen två loopar som användes mycket i kursen: While-loop och For-loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; While-loop &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
En While-loop används då man med ett villkor vill bestämma antalet loopar som ska göras, så länge villkoret är uppfyllt så körs loopen. Viktigt är att det finns en variabel i villkoret som förändras under varje loop, annars kommer loopen att gå i all evighet. Ett exempel kan vara att man letar efter ett visst värde i en lista, vi slutar loopen när vi hittat värdet. Det programmet kan se ut på följande sätt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; listOfNumbers = new ArrayList&amp;lt;Integer&amp;gt;(); // Vi skapar en ArrayList av Integers (siffror)&lt;br /&gt;
&lt;br /&gt;
add.listOfNumbers(1); // Vi lägger till ett antal siffror i vår lista&lt;br /&gt;
add.listOfNumbers(2);&lt;br /&gt;
add.listOfNumbers(3);&lt;br /&gt;
add.listOfNumbers(4);&lt;br /&gt;
add.listOfNumbers(5);&lt;br /&gt;
&lt;br /&gt;
private int counter = 0;&lt;br /&gt;
&lt;br /&gt;
while (listOfNumbers(counter) != 3) {&lt;br /&gt;
     ++counter;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
System.Out.println(counter); // Siffran 3 kommer att skrivas ut i terminalen&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; For-loop &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
For-loopen är en typ av While-loop, även den har ett villkor i sig och så länge som villkoret är uppfyllt så körs loopen. For-loopens huvud är uppdelat i tre delar:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# Deklaration av integer som används som en counter&lt;br /&gt;
# Villkor&lt;br /&gt;
# Hur countern ska förändras&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om vi skriver samma exempel som ovan, fast med en for-loop, skulle det kunna se ut såhär:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; listOfNumbers = new ArrayList&amp;lt;Integer&amp;gt;(); // Vi skapar en ArrayList av Integers (siffror)&lt;br /&gt;
&lt;br /&gt;
add.listOfNumbers(1); // Vi lägger till ett antal siffror i vår lista&lt;br /&gt;
add.listOfNumbers(2);&lt;br /&gt;
add.listOfNumbers(3);&lt;br /&gt;
add.listOfNumbers(4);&lt;br /&gt;
add.listOfNumbers(5);&lt;br /&gt;
&lt;br /&gt;
private int forPrint;&lt;br /&gt;
&lt;br /&gt;
// Vi skapar integens i som börjar med värdet 0. Detta är vår counter&lt;br /&gt;
// Så länge villkoret listOfNumbers(i) != 3 så körs loopen&lt;br /&gt;
// Varje varv loopen körs så ökar countern med 1&lt;br /&gt;
for (int i = 0; listOfNumbers(i) != 3; ++i) { &lt;br /&gt;
   forPrint = i;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
System.Out.println(forPrint); // Siffran 3 kommer att skrivas ut i terminalen&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= UML =&lt;br /&gt;
[[File:UML.png|frame|UML-diagram]]&lt;br /&gt;
[[File:UML-relation.png|frame| Ett UML-schema beskriver relationen mellan klasser]]&lt;br /&gt;
Unified Modeling Language (UML) är ett objektorienterat sätt att modelera system som beskriver hur olika klasser hör ihop. Ett klassdiagram (som du ser till höger) är en beskrivning över en klass, vad klassen heter, vilka attribut/variabler klassen har och dess metoder. Det beskriver också vilken access varje attribut och metod har genom ett &amp;quot;prefix&amp;quot; som skrivs innan attributet/metoden. Det beskriver dessutom vilket indata varje metod har, samt om metoden returnerar något data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Access klassdiagram&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;u&amp;gt;Prefix &amp;lt;/u&amp;gt;&lt;br /&gt;
|&amp;lt;u&amp;gt;Access&amp;lt;/u&amp;gt;&lt;br /&gt;
|&amp;lt;u&amp;gt;Explanation&amp;lt;/u&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; + &amp;lt;/b&amp;gt;&lt;br /&gt;
|public&lt;br /&gt;
|Synlig för klassen, paketet, subklasser och värld.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; - &amp;lt;/b&amp;gt;&lt;br /&gt;
|private&lt;br /&gt;
|Synlig enbart i klassen&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; # &amp;lt;/b&amp;gt;&lt;br /&gt;
|protected&lt;br /&gt;
|Synlig för klassen, paketet och subklasser.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;understruken&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
|static&lt;br /&gt;
|Ett static attribut behöver inte instanseras för att användas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;italic&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
|abstract&lt;br /&gt;
|Klassen kan inte instanseras och innehåller metoder som &amp;lt;u&amp;gt;måste&amp;lt;/u&amp;gt; implementeras.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ett fullt UML-schema beskriver vilka relationer klasserna har till varandra. Vi kommer senare att gå igenom att klasser kan både ärva och implementera andra klasser. Detta är någonting som ett UML-schema visar. Schemat beskriver även om en klass använder, äger eller &amp;quot;har&amp;quot; en annan klass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I följande exempel är klassen &amp;quot;Animal&amp;quot; en superklass till subklasserna &amp;quot;Cat&amp;quot; och &amp;quot;Dog&amp;quot;, det vill säga att Cat och Dog ärver från Animal. När en klass ärver från en annan klass så kan man via subklassen (Cat &amp;amp; Dog) använda alla metoder som superklassen (Animal) har. Dessutom finns det möjlighet att överskriva (Override) metoder i supeklassen. T.ex har superklassen Animal en klass som heter &amp;quot;Eat&amp;quot;. Dock så vill vi specificera exakt vad just Cat och Dog ska äta, så vi skriver en ny Eat-metod i både Cat och Dog. Kallar vi nu på metoder Eat med ett Cat- eller Dogobjekt så kommer deras egna metoder att köras och inte superklassen Animals Eat-metod. Väljer man däremot att inte skriva en ny Eat-metod i sin subklass så kommer superklassens metod att köras.&lt;br /&gt;
[[File:UML-arv.png|left|UML-arv. Animal är superklass som subklasserna Cat och Dog ärver ifrån]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Datastrukturer =&lt;br /&gt;
&lt;br /&gt;
== Träd ==&lt;br /&gt;
En trädstruktur bygger på en rotnod som är &amp;quot;grunden&amp;quot; i trädet. Det är i roten som all avsökning börjar och det är även i roten som man tar bort objekt ur trädet. Varje nod innehåller det datat man vill lagra, det kan till exempel vara siffror, filmtitlar, personnummer osv. Noden har sedan en referens i sig som pekar på dess barn. &amp;lt;br&amp;gt;&lt;br /&gt;
Ett träd har följande uppdelning: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Trad1.png|frame|Träd]]&lt;br /&gt;
* &amp;lt;b&amp;gt; Rot: &amp;lt;/b&amp;gt; Grundnoden&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Förälder:&amp;lt;/b&amp;gt; Förälder till noden under sig &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Barn:&amp;lt;/b&amp;gt; Barn till noden över sig &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Syskon: &amp;lt;/b&amp;gt; Två noder som har samma förälder &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Gren: &amp;lt;/b&amp;gt; Ett träd kan ha flera grenar. Varje gren har en toppnod och en egen trädstruktur &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Löv: &amp;lt;/b&amp;gt; Nod som inte har några barn &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Heap ==&lt;br /&gt;
En heap bygger på en fullstädig trädstruktur där varje nod högst kan ha 2 stycken barn. Det finns två typer av heapar: Maxheap och Minheap.&lt;br /&gt;
&lt;br /&gt;
[[File:Maxheap.png|frame|Maxheap]]&lt;br /&gt;
[[File:Minheap.png|frame|Minheap]]&lt;br /&gt;
&amp;lt;b&amp;gt; Maxheap &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Roten har det största värdet i heapen &lt;br /&gt;
* Varje barn har ett mindre värde än sin förälder&lt;br /&gt;
* Vid borttagning tas rotnoden bort. Den ersätts med den sista noden i heapen (noden som är längst till höger i nedersta leveln). Där efter tittar man om nått av barnen är större än den nya roten. Finner man ett barn som är större, byt dem. Där efter fortsätter man titta på barnen och ser om nån av de två nya barnen är större än noden. Är båda barnen större, byt med den största.&lt;br /&gt;
* Vid inaddering av en nod, lägg den sist i heapen (dvs på nästa tomma plats, längst ner i heapen, sett från vänster). Där efter, se om noden är större än sin förälder. Om ja, byt plats, om nej stanna. Fortsätt tills noden har hittat sin rätta plats.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Minheap &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Roten har det minsta värdet i heapen&lt;br /&gt;
* Varje barn har ett större värde än sin förälder&lt;br /&gt;
* Vid borttagning tas rotnoden bort. Den ersätts med den sista noden i heapen (noden som är längst till höger i nedersta leveln). Där efter tittar man om nått av barnen är mindre än den nya roten. Finner man ett barn som är mindre, byt dem. Där efter fortsätter man titta på barnen och ser om nån av de två nya barnen är mindre än noden. Är båda barnen mindre, byt med den minsta.&lt;br /&gt;
* Vid inaddering av en nod, lägg den sist i heapen (dvs på nästa tomma plats, längst ner i heapen, sett från vänster). Där efter, se om noden är mindre än sin förälder. Om ja, byt plats, om nej stanna. Fortsätt tills noden har hittat sin rätta plats.&lt;br /&gt;
&lt;br /&gt;
== Binärt sökträd ==&lt;br /&gt;
[[File:Binart-soktrad.png|frame|Binärt sökträd]]&lt;br /&gt;
Ett binärt sökträd består även det av en trädstruktur, dock inte nödvändigtvis ett fullständig träd. Ett binärt sökträd har följande egenskaper:&lt;br /&gt;
* Varje nod har ett värde&lt;br /&gt;
* Nodens vänstra barn och alla andra noder i det vänstra benet ska ha ett mindre värde än noden själv&lt;br /&gt;
* Nodens högra barn och alla andra noder i det högra benet ska ha ett större värde än noden själv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kö (Queue) ==&lt;br /&gt;
[[File:Queue.png|frame|Queue]]&lt;br /&gt;
En kö är precis vad det låter, först in först ut (FIFO, &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt;n &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt;ut). Tänk dig att du är en kassörska. Det kommer in massa kunder som ställer sig i kö och du hjälper dem en efter en precis i den ordningen som de kom in. Det vill säga, det som har väntat längst får också hjälp först. Kommer det en ny kund så placeras denna sist i kön och får vänta tills alla framför har fått hjälp.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Metoder som används i en kö:&lt;br /&gt;
* front()/peak(): Returnerar det värdet som är längst fram i kön&lt;br /&gt;
* void enqueue(E): Datat E längst till i slutet av kön&lt;br /&gt;
* dequeue(): Returnerar och tar bort det värdet som är längst fram i kön&lt;br /&gt;
* int size(): Returnerar storleken på kön, dvs antal element.&lt;br /&gt;
* boolean isEmpty(): Returnerar sant om kön är tom, returnerar falskt om kön ej är tom&lt;br /&gt;
&lt;br /&gt;
== Stack ==&lt;br /&gt;
[[File:Stack.png|frame|upright|Stack]]&lt;br /&gt;
En stack fungerar som en stapel tallrikar, där varje tallrik representerar ett värde i stacken. Varje gång man lägger till ett ny tallrik (värde) i stacken så hamnar den nya tallriken högst upp. Varje gång man tar en tallrik från stacken så tar man den man senast la, det vill säga sist in, först ut (LIFO, &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt;ast &amp;lt;u&amp;gt;In&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt;ut).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metoder som man använder i en stack:&lt;br /&gt;
&lt;br /&gt;
* top()/peek(): Returnerar det elementet som är på toppen av stacken utan att ta bort det&lt;br /&gt;
* void push(E): Lägger elementet E på toppen av stacken&lt;br /&gt;
* pop(): Returnerar och tar bort elementet som ligger på toppen av stacken&lt;br /&gt;
* int size(): Returnerar storleken på stacken, det vill säga antalet element&lt;br /&gt;
* boolean isEmpty(): Returnerar sant om stacken är tom, returnerar falskt om den inte är tom&lt;br /&gt;
&lt;br /&gt;
== Listor ==&lt;br /&gt;
[[File:Enkellankad-lista.png|frame|Enkellänkad lista]]&lt;br /&gt;
Det finns olika typer av listor, det som dock är gemensamt för alla listor är att:&lt;br /&gt;
# Varje nod innehåller ett data&lt;br /&gt;
# Varje nod innehåller en eller flera referenser till samma typ av nod &lt;br /&gt;
&lt;br /&gt;
Det som skiljer mellan de olika listorna är hur noderna är sammankopplade. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Enkellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I en enkellänkad lista har varje nod en referens som refererar på nästkommande nod i listan. Detta gör att det enbart går att komma åt noder/värden som ligger efter den noden man &amp;quot;är på&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Dubbellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I en dubbellänkad lista har varje nod två referenser, den ena refererar till noden före och den andra refererar till noden efter. Detta gör det möjligt att komma åt noder både före och efter noden man &amp;quot;är på&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Cirkulärt dubbellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
En cirkulärt dubbellänkad lista är en dubbellänkad lista där slutnoden (sista noden i listan) är ihopkopplad med den första noden och vice versa. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iterator ==&lt;br /&gt;
&lt;br /&gt;
= Traversering =&lt;br /&gt;
[[File:Preorder-trav.png|frame|Preorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
E C A B D H F G]]&lt;br /&gt;
[[File:Inorder-trav.png|frame|Inorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
A B C D E F G H]]&lt;br /&gt;
[[File:Postorder-trav.png|frame|Postorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
B A D C G F H E]]&lt;br /&gt;
&lt;br /&gt;
Traversering innebär att man läser av (och skriver ut) alla noderna i ett träd i en speciell ordning. Det finns 4 olika sätt att traversera: Level-traversering, preorder-traversering, inorder-traversering och postorder-traversering. Ett enkelt sett att tänka vid pre-, in- och postorder är att varje nod är en cirkel med tre stycken kontaktpunkter: Vänster, botten och höger. Beroende på vilken typ av traversering man är ute efter väljer man att fokusera på en av de tre kontaktpunkterna. Varje traversering börjar sedan på rotnodens vänstra sida. Följ därefter vänster ytterkant runt hela trädet tills du är tillbaka vid startläget. Varje gång du stöter på den kontaktpunkten som korresponderar med den traverseringen du gör så skriver du ut värdet i noden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Levelorder-Traversering &amp;lt;/b&amp;gt;  &amp;lt;br&amp;gt;&lt;br /&gt;
Vid Levelorder-traversering läser man av noderna och dess värde, från vänster till höger och nivå för nivå. &amp;lt;br&amp;gt;&lt;br /&gt;
E, C, H, A, D, F, B, G &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Preorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid preorder-traversering fokuserar du på vänster kontaktpunkt, det vill säga varje gång du stöter på vänster kontaktpunkt så skriver du ut värdet i noden. &amp;lt;br&amp;gt;&lt;br /&gt;
E, C, A, B, D, H, F, G &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Inorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid inorder-traversering fokuserar du på kontaktpunkten som är under noden. Någonting annat att lägga märke till är att värderna är sorterade från minst till högst.&amp;lt;br&amp;gt;&lt;br /&gt;
A, B, C, D, E, F, G, H &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Postorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid postorder-traversering fokuserar du på höger kontaktpunkt. &amp;lt;br&amp;gt;&lt;br /&gt;
B, A, D, C, G, F, H, E&lt;br /&gt;
&lt;br /&gt;
= Sorteringsalgoritmer =&lt;br /&gt;
En sorteringsalgoritm används för att sortera data. Olika algoritmer är olika effektiva beroende på förhållandena där den ska implementeras. &lt;br /&gt;
== Bubble sort ==&lt;br /&gt;
Bubble sort-algoritmen är en relativt långsam algoritm med en medeltidskomplexitet på O(n2). &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Algoritm&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Minst till vänster, störst till höger.&amp;lt;br&amp;gt;&lt;br /&gt;
1) Börja i någon av ändarna (detta fallet höger)&amp;lt;br&amp;gt;&lt;br /&gt;
2) Jämför de två bredvidliggande objekten. Är vänster mindre än höger -&amp;gt; Byt plats&amp;lt;br&amp;gt;&lt;br /&gt;
3) Hoppa ett steg till vänster. Upprepa steg 2.&lt;br /&gt;
4) När algortimen träffar vänsterkanden, upprepa steg 1. Upprepa detta tills datat är sorterat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Exempel&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
513426&amp;lt;br&amp;gt;&lt;br /&gt;
513&amp;lt;b&amp;gt;42&amp;lt;/b&amp;gt;6&amp;lt;br&amp;gt;&lt;br /&gt;
51&amp;lt;b&amp;gt;32&amp;lt;/b&amp;gt;46&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;51&amp;lt;/b&amp;gt;2346&amp;lt;br&amp;gt;&lt;br /&gt;
1&amp;lt;b&amp;gt;52&amp;lt;/b&amp;gt;346&amp;lt;br&amp;gt;&lt;br /&gt;
12&amp;lt;b&amp;gt;53&amp;lt;/b&amp;gt;46&amp;lt;br&amp;gt;&lt;br /&gt;
123&amp;lt;b&amp;gt;54&amp;lt;/b&amp;gt;6&amp;lt;br&amp;gt;&lt;br /&gt;
123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Sammanfattningar =&lt;br /&gt;
[[File:Sammanfattning-TDDC30.pdf|Sammanfattning]]&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=TDDC30_-_Programmering_i_Java,_datastrukturer_och_algoritmer&amp;diff=376</id>
		<title>TDDC30 - Programmering i Java, datastrukturer och algoritmer</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=TDDC30_-_Programmering_i_Java,_datastrukturer_och_algoritmer&amp;diff=376"/>
				<updated>2016-04-13T19:47:04Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: /* Listor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox academic&lt;br /&gt;
| honorific_prefix   = ASDD&lt;br /&gt;
| name               = Max Fischer&lt;br /&gt;
| honorific_suffix   = ASDDA&lt;br /&gt;
| native_name        = ASDDSA&lt;br /&gt;
| native_name_lang   = SVVASVS&lt;br /&gt;
| image              = &lt;br /&gt;
| image_size         = &lt;br /&gt;
| alt                = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
TDDC30 är en grundkurs i programspråket Java, datastrukturer och algoritmer. Kursen omfattar 6 högskolepoäng och undervisas både för  [[Industriell ekonomi - Linköpings universitet|Industriell ekonomi]] och för [[Systemvetenskap - Linköpings universitet|Systemvetenskap]] på [[Linköpings universitet|Linköpings universitet]]. Kursen är en påbyggnadskurs på [[TDDD11 - Programmering, grundkurs|TDDD11 - Programmering, grundkurs]] och förutsätter att studenten har grundläggande programmeringskunskaper gällande ett &amp;quot;programmeringstänk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kursen går igenom ett antal sorteringsalgoritmer, olika typer av datastrukturer, hur man skriver och använder UML-diagram, hur man använder det grafiska Swingpaketet och allmänt hur man ska tänka för att programmera objektorienterat. Examinationsmomenten innefattar 5 stycken laborationer (0-4) och en tentamen. Tentan består av en teoretisk del och en praktisk programmeringsdel.&lt;br /&gt;
&lt;br /&gt;
= Java =&lt;br /&gt;
Java är ett av världens mest använda programmeringsspråk, just för dess operativsystemsneutralitet. I programspråket ADA som kursen TDDD11 undervisas i så använder man en kompilator som tolkar den källkod som programmeraren skrivit och gör om den till maskinkod som datorn kan köra. I Java så finns det ett mellanlager som kallas för Java Virtual Machine (JVM). JVM gör det möjlig att köra samma javakod på alla operativsystem som har stöd för detta, vilket i stort sett gör språket plattformsoberoende, det går lika bra att köra javakod i en Androidtelefon som på en Mac.&lt;br /&gt;
&lt;br /&gt;
Språket är uppbyggt på klasser som på olika sätt kommunicerar och interagerar med varandra.&lt;br /&gt;
&lt;br /&gt;
= Klass =&lt;br /&gt;
Java är ett objektorienterat språk som är uppbyggt på b.la klasser. En klass är ett eget kodstycke som är en mall man använder för att skapa ett objekt i Java. I klassen skriver man instruktioner om hur just den klassen/objektet fungerar. Instruktionerna (klassen) består av importering av paket, attribut och metoder. Se följande exempel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
package test; // Denna klass tillhör paketet &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Detta är en kommentar. Kommentarer i Java skrivs med två stycken slash följt av en text&lt;br /&gt;
import java.grafisktpaket.* // Stjärnan (*) betyder att vi importerar precis alla klasser i paketet grafisktpaket&lt;br /&gt;
import java.util.ArrayList; // Här hämtar vi enbart klassen &amp;quot;ArrayList&amp;quot;. Det är viktigt att inte hämta onödiga klasser som inte används&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
private int nummer; // Här skapar vi en private integer (heltalsvariabel) med namnet nummer&lt;br /&gt;
private double nummer2; // Här skapar vi en private double (decimalvariabel) med namn nummer2&lt;br /&gt;
private String namn; // Här skapar vi en private String (textsträng) med namnet namn&lt;br /&gt;
private boolean check; // Här skapar vi en private boolean (tvåvärdesvariabel) med namn check&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class skrivText() { // Klassen heter skrivText och är public (dvs synlig för alla).&lt;br /&gt;
        System.out.println(&amp;quot;Hello World!&amp;quot;); // Här skrivs &amp;quot;Hello World!&amp;quot; ut i konsolen.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
För att skapa ett objekt så instansierar man en klass, detta görs i koden man vill skapa objektet. I nedanstående exempel instansierar vi klassen &amp;lt;i&amp;gt;ArrayList&amp;lt;/i&amp;gt;. Detta sker i två steg:&lt;br /&gt;
# Skapa en referens som ska peka på ett objekt skapat kring en specifik klass.&lt;br /&gt;
# Instansiera själva objektet och peka referensen på objektet.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; list; // Steg 1: Här skapar referensen &amp;quot;list&amp;quot; till ett ArrayList-objekt.&lt;br /&gt;
list = new ArrayList&amp;lt;String&amp;gt;(); // Steg 2. Här skapas själva ArrayList-objektet som referensen &amp;quot;list&amp;quot; pekar på.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detta kan även göras genom att skriva ihop de två stegen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Loopar =&lt;br /&gt;
En loop är ett kodstycke som man vill ska upprepas ett visst antal gånger. Det finns egentligen två loopar som användes mycket i kursen: While-loop och For-loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; While-loop &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
En While-loop används då man med ett villkor vill bestämma antalet loopar som ska göras, så länge villkoret är uppfyllt så körs loopen. Viktigt är att det finns en variabel i villkoret som förändras under varje loop, annars kommer loopen att gå i all evighet. Ett exempel kan vara att man letar efter ett visst värde i en lista, vi slutar loopen när vi hittat värdet. Det programmet kan se ut på följande sätt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; listOfNumbers = new ArrayList&amp;lt;Integer&amp;gt;(); // Vi skapar en ArrayList av Integers (siffror)&lt;br /&gt;
&lt;br /&gt;
add.listOfNumbers(1); // Vi lägger till ett antal siffror i vår lista&lt;br /&gt;
add.listOfNumbers(2);&lt;br /&gt;
add.listOfNumbers(3);&lt;br /&gt;
add.listOfNumbers(4);&lt;br /&gt;
add.listOfNumbers(5);&lt;br /&gt;
&lt;br /&gt;
private int counter = 0;&lt;br /&gt;
&lt;br /&gt;
while (listOfNumbers(counter) != 3) {&lt;br /&gt;
     ++counter;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
System.Out.println(counter); // Siffran 3 kommer att skrivas ut i terminalen&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; For-loop &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
For-loopen är en typ av While-loop, även den har ett villkor i sig och så länge som villkoret är uppfyllt så körs loopen. For-loopens huvud är uppdelat i tre delar:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# Deklaration av integer som används som en counter&lt;br /&gt;
# Villkor&lt;br /&gt;
# Hur countern ska förändras&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om vi skriver samma exempel som ovan, fast med en for-loop, skulle det kunna se ut såhär:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; listOfNumbers = new ArrayList&amp;lt;Integer&amp;gt;(); // Vi skapar en ArrayList av Integers (siffror)&lt;br /&gt;
&lt;br /&gt;
add.listOfNumbers(1); // Vi lägger till ett antal siffror i vår lista&lt;br /&gt;
add.listOfNumbers(2);&lt;br /&gt;
add.listOfNumbers(3);&lt;br /&gt;
add.listOfNumbers(4);&lt;br /&gt;
add.listOfNumbers(5);&lt;br /&gt;
&lt;br /&gt;
private int forPrint;&lt;br /&gt;
&lt;br /&gt;
// Vi skapar integens i som börjar med värdet 0. Detta är vår counter&lt;br /&gt;
// Så länge villkoret listOfNumbers(i) != 3 så körs loopen&lt;br /&gt;
// Varje varv loopen körs så ökar countern med 1&lt;br /&gt;
for (int i = 0; listOfNumbers(i) != 3; ++i) { &lt;br /&gt;
   forPrint = i;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
System.Out.println(forPrint); // Siffran 3 kommer att skrivas ut i terminalen&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= UML =&lt;br /&gt;
[[File:UML.png|frame|UML-diagram]]&lt;br /&gt;
[[File:UML-relation.png|frame| Ett UML-schema beskriver relationen mellan klasser]]&lt;br /&gt;
Unified Modeling Language (UML) är ett objektorienterat sätt att modelera system som beskriver hur olika klasser hör ihop. Ett klassdiagram (som du ser till höger) är en beskrivning över en klass, vad klassen heter, vilka attribut/variabler klassen har och dess metoder. Det beskriver också vilken access varje attribut och metod har genom ett &amp;quot;prefix&amp;quot; som skrivs innan attributet/metoden. Det beskriver dessutom vilket indata varje metod har, samt om metoden returnerar något data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Access klassdiagram&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;u&amp;gt;Prefix &amp;lt;/u&amp;gt;&lt;br /&gt;
|&amp;lt;u&amp;gt;Access&amp;lt;/u&amp;gt;&lt;br /&gt;
|&amp;lt;u&amp;gt;Explanation&amp;lt;/u&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; + &amp;lt;/b&amp;gt;&lt;br /&gt;
|public&lt;br /&gt;
|Synlig för klassen, paketet, subklasser och värld.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; - &amp;lt;/b&amp;gt;&lt;br /&gt;
|private&lt;br /&gt;
|Synlig enbart i klassen&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt; # &amp;lt;/b&amp;gt;&lt;br /&gt;
|protected&lt;br /&gt;
|Synlig för klassen, paketet och subklasser.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;understruken&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
|static&lt;br /&gt;
|Ett static attribut behöver inte instanseras för att användas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;italic&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
|abstract&lt;br /&gt;
|Klassen kan inte instanseras och innehåller metoder som &amp;lt;u&amp;gt;måste&amp;lt;/u&amp;gt; implementeras.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ett fullt UML-schema beskriver vilka relationer klasserna har till varandra. Vi kommer senare att gå igenom att klasser kan både ärva och implementera andra klasser. Detta är någonting som ett UML-schema visar. Schemat beskriver även om en klass använder, äger eller &amp;quot;har&amp;quot; en annan klass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I följande exempel är klassen &amp;quot;Animal&amp;quot; en superklass till subklasserna &amp;quot;Cat&amp;quot; och &amp;quot;Dog&amp;quot;, det vill säga att Cat och Dog ärver från Animal. När en klass ärver från en annan klass så kan man via subklassen (Cat &amp;amp; Dog) använda alla metoder som superklassen (Animal) har. Dessutom finns det möjlighet att överskriva (Override) metoder i supeklassen. T.ex har superklassen Animal en klass som heter &amp;quot;Eat&amp;quot;. Dock så vill vi specificera exakt vad just Cat och Dog ska äta, så vi skriver en ny Eat-metod i både Cat och Dog. Kallar vi nu på metoder Eat med ett Cat- eller Dogobjekt så kommer deras egna metoder att köras och inte superklassen Animals Eat-metod. Väljer man däremot att inte skriva en ny Eat-metod i sin subklass så kommer superklassens metod att köras.&lt;br /&gt;
[[File:UML-arv.png|left|UML-arv. Animal är superklass som subklasserna Cat och Dog ärver ifrån]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Datastrukturer =&lt;br /&gt;
&lt;br /&gt;
== Träd ==&lt;br /&gt;
En trädstruktur bygger på en rotnod som är &amp;quot;grunden&amp;quot; i trädet. Det är i roten som all avsökning börjar och det är även i roten som man tar bort objekt ur trädet. Varje nod innehåller det datat man vill lagra, det kan till exempel vara siffror, filmtitlar, personnummer osv. Noden har sedan en referens i sig som pekar på dess barn. &amp;lt;br&amp;gt;&lt;br /&gt;
Ett träd har följande uppdelning: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Trad1.png|frame|Träd]]&lt;br /&gt;
* &amp;lt;b&amp;gt; Rot: &amp;lt;/b&amp;gt; Grundnoden&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Förälder:&amp;lt;/b&amp;gt; Förälder till noden under sig &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Barn:&amp;lt;/b&amp;gt; Barn till noden över sig &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Syskon: &amp;lt;/b&amp;gt; Två noder som har samma förälder &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Gren: &amp;lt;/b&amp;gt; Ett träd kan ha flera grenar. Varje gren har en toppnod och en egen trädstruktur &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt; Löv: &amp;lt;/b&amp;gt; Nod som inte har några barn &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Heap ==&lt;br /&gt;
En heap bygger på en fullstädig trädstruktur där varje nod högst kan ha 2 stycken barn. Det finns två typer av heapar: Maxheap och Minheap.&lt;br /&gt;
&lt;br /&gt;
[[File:Maxheap.png|frame|Maxheap]]&lt;br /&gt;
[[File:Minheap.png|frame|Minheap]]&lt;br /&gt;
&amp;lt;b&amp;gt; Maxheap &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Roten har det största värdet i heapen &lt;br /&gt;
* Varje barn har ett mindre värde än sin förälder&lt;br /&gt;
* Vid borttagning tas rotnoden bort. Den ersätts med den sista noden i heapen (noden som är längst till höger i nedersta leveln). Där efter tittar man om nått av barnen är större än den nya roten. Finner man ett barn som är större, byt dem. Där efter fortsätter man titta på barnen och ser om nån av de två nya barnen är större än noden. Är båda barnen större, byt med den största.&lt;br /&gt;
* Vid inaddering av en nod, lägg den sist i heapen (dvs på nästa tomma plats, längst ner i heapen, sett från vänster). Där efter, se om noden är större än sin förälder. Om ja, byt plats, om nej stanna. Fortsätt tills noden har hittat sin rätta plats.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Minheap &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Roten har det minsta värdet i heapen&lt;br /&gt;
* Varje barn har ett större värde än sin förälder&lt;br /&gt;
* Vid borttagning tas rotnoden bort. Den ersätts med den sista noden i heapen (noden som är längst till höger i nedersta leveln). Där efter tittar man om nått av barnen är mindre än den nya roten. Finner man ett barn som är mindre, byt dem. Där efter fortsätter man titta på barnen och ser om nån av de två nya barnen är mindre än noden. Är båda barnen mindre, byt med den minsta.&lt;br /&gt;
* Vid inaddering av en nod, lägg den sist i heapen (dvs på nästa tomma plats, längst ner i heapen, sett från vänster). Där efter, se om noden är mindre än sin förälder. Om ja, byt plats, om nej stanna. Fortsätt tills noden har hittat sin rätta plats.&lt;br /&gt;
&lt;br /&gt;
== Binärt sökträd ==&lt;br /&gt;
[[File:Binart-soktrad.png|frame|Binärt sökträd]]&lt;br /&gt;
Ett binärt sökträd består även det av en trädstruktur, dock inte nödvändigtvis ett fullständig träd. Ett binärt sökträd har följande egenskaper:&lt;br /&gt;
* Varje nod har ett värde&lt;br /&gt;
* Nodens vänstra barn och alla andra noder i det vänstra benet ska ha ett mindre värde än noden själv&lt;br /&gt;
* Nodens högra barn och alla andra noder i det högra benet ska ha ett större värde än noden själv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kö (Queue) ==&lt;br /&gt;
[[File:Queue.png|frame|Queue]]&lt;br /&gt;
En kö är precis vad det låter, först in först ut (FIFO, &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt;n &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt;ut). Tänk dig att du är en kassörska. Det kommer in massa kunder som ställer sig i kö och du hjälper dem en efter en precis i den ordningen som de kom in. Det vill säga, det som har väntat längst får också hjälp först. Kommer det en ny kund så placeras denna sist i kön och får vänta tills alla framför har fått hjälp.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Metoder som används i en kö:&lt;br /&gt;
* front()/peak(): Returnerar det värdet som är längst fram i kön&lt;br /&gt;
* void enqueue(E): Datat E längst till i slutet av kön&lt;br /&gt;
* dequeue(): Returnerar och tar bort det värdet som är längst fram i kön&lt;br /&gt;
* int size(): Returnerar storleken på kön, dvs antal element.&lt;br /&gt;
* boolean isEmpty(): Returnerar sant om kön är tom, returnerar falskt om kön ej är tom&lt;br /&gt;
&lt;br /&gt;
== Stack ==&lt;br /&gt;
[[File:Stack.png|frame|upright|Stack]]&lt;br /&gt;
En stack fungerar som en stapel tallrikar, där varje tallrik representerar ett värde i stacken. Varje gång man lägger till ett ny tallrik (värde) i stacken så hamnar den nya tallriken högst upp. Varje gång man tar en tallrik från stacken så tar man den man senast la, det vill säga sist in, först ut (LIFO, &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt;ast &amp;lt;u&amp;gt;In&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt;irst &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt;ut).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metoder som man använder i en stack:&lt;br /&gt;
&lt;br /&gt;
* top()/peek(): Returnerar det elementet som är på toppen av stacken utan att ta bort det&lt;br /&gt;
* void push(E): Lägger elementet E på toppen av stacken&lt;br /&gt;
* pop(): Returnerar och tar bort elementet som ligger på toppen av stacken&lt;br /&gt;
* int size(): Returnerar storleken på stacken, det vill säga antalet element&lt;br /&gt;
* boolean isEmpty(): Returnerar sant om stacken är tom, returnerar falskt om den inte är tom&lt;br /&gt;
&lt;br /&gt;
== Listor ==&lt;br /&gt;
Det finns olika typer av listor, det som dock är gemensamt för alla listor är att:&lt;br /&gt;
# Varje nod innehåller ett data&lt;br /&gt;
# Varje nod innehåller en eller flera referenser till samma typ av nod &lt;br /&gt;
&lt;br /&gt;
Det som skiljer mellan de olika listorna är hur noderna är sammankopplade. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Enkellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I en enkellänkad lista har varje nod en referens som refererar på nästkommande nod i listan. Detta gör att det enbart går att komma åt noder/värden som ligger efter den noden man &amp;quot;är på&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Dubbellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I en dubbellänkad lista har varje nod två referenser, den ena refererar till noden före och den andra refererar till noden efter. Detta gör det möjligt att komma åt noder både före och efter noden man &amp;quot;är på&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Cirkulärt dubbellänkad lista &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
En cirkulärt dubbellänkad lista är en dubbellänkad lista där slutnoden (sista noden i listan) är ihopkopplad med den första noden och vice versa. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iterator ==&lt;br /&gt;
&lt;br /&gt;
= Traversering =&lt;br /&gt;
[[File:Preorder-trav.png|frame|Preorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
E C A B D H F G]]&lt;br /&gt;
[[File:Inorder-trav.png|frame|Inorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
A B C D E F G H]]&lt;br /&gt;
[[File:Postorder-trav.png|frame|Postorder traversering &amp;lt;br&amp;gt;&lt;br /&gt;
B A D C G F H E]]&lt;br /&gt;
&lt;br /&gt;
Traversering innebär att man läser av (och skriver ut) alla noderna i ett träd i en speciell ordning. Det finns 4 olika sätt att traversera: Level-traversering, preorder-traversering, inorder-traversering och postorder-traversering. Ett enkelt sett att tänka vid pre-, in- och postorder är att varje nod är en cirkel med tre stycken kontaktpunkter: Vänster, botten och höger. Beroende på vilken typ av traversering man är ute efter väljer man att fokusera på en av de tre kontaktpunkterna. Varje traversering börjar sedan på rotnodens vänstra sida. Följ därefter vänster ytterkant runt hela trädet tills du är tillbaka vid startläget. Varje gång du stöter på den kontaktpunkten som korresponderar med den traverseringen du gör så skriver du ut värdet i noden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Levelorder-Traversering &amp;lt;/b&amp;gt;  &amp;lt;br&amp;gt;&lt;br /&gt;
Vid Levelorder-traversering läser man av noderna och dess värde, från vänster till höger och nivå för nivå. &amp;lt;br&amp;gt;&lt;br /&gt;
E, C, H, A, D, F, B, G &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Preorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid preorder-traversering fokuserar du på vänster kontaktpunkt, det vill säga varje gång du stöter på vänster kontaktpunkt så skriver du ut värdet i noden. &amp;lt;br&amp;gt;&lt;br /&gt;
E, C, A, B, D, H, F, G &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Inorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid inorder-traversering fokuserar du på kontaktpunkten som är under noden. Någonting annat att lägga märke till är att värderna är sorterade från minst till högst.&amp;lt;br&amp;gt;&lt;br /&gt;
A, B, C, D, E, F, G, H &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Postorder-Traversering &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vid postorder-traversering fokuserar du på höger kontaktpunkt. &amp;lt;br&amp;gt;&lt;br /&gt;
B, A, D, C, G, F, H, E&lt;br /&gt;
&lt;br /&gt;
= Sorteringsalgoritmer =&lt;br /&gt;
En sorteringsalgoritm används för att sortera data. Olika algoritmer är olika effektiva beroende på förhållandena där den ska implementeras. &lt;br /&gt;
== Bubble sort ==&lt;br /&gt;
Bubble sort-algoritmen är en relativt långsam algoritm med en medeltidskomplexitet på O(n2). &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Algoritm&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Minst till vänster, störst till höger.&amp;lt;br&amp;gt;&lt;br /&gt;
1) Börja i någon av ändarna (detta fallet höger)&amp;lt;br&amp;gt;&lt;br /&gt;
2) Jämför de två bredvidliggande objekten. Är vänster mindre än höger -&amp;gt; Byt plats&amp;lt;br&amp;gt;&lt;br /&gt;
3) Hoppa ett steg till vänster. Upprepa steg 2.&lt;br /&gt;
4) När algortimen träffar vänsterkanden, upprepa steg 1. Upprepa detta tills datat är sorterat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Exempel&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
513426&amp;lt;br&amp;gt;&lt;br /&gt;
513&amp;lt;b&amp;gt;42&amp;lt;/b&amp;gt;6&amp;lt;br&amp;gt;&lt;br /&gt;
51&amp;lt;b&amp;gt;32&amp;lt;/b&amp;gt;46&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;51&amp;lt;/b&amp;gt;2346&amp;lt;br&amp;gt;&lt;br /&gt;
1&amp;lt;b&amp;gt;52&amp;lt;/b&amp;gt;346&amp;lt;br&amp;gt;&lt;br /&gt;
12&amp;lt;b&amp;gt;53&amp;lt;/b&amp;gt;46&amp;lt;br&amp;gt;&lt;br /&gt;
123&amp;lt;b&amp;gt;54&amp;lt;/b&amp;gt;6&amp;lt;br&amp;gt;&lt;br /&gt;
123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Sammanfattningar =&lt;br /&gt;
[[File:Sammanfattning-TDDC30.pdf|Sammanfattning]]&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=Maskinteknik_-_Link%C3%B6pings_universitet&amp;diff=375</id>
		<title>Maskinteknik - Linköpings universitet</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Maskinteknik_-_Link%C3%B6pings_universitet&amp;diff=375"/>
				<updated>2016-04-13T18:42:28Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maskinteknik på Linköpings universitet är en 5 årig masterutbildning.&lt;br /&gt;
&lt;br /&gt;
= Obligatoriska kurser =&lt;br /&gt;
&lt;br /&gt;
== Årskurs 1 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 0 &amp;lt;/b&amp;gt;&lt;br /&gt;
TATM79	Matematisk grundkurs* &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
TATA67 - Linjär algebra med geometri*&amp;lt;br&amp;gt;&lt;br /&gt;
TATM79 - Matematisk grundkurs*&amp;lt;br&amp;gt;&lt;br /&gt;
TMKT94 - Ingenjören och CAD-verktyget*&amp;lt;br&amp;gt;&lt;br /&gt;
TMMV04 - Termodynamik&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TANA17 - Matematiska beräkningar med MATLAB&amp;lt;br&amp;gt;&lt;br /&gt;
TATA67 - Linjär algebra med geometri*&amp;lt;br&amp;gt;&lt;br /&gt;
TMKT94 - Ingenjören och CAD-verktyget*&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årskurs 2 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årskurs 3 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=Maskinteknik_-_Link%C3%B6pings_universitet&amp;diff=374</id>
		<title>Maskinteknik - Linköpings universitet</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Maskinteknik_-_Link%C3%B6pings_universitet&amp;diff=374"/>
				<updated>2016-04-13T18:42:13Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: Skapade sidan med 'Industriell Ekonomi på Linköpings universitet är en 5 årig masterutbildning.  = Obligatoriska kurser =  == Årskurs 1 == &amp;lt;b&amp;gt; Hösttermin 0 &amp;lt;/b&amp;gt; TATM79	Matematisk grundkurs...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Industriell Ekonomi på Linköpings universitet är en 5 årig masterutbildning.&lt;br /&gt;
&lt;br /&gt;
= Obligatoriska kurser =&lt;br /&gt;
&lt;br /&gt;
== Årskurs 1 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 0 &amp;lt;/b&amp;gt;&lt;br /&gt;
TATM79	Matematisk grundkurs* &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
TATA67 - Linjär algebra med geometri*&amp;lt;br&amp;gt;&lt;br /&gt;
TATM79 - Matematisk grundkurs*&amp;lt;br&amp;gt;&lt;br /&gt;
TMKT94 - Ingenjören och CAD-verktyget*&amp;lt;br&amp;gt;&lt;br /&gt;
TMMV04 - Termodynamik&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TANA17 - Matematiska beräkningar med MATLAB&amp;lt;br&amp;gt;&lt;br /&gt;
TATA67 - Linjär algebra med geometri*&amp;lt;br&amp;gt;&lt;br /&gt;
TMKT94 - Ingenjören och CAD-verktyget*&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årskurs 2 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årskurs 3 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi_-_Link%C3%B6pings_universitet&amp;diff=373</id>
		<title>Industriell ekonomi - Linköpings universitet</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi_-_Link%C3%B6pings_universitet&amp;diff=373"/>
				<updated>2016-04-13T16:05:32Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: /* Länkar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Industriell Ekonomi på Linköpings universitet är en 5 årig masterutbildning.&lt;br /&gt;
&lt;br /&gt;
= Obligatoriska kurser =&lt;br /&gt;
== Årkurs 1 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATM79 - Matematisk grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TATA41 - Envariabelanalys 1 &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA42 - Envariabelanalys 2 &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO61 - Industriell organisation, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA43 - Flervariabelanalys &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO61 - Industriell organisation, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TSKS08 - Introduktionskurs i Matlab &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 2 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP14 - Optimeringslära, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik &amp;lt;br&amp;gt;&lt;br /&gt;
TSBB16 - Grundläggande systemmodeller &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS79 - Matematisk statistik, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TFYA14 - Fysik &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik I &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP37 - Optimeringslära, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE98 - Ekonomisk analys: Ekonomisk teori &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: [[TDDC30 - Programmering i Java, datastrukturer och algoritmer|TDDC30 - Programmering i Java, datastrukturer och algoritmer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS65 - Matematisk statistik I, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE24 - Ekonomisk analys: Besluts- och finansiell metodik &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TATA52 - Diskret matematik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 3 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO04 - Projektledning &amp;lt;br&amp;gt;&lt;br /&gt;
TSRT19 - Reglerteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TSEA51 - Digitalteknik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE13 - Produktionsekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDDD71 - Datastrukturer och algoritmer &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDTS10 - Datorarkitektur &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO04 - Projektledning &amp;lt;br&amp;gt;&lt;br /&gt;
Kandidatprojekt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Kanididatprojekt&lt;br /&gt;
&lt;br /&gt;
== Länkar ==&lt;br /&gt;
[http://kdb-5.liu.se/liu/lith/studiehandboken/svutbplan.lasso?&amp;amp;up_year=2016&amp;amp;up_ladokkod=6CIII Utbildningsplan]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.lith.liu.se/sh2016/civing/lot_i.html Programplan]&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	<entry>
		<id>https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi_-_Link%C3%B6pings_universitet&amp;diff=372</id>
		<title>Industriell ekonomi - Linköpings universitet</title>
		<link rel="alternate" type="text/html" href="https://studieboken.iportalen.se/index.php?title=Industriell_ekonomi_-_Link%C3%B6pings_universitet&amp;diff=372"/>
				<updated>2016-04-13T16:05:19Z</updated>
		
		<summary type="html">&lt;p&gt;155.4.150.73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Industriell Ekonomi på Linköpings universitet är en 5 årig masterutbildning.&lt;br /&gt;
&lt;br /&gt;
= Obligatoriska kurser =&lt;br /&gt;
== Årkurs 1 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATM79 - Matematisk grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA31 - Linjär algebra &amp;lt;br&amp;gt;&lt;br /&gt;
TATA41 - Envariabelanalys 1 &amp;lt;br&amp;gt;&lt;br /&gt;
TEIE17 - Industriell ekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA42 - Envariabelanalys 2 &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO61 - Industriell organisation, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TATA43 - Flervariabelanalys &amp;lt;br&amp;gt;&lt;br /&gt;
TDDD11 - Programmering, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO61 - Industriell organisation, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TSKS08 - Introduktionskurs i Matlab &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 2 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP14 - Optimeringslära, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik &amp;lt;br&amp;gt;&lt;br /&gt;
TSBB16 - Grundläggande systemmodeller &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS79 - Matematisk statistik, grundkurs &amp;lt;br&amp;gt;&lt;br /&gt;
TFYA14 - Fysik &amp;lt;br&amp;gt;&lt;br /&gt;
TMME27 - Mekanik I &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAOP37 - Optimeringslära, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE98 - Ekonomisk analys: Ekonomisk teori &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: [[TDDC30 - Programmering i Java, datastrukturer och algoritmer|TDDC30 - Programmering i Java, datastrukturer och algoritmer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TAMS65 - Matematisk statistik I, fortsättningskurs &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE24 - Ekonomisk analys: Besluts- och finansiell metodik &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TATA52 - Diskret matematik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Årkurs 3 ==&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO04 - Projektledning &amp;lt;br&amp;gt;&lt;br /&gt;
TSRT19 - Reglerteknik &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TSEA51 - Digitalteknik &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Hösttermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TPPE13 - Produktionsekonomi &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDDD71 - Datastrukturer och algoritmer &amp;lt;br&amp;gt;&lt;br /&gt;
Datateknik: TDTS10 - Datorarkitektur &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 1 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
TEIO04 - Projektledning &amp;lt;br&amp;gt;&lt;br /&gt;
Kandidatprojekt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Vårtermin 2 &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Kanididatprojekt&lt;br /&gt;
&lt;br /&gt;
== Länkar ==&lt;br /&gt;
[http://kdb-5.liu.se/liu/lith/studiehandboken/svutbplan.lasso?&amp;amp;up_year=2016&amp;amp;up_ladokkod=6CIII Utbildningsplan]&lt;br /&gt;
[http://www.lith.liu.se/sh2016/civing/lot_i.html Programplan]&lt;/div&gt;</summary>
		<author><name>155.4.150.73</name></author>	</entry>

	</feed>