https://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&feed=atom&action=historyTalk:An introduction to programming in C - Revision history2024-03-28T20:27:09ZRevision history for this page on the wikiMediaWiki 1.35.1https://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&diff=3827&oldid=prevMarcus: /* Appropriate software for the course */2012-05-11T07:43:26Z<p><span dir="auto"><span class="autocomment">Appropriate software for the course</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:43, 11 May 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l19" >Line 19:</td>
<td colspan="2" class="diff-lineno">Line 19:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>* http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B <br/> codeblocks is one of the few gpl cross platform with all the boxes ticked, but i've not tried it myself --[[User:Lwk|&#39;RepRap&#39; Matt]] 13:47, 4 May 2012 (EST)</div></td><td class='diff-marker'> </td><td style="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;"><div>* http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B <br/> codeblocks is one of the few gpl cross platform with all the boxes ticked, but i've not tried it myself --[[User:Lwk|&#39;RepRap&#39; Matt]] 13:47, 4 May 2012 (EST)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*:</div></td><td class='diff-marker'> </td><td style="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;"><div>*:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>*: Codeblocks looks good and can be used for AVR+Arduino programming projects apparently [http://www.arduinodev.com/codeblocks/] -- [[User:Marcus|Marcus]].</div></td><td class='diff-marker'>+</td><td style="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;"><div>*: Codeblocks looks good and can be used for AVR+Arduino programming projects apparently [http://www.arduinodev.com/codeblocks/]<ins class="diffchange diffchange-inline">. (Edit: and it's likely we'll want to follow on to embedded programming.) </ins>-- [[User:Marcus|Marcus]] <ins class="diffchange diffchange-inline">02:43, 11 May 2012 (EST)</ins>.</div></td></tr>
</table>Marcushttps://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&diff=3826&oldid=prevMarcus: Reply to Matt2012-05-11T07:40:07Z<p>Reply to Matt</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:40, 11 May 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l18" >Line 18:</td>
<td colspan="2" class="diff-lineno">Line 18:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>* http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B <br/> codeblocks is one of the few gpl cross platform with all the boxes ticked, but i've not tried it myself --[[User:Lwk|&#39;RepRap&#39; Matt]] 13:47, 4 May 2012 (EST)</div></td><td class='diff-marker'> </td><td style="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;"><div>* http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B <br/> codeblocks is one of the few gpl cross platform with all the boxes ticked, but i've not tried it myself --[[User:Lwk|&#39;RepRap&#39; Matt]] 13:47, 4 May 2012 (EST)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">*:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">*: Codeblocks looks good and can be used for AVR+Arduino programming projects apparently [http://www.arduinodev.com/codeblocks/] -- [[User:Marcus|Marcus]].</ins></div></td></tr>
</table>Marcushttps://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&diff=3764&oldid=prevLwk: /* Appropriate software for the course */2012-05-04T18:47:53Z<p><span dir="auto"><span class="autocomment">Appropriate software for the course</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 18:47, 4 May 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l16" >Line 16:</td>
<td colspan="2" class="diff-lineno">Line 16:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>* Jay (P) has suggested [http://qt.nokia.com/products/developer-tools/ QT Creator]. This looks like a good choice, because it has all the features we'll need and is not very customisable, so it will be consistent for all students. However, it is designed mainly for C++ so we'll have to check if it's appropriate for ANSI C projects.</div></td><td class='diff-marker'> </td><td style="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;"><div>* Jay (P) has suggested [http://qt.nokia.com/products/developer-tools/ QT Creator]. This looks like a good choice, because it has all the features we'll need and is not very customisable, so it will be consistent for all students. However, it is designed mainly for C++ so we'll have to check if it's appropriate for ANSI C projects.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">* http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B <br/> codeblocks is one of the few gpl cross platform with all the boxes ticked, but i've not tried it myself --[[User:Lwk|&#39;RepRap&#39; Matt]] 13:47, 4 May 2012 (EST)</ins></div></td></tr>
</table>Lwkhttps://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&diff=3762&oldid=prevMarcus: What is the most appropriate software (IDE, compiler, etc) for this course?2012-05-04T15:11:42Z<p>What is the most appropriate software (IDE, compiler, etc) for this course?</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:11, 4 May 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l11" >Line 11:</td>
<td colspan="2" class="diff-lineno">Line 11:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>* A gentle introduction to programming in Python -- Could be more appealing to a wider audience, as python is better as a teaching language.</div></td><td class='diff-marker'> </td><td style="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;"><div>* A gentle introduction to programming in Python -- Could be more appealing to a wider audience, as python is better as a teaching language.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>* A course based on SICP (or similar) that would give us a strong foundation in programming as a discipline, with more concepts and less emphasis on practical projects.</div></td><td class='diff-marker'> </td><td style="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;"><div>* A course based on SICP (or similar) that would give us a strong foundation in programming as a discipline, with more concepts and less emphasis on practical projects.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">== Appropriate software for the course ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">When running courses like this before, I've found that practical exercises with the group can be frustrating if the presentation PC and the student's PCs have a different software setup. Surprisingly, some people struggle to find menu options & buttons if their computers are configured differently to others. Navigating menus doesn't come naturally to everyone, so this can waste quite a bit of time in every session and we really want to concentrate on the programming. So I think it's important to have a consistent toolchain or simple IDE to base this course around. These are the suggestions so far:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">* Jay (P) has suggested [http://qt.nokia.com/products/developer-tools/ QT Creator]. This looks like a good choice, because it has all the features we'll need and is not very customisable, so it will be consistent for all students. However, it is designed mainly for C++ so we'll have to check if it's appropriate for ANSI C projects.</ins></div></td></tr>
</table>Marcushttps://wiki.nottinghack.org.uk/index.php?title=Talk:An_introduction_to_programming_in_C&diff=3761&oldid=prevMarcus: Why start with the C language? Who shall we aim this course at? Other complementary courses we could run.2012-05-04T13:42:37Z<p>Why start with the C language? Who shall we aim this course at? Other complementary courses we could run.</p>
<p><b>New page</b></p><div>== The choice of programming language ==<br />
C is not an ideal language for beginners, but many hackspace members are interested in C programming for Arduino and other low-level stuff. This course could be very useful to members if it ties in with the Arduino workshops at the hackspace.<br />
<br />
== Intended target for this course ==<br />
* People who have limited time for self-study and want subjects laid out in a structured way so they can learn faster.<br />
* People willing to teach programming, with the idea that "the best way to learn is to teach" (Oppenheimer).<br />
<br />
This course will be most useful to people who have some aptitude/intuition for programming and want to quickly develop their skills. Maybe it's best to start with a weekend of taster-sessions that offers the chance to try some programming exercises, so people can decide whether to continue with the full course, or not.<br />
<br />
== Suggested complementary courses ==<br />
* A gentle introduction to programming in Python -- Could be more appealing to a wider audience, as python is better as a teaching language.<br />
* A course based on SICP (or similar) that would give us a strong foundation in programming as a discipline, with more concepts and less emphasis on practical projects.</div>Marcus