<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.vuntz.net/journal/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>mon journal - par Vincent - Teaching and learning with GNOME      - Comments</title>
    <link>https://www.vuntz.net/journal/</link>
    <atom:link href="https://www.vuntz.net/journal/feed/rss2/comments/437" rel="self" type="application/rss+xml" />
    <description>mon journal - par Vincent</description>
    <language>en</language>
    <pubDate>Mon, 09 Feb 2026 20:56:34 +0000</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
                        <item>
          <title>Teaching and learning with GNOME - Emmanuel</title>
          <link>https://www.vuntz.net/journal/post/2007/06/12/437-teaching-and-learning-with-gnome#c2184</link>
          <guid isPermaLink="false">urn:md5:c42fb3ceb1693899bc9210248bf731b1</guid>
          <pubDate>Wed, 13 Jun 2007 11:04:50 +0000</pubDate>
          <dc:creator>Emmanuel</dc:creator>
          <description>&lt;p&gt;I'm one of the teachers making the &amp;quot;Code Evaluation &amp;amp; Maintenance&amp;quot; course. I just have few comments on this course and maybe some explanations on how we got the idea of it and what is our real goal...&lt;br /&gt;
&lt;br /&gt;
First, all the teachers of the EMC course did read the book &amp;quot;Code Reading&amp;quot; by Spinellis and got struck by the idea that in fact you do not only learn code by writing but also by reading. Indeed, I do read code when I'm stuck with something that I cannot figure out how to do, when documentation is not enough, when I'm the only one skilled enough in my lab to get what I want, when I do have to evaluate a library or an application that one of my software will depend on, and, ultimately, I do read code just for pleasure, to get some ideas, some inspiration for later on.&lt;br /&gt;
&lt;br /&gt;
Some people did push the metaphor a bit too far by comparing code and literature, I'm not one of those. Code is code and literature is literature even though similarities between both of them are numerous.&lt;br /&gt;
&lt;br /&gt;
So, once I accepted the idea that not only you learn better by reading code from others and that once you have assimilated this technique you'll never loose your way through big projects, I started wondering: &amp;quot;But when did someone tell me about this while my studies or after ?&amp;quot;... &lt;br /&gt;
&lt;br /&gt;
NEVER !&lt;br /&gt;
&lt;br /&gt;
None of my teacher, nor even other hackers that I know did push forward this obvious fact before Spinellis. And more strangely, no course have been yet made up to teach students to do so.&lt;br /&gt;
&lt;br /&gt;
You may say that we lack of &amp;quot;good&amp;quot; code to read (whatever you mean by &amp;quot;good&amp;quot;). But since last decade Open Source projects are providing us with A LOT of code... &amp;quot;good&amp;quot; and &amp;quot;bad&amp;quot;... and, indeed, reading both &amp;quot;good&amp;quot; and &amp;quot;bad&amp;quot; code is absolutely necessary to know what &amp;quot;good&amp;quot; code is, to learn how to identify weaknesses in one project, to capture code gems or idioms that you will reuse all life long. &lt;br /&gt;
&lt;br /&gt;
And it's not only about code ! You can also access all project history through the SCM database, archived websites, mailling-list archives, ... and thus also teach project management, software engineering, legal aspects of coding, and others... through REAL LIFE EXAMPLES.&lt;br /&gt;
&lt;br /&gt;
So, Open Source projects are a bless if you want to teach coding and probably all aspects of computer science in a &amp;quot;code reading&amp;quot;-way because they give us the material to do so. The question now being more about: &amp;quot;How to do it properly ?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Our goal in this EMC course is not really yet to fill the lack of such a course but to experiment methods to teach it. Try to see how far we can push the idea and how are the students behaving when facing this way of thinking. We took deliberately Master students in their last year in order to have them knowledgeable about most of the basis and be able to be more independent for the projects (the university didn't give us a lot of teaching hours for our experiment).&lt;br /&gt;
&lt;br /&gt;
We do have classical theoretical course but the core of the teaching rely on a trilogy of projects which are focused on one Open Source project that we choose at the beginning of the year:&lt;br /&gt;
- Code Reading (browse a project focused on a specific point: build-system, libraries binding, ...)&lt;br /&gt;
- Bug fixing (take an item in the bug-list and dig it, eventually patch it)&lt;br /&gt;
- Feature implementation (take an item in the wish-list and go for an implementation)&lt;br /&gt;
&lt;br /&gt;
The theoretical courses insist on the method and the tools to use in order to apply it during the projects.&lt;br /&gt;
&lt;br /&gt;
Last year was our first time with Subversion as focus and it came surprisingly smooth... even though students revealed a lot of lacks in what should be considered as basis in our field (build-systems, complex compilation frameworks, advanced debugging, better understanding of low-level memory management, ...).&lt;br /&gt;
&lt;br /&gt;
Next September we start again with new students, and almost the same teaching team, more experienced, more prepared. I'm really pushing forward the Gnome project to get our attention because I think that you get a very responsive community with all the documentation, the code we need and a centralized forge (SCM, issue-tracking, ...). &amp;quot;Love bugs&amp;quot; (Love issues, in fact) also have my preference for projects.&lt;br /&gt;
&lt;br /&gt;
Of course, we are just trying ideas here... My dream would be that based on our experience other teachers follow our example and open similar courses. Hopefully it will happen. :)&lt;/p&gt;</description>
        </item>
                              <item>
          <title>Teaching and learning with GNOME - Thomas</title>
          <link>https://www.vuntz.net/journal/post/2007/06/12/437-teaching-and-learning-with-gnome#c2183</link>
          <guid isPermaLink="false">urn:md5:b4e0853970a2b2b2da1214f11d3cf52f</guid>
          <pubDate>Wed, 13 Jun 2007 06:46:15 +0000</pubDate>
          <dc:creator>Thomas</dc:creator>
          <description>&lt;p&gt;I think to encourage academic (including student) contributions to free software, programs providing a plug-in interface, or even being architected as frameworks, are crucial.  &lt;br /&gt;
