<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Stepwise_Improvement</id>
	<title>Stepwise Improvement - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Stepwise_Improvement"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;action=history"/>
	<updated>2026-10-04T15:14:54Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=5376&amp;oldid=prev</id>
		<title>Bar med 15. mar. 2024, 10:40</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=5376&amp;oldid=prev"/>
		<updated>2024-03-15T10:40:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 15. mar. 2024, 12:40&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l197&quot;&gt;Linje 197:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 197:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der ligger også noget i at kunne genstarte spillet og måske holde noget statistik på hvor mange gange hver enkelt har vundet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der ligger også noget i at kunne genstarte spillet og måske holde noget statistik på hvor mange gange hver enkelt har vundet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En anden udvidelse kunne være at spille efter de andre regler, hvor pladen ikke fyldes, men i stedet er sådan at man fylder 6 brikker i pladen hvorefter man skal flytte sine brikker - dette vil igen give en &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kreftig &lt;/del&gt;udvidelse af spillet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En anden udvidelse kunne være at spille efter de andre regler, hvor pladen ikke fyldes, men i stedet er sådan at man fylder 6 brikker i pladen hvorefter man skal flytte sine brikker - dette vil igen give en &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kraftig &lt;/ins&gt;udvidelse af spillet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=5122&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=5122&amp;oldid=prev"/>
		<updated>2022-11-24T12:47:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 24. nov. 2022, 14:47&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l201&quot;&gt;Linje 201:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 201:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Programmering}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Programmering teknik]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Programmering teknik]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=2048&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=2048&amp;oldid=prev"/>
		<updated>2022-10-22T10:01:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 22. okt. 2022, 12:01&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l199&quot;&gt;Linje 199:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 199:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En anden udvidelse kunne være at spille efter de andre regler, hvor pladen ikke fyldes, men i stedet er sådan at man fylder 6 brikker i pladen hvorefter man skal flytte sine brikker - dette vil igen give en kreftig udvidelse af spillet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En anden udvidelse kunne være at spille efter de andre regler, hvor pladen ikke fyldes, men i stedet er sådan at man fylder 6 brikker i pladen hvorefter man skal flytte sine brikker - dette vil igen give en kreftig udvidelse af spillet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Referencer==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Programmering teknik]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Programmering teknik]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=1942&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=1942&amp;oldid=prev"/>
		<updated>2022-10-22T06:14:06Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 22. okt. 2022, 08:14&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=1941&amp;oldid=prev</id>
		<title>htx_&gt;Bar: /* De forskellige trin i udviklingen */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Stepwise_Improvement&amp;diff=1941&amp;oldid=prev"/>
		<updated>2013-11-14T11:49:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;De forskellige trin i udviklingen&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Teknikken i Stepwise Improvement og ideen bag er udviklet af og dokumenteret&amp;lt;ref&amp;gt;http://www.daimi.au.dk/~mec/dissertation/Dissertation.pdf Artikel om at undervise programmering på et grundlæggende niveau&amp;lt;/ref&amp;gt; af Michael Caspersen ved Århus Universitet som en del af de pædagogiske tanker bag det at undervise grundlæggende programmering.&lt;br /&gt;
