Skip to content

Reflection

  • Date: 2024-11-22
  • Author: Richel

I was happy to be with the learners, but too tired to enjoy it. I did not like talking so much: I'd prefer to have have done an exercise instead. I decided to go through the theory, but I could have re-organize the content, making it more exercise focussed.

I also could have done better: the speed optimization misconceptions could be done in small groups and discussed.

Also, the references to the literature are too diffuse/sprinked: I want to see big lists everywhere :-)

Also, I am unconvinced about the use of Big O in its current form: it should have been about predictions. It should be scheduled after run-time speed optimization.

I predicted I would be tired at the end of the course and I predicted these would be my worst lectures, as I felt the same in earlier iterations of the course.

Whole course

I feel I did a reasonable job. We all (teachers and learners) helped create a warm atmosphere in the course.

My favorite improvement was my exercises: thanks to the Retrospect at day 1, I suddenly understood what was needed. 'No plan surives first contact with the enemy', they say, for me it was more that the retrospect made me prioritize better.

I would now say that a good exercise is:

  • Clearly described what to do
  • Has a worked-out solution
  • If possible: has multiple skill levels

I want to have this in all my exercises, before next course iteration.

I enjoyed the team of teachers. My favorite is how we can flat-out disagree, without any drama.

The course is a complex beast, with many dependencies between lessons. I wonder why we do not have written a script to check if our schedule holds?

I've added domain-specific knowledge, in the form of biology. I think it should be general things we have exercises of

I think the project should be worked on more and be simplified. Maybe start with a proper/pre-fab requirements list. Branch of from the main function more.

Evaluation results

What did Richel do well?

  • I think Richèl carry this course. He explained well his lectures and give very good exercises. He asked good questions that challenges our thinking. He seems very prepare everyday and always there to help. Additionally, he listens to comments and give really good insight.
  • Involving everyone with the discussions
  • Explain everything super well and be very positive about everything
  • Really great engagement and explanations. Calling people out for discussion greatly improved flow. Really felt like his heart was in the course.

What could Richèl Improve

  • He is really good already. Just continue it.
  • Clearer exercises. This became clearer as the course went along
  • Remake the video that was in one of the days that lagged
  • Tbh I'm really not finding anything.

Uhhh, are they too friendly? Let's compare:

What did Björn do well

  • I like his lecture in git and giving nice exercise on that.
  • Clear theory parts on the subjects
  • Explain very vague concepts in an understandable way
  • Good help during the exercises.

What could Björn Improve

  • I think next time avoid just reading the page. Simplify things and asks questions and encourage student to answer.
  • Clearer exercises
  • When asking questions, make them more specific so that people are more apt to answer
  • Was at points difficult to follow the lectures, because he just read the course material out loud. Could benefit from a more free style of lecturing!

What did Lars do well

  • Lars really give good insight most of the time while in lecture or even in the side.
  • Giving helpful tips when needed
  • Give a lot of extra knowledge that was not always in the website
  • Great knowledge, really helpful.

What could Lars Improve

  • I think the exercises, maybe make it more understandable and assess the time needed to accomplish it. Also, there is a room for improvement in the lecture.
  • Clearer exercises
  • Give a lot more real-life practical examples when explaining concepts, that would help a lot
  • Feel like it would be great to see him do a pair-programming exercise together with another lecturer. Got the impression that he's someone who can showcase how to be a navigator.

Ah, the learners can indeed be critical. Let's go back to mine:

Again: What did Richel do well?

  • I think Richèl carry this course. He explained well his lectures and give very good exercises. He asked good questions that challenges our thinking. He seems very prepare everyday and always there to help. Additionally, he listens to comments and give really good insight
  • Involving everyone with the discussions
  • Explain everything super well and be very positive about everything
  • Really great engagement and explanations. Calling people out for discussion greatly improved flow. Really felt like his heart was in the course.

That is some heartwarming feedback.

I am happy to read I came across as prepared, even though it was a wild ride to do so. I am happy that this group does enjoy to be called out.

Again: What could Richèl Improve

  • He is really good already. Just continue it.
  • Clearer exercises. This became clearer as the course went along
  • Remake the video that was in one of the days that lagged
  • Tbh I'm really not finding anything.

I am happy to learn my exercises improved! And indeed, the lagging video is on my todo list :-)

I took a closer look at the intake form:

Column Verdict
Timestamp Automatic, hence keep
Your name Vital
Your email Vital
Affiliation Not worth it
Which scripting and programming languages do you use? Not worth it
Briefly describe your background and experience in programming Not worth it
What do you expect to learn from this course? Not worth it
How did you learn about this course? Not worth it
Do you plan to follow the entire course? Not worth it
Email address Duplicate

I will suggest to keep only the name and email. I feel it is not worth to bother the learners with things that are not essential.

Confidences

Day Average confidence
Monday 7.01/10.0 = 70%
Tuesday 4.13/5.0 = 82.6%
Wednesday 7.01/10.0 = 70%
Thursday 7.16/10 = 72%
Friday 8.55/10 = 86%

Tuesday:

I understand why `assert` is important,3.625
I can use TDD to develop functions,3.75
I can name at least three roles that are present in a team,4.125
I understand why TDD is important,4.5
I can use a kanban board,4.75
I understand why a kanban board is important,4.875
I can create, assign and close an issue,5
I understand why issues are important,5

I agree, it was why I changed the order: assert will come first next time.

Happy to see that this matches!

Wednesday:

I understand what continuous integration is,4
I can write tests using a formal testing framework,7.333333333333333
I can pair program,8.555555555555555
I feel confidence and motivation in making my code open-source,8.333333333333334
I can put the files of my code in the right locations,8.88888888888889
for the testing framework to find them,8.88888888888889
I understand what good pair programming looks like,9
I understand the benefit of using a testing framework,9.222222222222221
I understand why pair programming is important,9.444444444444445

At that day, I moved CI to the next day. For the testing framework, I improve the exercises for the day after.

Thursday:

I inderstand difference between composition and aggregation,6.4
I understand the type of relation 'inheritance' is,7.4
I can write a class to express what the data it contains,7.6
I understand the type of relation 'composition' is,7.6
I can criticise functions,8.4
I can give a function a proper name,9
I can give some features of good function design,9.2
I understand why function design is important,9.2

Great: I did not discuss the difference between composition and aggregation much, as it was not a teaching goal and I wanted to avoid discussing aggregation.

It was the design part that was most unclear. As this overlaps with Lars' work, I hope he can help getting these values up.

I can create a Big O profile of my project,7.333333333333333
I understand how to methodically optimize the runtime speed of my code,7.833333333333333
I can create a runtime speed profile,8.833333333333334
I understand what Big O is,9.166666666666666
I can read a runtime speed profile,9.333333333333334

This is great again: there was no Big-O exercise. I could really use one!