&lt;br /&gt;
Academic projects are often centered around novel ideas, where a lot of experimentation is going on during development.  This means lots of design changes and re-implementation, which is hard to do when modifying an existing, working program you should not break.&lt;br /&gt;
&lt;br /&gt;
Also, manpower is usually severly limited.  Let's face it, most students working with free software in an academic project will not stick as contributors.  So we're facing rather short time windows, at most six months for a Master's thesis.  It helps when those people can concentrate on their idea only, which you can do when developing a plug-in.  It also helps the teachers, as they don't need to introduce a lot of details about the software in question, but just the plug-in interface.&lt;br /&gt;
&lt;br /&gt;
One can see this well in the Eclipse ecosystem.  A large percentage of the available Eclipse plug-ins (&lt;a href=&quot;http://www.eclipseplugincentral.com/)&quot; title=&quot;http://www.eclipseplugincentral.com/)&quot; rel=&quot;nofollow&quot; rel=&quot;ugc nofollow&quot;&gt;www.eclipseplugincentral....&lt;/a&gt; originated in academic projects.  Myself, I am currently working on my Master's, implementing an Eclipse plug-in (&lt;a href=&quot;http://thomas11.wordpress.com/professional/).&quot; title=&quot;http://thomas11.wordpress.com/professional/).&quot; rel=&quot;nofollow&quot; rel=&quot;ugc nofollow&quot;&gt;thomas11.wordpress.com/pr...&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I really hope Gnome and free software in general will show up more in academia.&lt;br /&gt;
&lt;br /&gt;
Thomas&lt;/p&gt;</description>
        </item>
                              <item>
          <title>Teaching and learning with GNOME - QDU</title>
          <link>https://www.vuntz.net/journal/post/2007/06/12/437-teaching-and-learning-with-gnome#c2182</link>
          <guid isPermaLink="false">urn:md5:b2176eaaa69cd6bb4ba412b03bb389f5</guid>
          <pubDate>Tue, 12 Jun 2007 17:23:41 +0000</pubDate>
          <dc:creator>QDU</dc:creator>
          <description>&lt;p&gt;Actually, the mentor of the master thesis of Damien is still a teacher at the &amp;quot;Université Catholique de Louvain (UCL)&amp;quot; in belgium and would probably be interested in project that could be realized as a master thesis. As far as I know, other teachers of the UCL could be interested as well, depending on the field of study. For instance, I know that two students have realized (are realizing ?) a constraint satisfaction problem solver for OpenOffice.org-calc this year.&lt;/p&gt;</description>
        </item>
                              <item>
          <title>Teaching and learning with GNOME - Clare</title>
          <link>https://www.vuntz.net/journal/post/2007/06/12/437-teaching-and-learning-with-gnome#c2181</link>
          <guid isPermaLink="false">urn:md5:31fe59f5e564817f557439807389895c</guid>
          <pubDate>Tue, 12 Jun 2007 16:52:42 +0000</pubDate>
          <dc:creator>Clare</dc:creator>
          <description>&lt;p&gt;Luca Padovani (my WSOP mentor last year) developed GtkMathView as a part of his thesis.&lt;br /&gt;
&lt;br /&gt;
Yes, I can guess what those French words mean provided there is no faux amis!&lt;/p&gt;</description>
        </item>
            </channel>
</rss>
