refactor research into projects

This commit is contained in:
Wouter Groeneveld 2021-02-28 15:51:44 +01:00
parent b215a68862
commit a5361538c0
5 changed files with 117 additions and 171 deletions

View File

@ -74,12 +74,6 @@ enableGitInfo = true
url = "/archives"
weight = 3
[[menu.main]]
name = "Research"
pre = "<svg width='24' height='24'><use xlink:href='#bulb'></use></svg> "
url = "/research"
weight = 4
[[menu.mainright]]
name = "About Me"
pre = "<svg width='24' height='24'><use xlink:href='#about'></use></svg> "
@ -87,8 +81,8 @@ enableGitInfo = true
weight = 5
[[menu.mainright]]
name = "Teaching"
pre = "<svg width='24' height='24'><use xlink:href='#teaching'></use></svg> "
url = "/teaching"
name = "Projects"
pre = "<svg width='24' height='24'><use xlink:href='#bulb'></use></svg> "
url = "/projects"
weight = 6

View File

@ -15,7 +15,7 @@ disableComments: true
## ... Researcher
* I am a PhD researcher at the [Faculty of Engineering Technology](https://iiw.kuleuven.be/english), KU Leuven.
* My [academic research](/research) focuses on identifying and amplifying non-technical skills in software engineering education, primarily targetting _creative problem solving_.
* My [academic research](/projects#research) focuses on identifying and amplifying non-technical skills in software engineering education, primarily targetting _creative problem solving_.
* I mainly employ qualitative methods and prefer to mix disciplines such as computing education, cognitive psychology, and architecture.
## ... Programmer
@ -34,7 +34,7 @@ disableComments: true
## ... Teacher
* Transforming knowledge into well-digestible material is my mission. As they say: _the best way to learn something is to teach it_ - I couldn't agree more.
* Besides various formal [teaching assignments](/teaching/) at KU Leuven, I've also coached software developers in different companies, and occasionally organize bread baking workshops.
* Besides various formal [teaching assignments](/projects#teaching) at KU Leuven, I've also coached software developers in different companies, and occasionally organize bread baking workshops.
---

110
content/projects/_index.md Normal file
View File

@ -0,0 +1,110 @@
---
title: Projects
aliases:
- /research
- /teaching
icontag: bulb
accent: "#008eb3"
---
> I cannot teach anybody anything, I can only make them think. <span>Socrates</span>
This page shows a curated and chronologically sorted list of various projects I found myself working on. Looking for my CV? This is probably your best bet. It is categorized as follows:
- [Teaching activities](#teaching)
- [Open Source Projects](#projects)
- [Academic research](#research)
Want to find out more about me? [<svg class='icon icon-small' width='16' height='16'><use xlink:href='#about'></use></svg>Read the about page](/about).
---
## <a name="teaching"></a> Teaching activities
### Academic Courses
Various courses I teach as part of my affiliation with the Faculty of [Engineering Technology](https://iiw.kuleuven.be/english) at KU Leuven since 2018.
- [Principles of Database Management](https://kuleuven-diepenbeek.github.io/db-course/)<span class="dt">(2021)</span>
- [Operating Systems and C](https://kuleuven-diepenbeek.github.io/osc-course/)<span class="dt">(2021)</span>
- [Software Engineering Skills](https://kuleuven-diepenbeek.github.io/ses-course/)<span class="dt">(2021)</span>
- [Software Design in Java](https://uhintra03.uhasselt.be/studiegidswww/opleidingsonderdeel.aspx?a=2018&i=2833&n=4&t=01)<span class="dt">(2021)</span>
- [Software Design in C/C++](https://kuleuven-diepenbeek.github.io/cpp-course/)<span class="dt">(2021)</span>
- [Basic Engineering Skills in Python](https://uhintra03.uhasselt.be/studiegidswww/opleidingsonderdeel.aspx?a=2018&i=3825&n=4&t=01)<span class="dt">(2020)</span>
- [Capita Selecta Data Storage](https://uhintra03.uhasselt.be/studiegidswww/opleidingsonderdeel.aspx?a=2018&i=3825&n=4&t=01)<span class="dt">(2019)</span>
### Professional Courses
Varous courses I taught as a senior software engineer to help spread good code practices.
- [Test Driven Design for Teachers](https://github.com/wgroeneveld/tdd-course) <span class="dt">(2018)</span>
- [Clean Code](https://github.com/wgroeneveld/cleancode-course) <span class="dt">(2017)</span>
- [Javascript: the Good Parts](https://github.com/wgroeneveld/js-course) <span class="dt">(2014)</span>
- Agile Software Engineering <span class="dt">(2012)</span>
- [Cultivating the right problem solving skills](https://github.com/wgroeneveld/problemsolving-course) <span class="dt">(2017)</span>
- The Creative Polyglot <span class="dt">(2015)</span>
- [Increase your productivity with Power Tools](https://github.com/wgroeneveld/productivity-course) <span class="dt">(2017)</span>
- [Javascript Unit testing &amp; build integration](https://github.com/wgroeneveld/jstesting-integration) <span class="dt">(2012)</span>
---
## <a name="projects"></a> Open Source Projects
I like applying Jason Fried's _"Scratch Your Own Itch"_ principle from [ReWork](https://www.goodreads.com/book/show/6732019). Below is a selection of open source projects I've created or contributed to, that were made possible thanks to a lot of scratching.
### Gaming
- [gba-sprite-engine](https://github.com/wgroeneveld/gba-sprite-engine); a 2D C++ sprite engine for building games on the GBA.
- [gba-bitmap-engine](https://github.com/wgroeneveld/gba-bitmap-engine); a 3D C++ rendering concept on the GBA.
- [gba-tileeditor](https://github.com/IanFinlayson/gba-tileeditor); a simple tile editor for the GBA.
### Unit Test Tools
- [opbtest](https://github.com/wgroeneveld/opbtest); the Open PicoBlaze Assembler Unit Test package.
- [opbasm](https://github.com/kevinpt/opbasm); the Open PicoBlaze assembler.
- [extjswebdriver](https://github.com/pratoservices/extjswebdriver); an ExtJS & Selenium Webdriver C# framework.
- [jasmine-junit-runner](https://github.com/wgroeneveld/jasmine-junit-runner); a JUnit Runner that runs headless JS tests in Eclipse
- [sausage](https://github.com/jlipps/sausage); a PHP framework for the Selenium/Sauce Labs REST API.
- [jasmin-sync-flow](https://github.com/wgroeneveld/jasmine-sync-flow); easy setup test data with asynchronous code using flow.js.
- [tfsbuildradiator](https://github.com/wgroeneveld/tfsbuildradiator); a simple Team Foundation Server Build radiator.
- [ghostdriver](https://github.com/detro/ghostdriver); an implementation of the WebDriver protocol, using PhantomJS.
### Front-end Libraries
- [FieldsLinker](https://github.com/PhilippeMarcMeyer/FieldsLinker); draws links between elements of 2 lists.
- [websocket-webcam](https://github.com/wgroeneveld/websocket-webcam); a pure JS HTML5 webcam client using WebSockets.
- [bootstrap-wysihtml5](https://github.com/jhollingworth/bootstrap-wysihtml5); a simple, beautiful HTML5 wysiwyg editor.
### Other Tools
- [dokuwiki-to-hugo](https://github.com/wgroeneveld/dokuwiki-to-hugo); converts your DokuWiki content to Hugo Markdown.
- [gulp-svn](https://github.com/yasinkocak/gulp-svn); an SVN plugin for Gulp.
- [commento](https://gitlab.com/commento/commento); a privacy-aware platform that can embed comments into websites.
Looking for more? [Browse my <svg class='icon icon-small' width='16' height='16'><use xlink:href='#github'></use></svg> GitHub profile](https://github.com/wgroeneveld).
---
## <a name="research"></a>Academic Research
My academic research focuses on identifying and amplifying non-technical skills in software engineering education, primarily focusing on _creative problem solving_ skills. I also <svg class='icon icon-small' width='16' height='16'><use xlink:href='#book'></use></svg> [blog about the subject](/categories/education/).
A selection of recently published work:
- [Exploring the Role of Creativity in Software Engineering](https://arxiv.org/pdf/2101.00837). In Proceedings of the 43nd International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS), 2021.
- [Non-cognitive abilities of exceptional software engineers: a Delphi study](https://dl.acm.org/doi/abs/10.1145/3328778.3366811). In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 2020.
- [Software Engineering Education Beyond the Technical: A Systematic Literature Review](https://arxiv.org/abs/1910.09865). In Proceedings of the 47th SEFI Conference, 2019.
Looking for more? [Browse my <svg class='icon icon-small' width='16' height='16'><use xlink:href='#teaching'></use></svg> Google Scholar Citations](https://scholar.google.com/citations?user=bvEeAtoAAAAJ&hl=en).
<style>
.dt {
float: right;
color: lightgray;
}
</style>
---

View File

@ -1,158 +0,0 @@
---
title: Research
icontag: bulb
---
## Academic Research
My academic research focuses on identifying and amplifying non-technical skills in software engineering education, primarily focusing on _creative problem solving_ skills. I also [blog about the subject](/categories/education/).
Below is an overview of every **accepted** paper that is related to this research. Most publications are in ACM [SIGCSE-related](https://sigcse.org/sigcse/) conferences/journals because Computing Education is my field of research.
I am affiliated with KU Leuven's [Faculty of Engineering Technology](https://iiw.kuleuven.be/english) in Diepenbeek, Belgium. Find out more about me in [the about page](/about).
---
> Engaging Software Engineering Students in Grading:<br/> The effects of peer assessment on self-evaluation, motivation, and study time <span>2020, published in Proceedings of the 48th SEFI Conference 2020 (to appear)</span>
{{< row >}}
{{% col %}}
<p></p>
We explored **self-evaluation, motivation, and study time of students in relation to peer assessment (RQ)**, as part of an ongoing project at our local faculty (again involving the Game Boy Advance - any excuse is good, right?).
Students seem to get much better at evaluating their own project on some, but not all, of the evaluation criteria after a peer assessment session, and students report in a follow-up survey that they are more motivated to work on their project.
{{% /col %}}
{{% col %}}
![](/img/research/peergrading.jpg "Measured study time differences with and without peer grading")
{{% /col %}}
{{< wor >}}
---
> Soft Skills: What do Computing Program Syllabi Reveal About Non-Technical Expectations of Undergraduate Students? <span>2020, published in the [ACM Conference on Innovation and Technology in Computer Science Education](https://doi.org/10.1145/3341525.3387396), (287-293).</span>
{{< row >}}
{{% col %}}
![](/img/research/map.jpg "A portion of the DB visualization tool")
Data and details: [see paper webpage](https://people.cs.kuleuven.be/~wouter.groeneveld/courses/).
{{% /col %}}
{{% col %}}
<p></p>
Co-authored with [Brett Becker](http://www.brettbecker.com/). Brett and I curated and analyzed a database of Computing syllabi full of **non-technical courses to look for patterns in learning outcomes (RQ)**.
110 universities in Europe and 278 courses revealed skills categorized in _project, humanities, business, communication, coaching, professional, seminar_, and _creativity_. Again, the last group proved to only contain `1.4%` of all courses!
{{% /col %}}
{{< wor >}}
---
> Sparking Creativity with the Game Boy Advance <span>2020, published in the [51st ACM Technical Symposium on Computer Science Education](https://doi.org/10.1145/3328778.3372606), (1326-1326).</span>
{{< row >}}
{{% col %}}
<p></p>
Our first exiting results of student motivation and creative problem solving using the GBA sprite engine (see below) were summarized in this poster. We used Amabile's Creativity Model (_motivation_, _creative skills_, _expertise_) and did expert assessments.
But most of all, we just wanted to show off what kinds of games our students made during the first year. There's a video available in the poster page. Data and details: [see SIGCSE 2020 poster](https://dl.acm.org/doi/abs/10.1145/3328778.3372606).
{{% /col %}}
{{% col %}}
![](/files/sigcse2020-poster-preview.png "Poster preview, click to enlarge")
{{% /col %}}
{{< wor >}}
---
> Non-cognitive abilities of exceptional software engineers:<br/>a Delphi study <span>2020, published in the [51st ACM Technical Symposium on Computer Science Education](https://doi.org/10.1145/3328778.3366811), (1096-1102).</span>
{{< row >}}
{{% col %}}
![](/img/research/delphi.jpg "The Identified Skill Category Breakdown")
Data and details: [see paper webpage](https://people.cs.kuleuven.be/~wouter.groeneveld/delphi/#/).
{{% /col %}}
{{% col %}}
<p></p>
Co-authored with Hans Jacobs from [Prato](https://www.prato.be/). We asked software engineering experts all over the world: "**what do you think is a critical non-technical skill to excel as a developer? (RQ)**" The result is a long list of skills such as _systematically verify assumptions and validate results_ and _be creative by approaching a problem from different angles_.
It's interesting to see that all three panel groups (technical experts, business experts, and academics) picked something else as the top skills. _Problem solving_ is mentioned most often, perhaps unsurprisingly.
{{% /col %}}
{{< wor >}}
---
> Software Engineering Education beyond the Technical:<br/> A Systematic Literature Review <span>2019, published in [Proceedings of the 47th SEFI Conference 2019](https://lirias.kuleuven.be/retrieve/549742): vol. 47, (1607-1622)</span>
{{< row >}}
{{% col %}}
<p></p>
A first step towards identifying **which non-technical skills are currently being taught in the field of software engineering education (RQ)**. During our literature analysis, we discovered that _self-reflection, conflict resolution, communication_ and _teamwork_ are the top four taught skills while skills such as _creativity_ and _empathy_ dangle at the bottom.
_Internships_ and _capstone projects_ seem to be underrepresented as teaching aspects to facilitate the learning of these skills. It's also staggering to see so little papers mention _creativity_, especially in project development.
{{% /col %}}
{{% col %}}
![](/img/research/slr.jpg "Found connections between skills and teaching aspects")
Data and details: [see paper webpage](https://people.cs.kuleuven.be/~wouter.groeneveld/slr/#).
{{% /col %}}
{{< wor >}}
---
## Curiosity-based Research
Besides my academic obligations, I love to find out how things work on anything that peaks my interest, ranging from technical computer-related subjects to bread baking, drawing, art, and philosophy. I call this research "_curiosity-based_", and while the results might not be published in academic journals, they are still significant to me, and hopefully also to others.
---
> Save Sourdough: <br/>A Personal Quest For the Taste and Science of Bread <span>Self-published and available at [redzuurdesem.be](https://redzuurdesem.be/het-boek)</span>
{{< row >}}
{{% col %}}
<p></p>
"Red Zuurdesem" (Save Sourdough) is a book I wrote in Dutch about sourdough bread, bundling 10 years of personal knowledge into 370 pages.
The book has been "baked" with love in which slowly fermented ideas from both practical and theoretical worlds merge with success into one deliciously smelling whole, generously sprinkled with tips and formulas to get started with baking yourself.
Read more and buy it at the Dutch website [Red Zuurdesem](https://redzuurdesem.be/het-boek).
{{% /col %}}
{{% col %}}
![](/img/research/redzuurdesem.jpg "The book cover.")
{{% /col %}}
{{< wor >}}
---
> A high-level object-oriented Gameboy Advance bitmap engine <span>2020, available [at Github](github.com/wgroeneveld/gba-bitmap-engine/)
{{< row >}}
{{% col %}}
![](https://github.com/wgroeneveld/gba-bitmap-engine/raw/master/img/octa.gif?raw=true "An octahedron rendered in software using rasterization and culling.")
{{% /col %}}
{{% col %}}
A bitmap-based GBA 3D software engine written in C++. It's framework is based on the older sprite-based engine, adding 3D matrices/vertices math to convert 3D coordinates to a 2D pane.
The GBA is obviously not made to do these kinds of things. I wanted to toy around with fixed-point math and learn about vertex shaders along the way.
{{% /col %}}
{{< wor >}}
---
> A high-level object-oriented Gameboy Advance sprite engine <span>2018, available [at Github](github.com/wgroeneveld/gba-sprite-engine/)
{{< row >}}
{{% col %}}
A sprite-based GBA engine written in C++, I originally created for students to learn object-oriented C++. The reason to choose the GBA was partially (self-)motivation and partially because... well, because I can!
We've successfully employed the engine to teach at our faculty, for over two years now. It seems to not only peak my own interest!
{{% /col %}}
{{% col %}}
{{< vimeo 314203871 >}}
_A video of student projects from year 2018-19._
{{% /col %}}
{{< wor >}}

View File

@ -165,8 +165,8 @@ kbd
white-space: nowrap
&:hover
color: $grey
border: 1px solid $grey
color: white
background-color: var(--accent)
#skiptocontent
z-index: 100