&lt;br /&gt;
==Hvad er det?==&lt;br /&gt;
Som navnet siger, så er det at man forbedrer (improvement) sit programmeringsprodukt i trin (step), og at det gerne skal ske i små trin (stepwise).&lt;br /&gt;
&lt;br /&gt;
En del af ideen bygger på test-driven development, altså det at udvikle ved at teste sit produkt under udviklingen, og her er det igen vigtigt at man tager små skridt, gerne et ad gangen, så man hele tiden kan teste det.&lt;br /&gt;
&lt;br /&gt;
==Hvad er faren ved metoden?==&lt;br /&gt;
Når man udvikler et program, så har man sjældent det fulde overblik over hvordan programmet skal opbygges.&lt;br /&gt;
&lt;br /&gt;
Faren ved metoden, specielt til større programmer er, at det ender med at blive en meget rodet kode man ender op med.&lt;br /&gt;
&lt;br /&gt;
Det man kan gøre for at forhindre det er at dele programmet op i mindre funktionsblokke - typisk i overskuelige funktiner der løser et naturligt afgrænset område.&lt;br /&gt;
&lt;br /&gt;
==Praktisk eksempel==&lt;br /&gt;
For at illustrere hvordan metoden virker er der her givet et eksempel på hvordan man kunne udvikle et kryds og bolle-spil.&lt;br /&gt;
&lt;br /&gt;
Den meget strukturerede metode ville være at opstille alle regler for spillet og planlægge hele den grafiske visning, men jeg vil her illustrere hvordan man kan lave udviklingen baseret på en enkelt ide.&lt;br /&gt;
&lt;br /&gt;
Ideen bag denne udvikling af spillet er at de 9 felter skal have hvert sit nummer, så de hver svarer til index i et [[array]] som vil komme ind i udviklingen på et tidspunkt.&lt;br /&gt;
&lt;br /&gt;
Udviklingen af eksemplet er illustreret i 8 HTML-filer der er pakket sammen med 3 billeder i [[media:stepwise-improvement.zip|denne ZIP-fil]]&lt;br /&gt;
&lt;br /&gt;
===De forskellige trin i udviklingen===&lt;br /&gt;
Koden tager udgangspunkt i en standard-fil, der indeholder header og body i HTML og begge steder har lidt definitioner af javaScript.&lt;br /&gt;
&lt;br /&gt;
Første trin der er realiseret er at opbygge banen som en 3x3 tabel og lige skrive nummeret på hvert felt ud. Resultatet af dette ligger i &amp;#039;&amp;#039;&amp;#039;index.html&amp;#039;&amp;#039;&amp;#039;, og det centrale kode der er tilføjet standard-filen er følgende:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var nr = 0;&lt;br /&gt;
for (n=0; n&amp;lt;3; n++) {&lt;br /&gt;
	document.write(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
	for (i=0; i&amp;lt;3; i++) {&lt;br /&gt;
		document.write(&amp;quot;&amp;lt;td&amp;gt;&amp;quot; + nr + &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;);&lt;br /&gt;
		nr++;&lt;br /&gt;
	}&lt;br /&gt;
	document.write(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette giver følgende visning:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-1.png|Visning ved 1. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 1. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Testen siger her at der er 9 felter, og at hvert felt har sit eget nummer fra 0 til 8.&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det næste der skal ske er at få mere format på visningen. Her laves først et blankt billede i Paint, der formatteres til at være 100x100 pixel. De to andre billeder laves i samme format, hvor der sættes hhv. et kryds og en bolle på dem.&lt;br /&gt;
&lt;br /&gt;
[[fil:stepwise-imp-billeder.png|De 3 billeder der anvendes til spillepladen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;De 3 billeder der anvendes til spillepladen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Den eneste rettelser der laves er følgende, hvor udskriften af nummeret udskiftes med et billede som henviser til &amp;#039;&amp;#039;&amp;#039;blank.png&amp;#039;&amp;#039;&amp;#039; og som har en onclick-event tilknyttet som er en funktion klik med to [[parametre]] - henvisning til billedet og nummeret:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
		document.write(&amp;quot;&amp;lt;td&amp;gt;&amp;quot; + &amp;quot;&amp;lt;img src=&amp;#039;Blank.png&amp;#039; onclick=&amp;#039;klik(this, &amp;quot; + nr + &amp;quot;);&amp;#039; /&amp;gt;&amp;quot; + &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette giver fra filen &amp;#039;&amp;#039;&amp;#039;index2.html&amp;#039;&amp;#039;&amp;#039; følgende visning:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-2.png|Visning ved 2. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 2. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Det eneste der skal testes her er at visningen ser fornuftig ud (det udvider tabellen som vist).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Funktionen der er tilknyttet onclick på alle billeder skal selvfølgelig defineres, og i første omgang skal vi lige se om billed-nummeret er knyttet til hvert felt. Det gøres med følgende kode, der ligger i &amp;#039;&amp;#039;&amp;#039;index3.html&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function klik(billede, nr) {&lt;br /&gt;
	alert(nr);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette giver følgende visning når der klikkes på billedet i øverste venstre hjørne:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-3.png|Visning ved 3. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 3. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der er selvfølgelig ikke nok at teste det ene billede, men at teste igennem så man er overbevist om at alle billeder har de rigtige numre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Klikket skal selvfølgelig kunne noget andet - nemlig få kryds eller bolle frem, så i første omgang får vi koden til at rette billed-indholdet til et kryds med følgende rettelse som er med i &amp;#039;&amp;#039;&amp;#039;index4.html&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function klik(billede, nr) {&lt;br /&gt;
	billede.src = &amp;quot;Kryds.png&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ved at klikke på nogle billeder kan følgende visning komme frem:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-4.png|Visning ved 4. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 4. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dette er faktisk testen.&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det er selvfølgelig ikke nok at få den til at vise krydser, så der laves følgende tilføjelse der ligger i &amp;#039;&amp;#039;&amp;#039;index5.html&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var tur = &amp;quot;Kryds&amp;quot;;&lt;br /&gt;
// Funktioner til programmet&lt;br /&gt;
function klik(billede, nr) {&lt;br /&gt;
	billede.src = tur + &amp;quot;.png&amp;quot;;&lt;br /&gt;
	if (tur == &amp;quot;Kryds&amp;quot;) {&lt;br /&gt;
		tur = &amp;quot;Bolle&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		tur = &amp;quot;Kryds&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette giver følgende visning når man klikker rundt:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-5.png|Visning ved 5. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 5. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Testen viser at vi kan skifte mellem billederne, men hvis vi tester lidt mere indgående, så finder vi også ud af at vi kan skifte de billeder der er kommet frem - det følger ikke de normale regner for det grundlæggende spil, så der skal indføres noget mere kode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Følgende rettelse indføres, hvor der også tages højde for om hele pladen er fyldt, både så det meldes ud både når pladen er fyldt og når man forsøger at klikke videre hvis pladen er fyldt.&lt;br /&gt;
&lt;br /&gt;
Dette styres med en variabel der hedder &amp;#039;&amp;#039;&amp;#039;placeret&amp;#039;&amp;#039;&amp;#039;, som holdes op mod variablen &amp;#039;&amp;#039;&amp;#039;antal&amp;#039;&amp;#039;&amp;#039;, der egentlig fungerer som en konstant.&lt;br /&gt;
&lt;br /&gt;
Det er følgende kode der laver dette som der er i &amp;#039;&amp;#039;&amp;#039;index6.html&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var antal = 9;&lt;br /&gt;
var tur = &amp;quot;Kryds&amp;quot;;&lt;br /&gt;
var placeret = 0;&lt;br /&gt;
// Funktioner til programmet&lt;br /&gt;
function klik(billede, nr) {&lt;br /&gt;
	if (billede.src.indexOf(&amp;#039;Blank&amp;#039;) &amp;lt; 1) {&lt;br /&gt;
		if (placeret == antal) {&lt;br /&gt;
			alert(&amp;quot;Jeg sagde slut finale&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	billede.src = tur + &amp;quot;.png&amp;quot;;&lt;br /&gt;
	if (tur == &amp;quot;Kryds&amp;quot;) {&lt;br /&gt;
		tur = &amp;quot;Bolle&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		tur = &amp;quot;Kryds&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	placeret++;&lt;br /&gt;
	if (placeret == antal) {&lt;br /&gt;
		alert(&amp;quot;Slut finale&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette giver følgende visning:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-6.png|Visning ved 6. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 6. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Testen viser at der blokkeres for at ændre i de felter der er sat, og at der kommer en meddelelse når pladen er fyldt, og ligeledes en meddelelse når pladen er fyldt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
For at kunne holde styr på hvad der er placeret hvor, så laves følgende array, der indeholder 9 elementer som hvert indikerer Tom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var plade = new Array(&amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;, &amp;quot;Tom&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I funktionen klik gemmes så det der står som den aktuelle tur i arrayet som følger:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	billede.src = tur + &amp;quot;.png&amp;quot;;&lt;br /&gt;
	plade[nr] = tur;&lt;br /&gt;
	if (tur == &amp;quot;Kryds&amp;quot;) {&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sidst i funktionen alertes arrayet lige ud på følgende måde, for at kunne følge med i hvor det placeres i arrayet:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	alert(plade.join(&amp;quot; - &amp;quot;));&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disse rettelser ligget i &amp;#039;&amp;#039;&amp;#039;index7.html&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Dette giver følgende visning efter 3 klik:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-7.png|Visning ved 7. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 7. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Som det fremgår af billedet, så ligger der nu et kryds i arrayets felt-0, en bolle i felt-1 og et kryds i felt-7 hvilket passer med den grafiske visning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Vi er nu ved at være så langt nu, at vi kan teste om der er en vinder af spillet. Det var meningen med arrayet, så vi tester lige om det er noget tomt der ligger i flet-0, og hvis der ikke er det, så testes om der ligger det samme i både felt-0, felt-1 og felt-2. Det gøres på følgende måde i slutningen af klik-funktionen som det er lavet i &amp;#039;&amp;#039;&amp;#039;index8.html&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if (plade[0] != &amp;quot;Tom&amp;quot;) {&lt;br /&gt;
		if ((plade[0] == plade[1]) &amp;amp;&amp;amp; (plade[0] == plade[2])) {&lt;br /&gt;
			alert(plade[0] + &amp;quot; er Vinder&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette testes med følgende visning:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[fil:stepwise-imp-8.png|Visning ved 8. trin af kodeudviklingen]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Visning ved 8. trin af kodeudviklingen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dette viser at der kan testes om der er en vinder af spillet, og det kan også testes at Bolle kan stå som vinder af spillet.&lt;br /&gt;
&lt;br /&gt;
Tester man lidt videre finder man straks ud af at der ikke testes for vinder i andre placeringer.&lt;br /&gt;
&lt;br /&gt;
===Videre udvikling af spillet===&lt;br /&gt;
Det var ikke meningen at udvikle et fuldt og færdigt spil, men i stedet at vise metoden i stepwise improvement.&lt;br /&gt;
&lt;br /&gt;
Der ligger stadig en del arbejde endnu i at få spillet færdigt, hvor det første naturligvis er at kode alle de andre vinder-muligheder ind i testen.&lt;br /&gt;
&lt;br /&gt;
Der ligger også noget i at kunne genstarte spillet og måske holde noget statistik på hvor mange gange hver enkelt har vundet.&lt;br /&gt;
&lt;br /&gt;
En anden udvidelse kunne være at spille efter de andre regler, hvor pladen ikke fyldes, men i stedet er sådan at man fylder 6 brikker i pladen hvorefter man skal flytte sine brikker - dette vil igen give en kreftig udvidelse af spillet.&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[Kategori:Programmering teknik]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>