Didaktics of media: Mediated Discourse: Chats, Foren, Wikis, Twitter, Audio and Video

This blog post is one part of the series “learning diary” for a course at my university.


Based on the title and the provided links for that unit I assume we will learn something about the discourse in chats, forums and co. The links provided were about the Minerva Project (an online university) and an article as response to the first link (so, pro and con about the Minerva project).

What have I learned:

The lesson wasn’t at all about the Minerva project, but the difficulties which occurs if one tries to have a discourse via an online media.

The first thing I learned is that a discourse only can happen if both sides are willingly to change there opinion. Otherwise it’s not a discourse. The next takeaway was that I should learn 10 finger typing, to improve my typing speed.

Our professor showed us some examples how she is preparing herself for mediated discourse: She thinks of topics in advance, prepares questions so she can copy and paste them in the chat window.

Whilst a discourse a moderator (our professor) is needed to shape the flow of discussion. Shaping means providing a framework (topic, predefined questions) but also cutting out trouble makers and preventing off topic discussions. Interestingly to me she proposed to forbid “me too” in the chat. Her reason was to prevent to flood a chat window. Some of these rules are also written down in the chatiquette.

Update 26.11.2015: Inserted the “What have I learned” section

Didaktics of media: Evaluation of Instruction and On-line Exercise Design

This blog post is one part of the series “learning diary” for a course at my university.


Based on the title and the provided pdf for that unit I assume we will learn how to evaluate and compare different examination methods for different kinds of learning goals. I think we will consider target groups, the goal of the examination and several other aspects of online examination.

In the end I hope I’ll be able to create my own online examination because we need to create multiple choice tests later on.

What have I learned:

On this lesson I only wrote a single sentence as comment in my notebook:

Grading on evaluation is always highly subjective

Reason for not writing more notes was the more or less complete slide my professor provided. So almost everything was covered in the slides.

So what have I learned and is covered on these slides? I learned the up and downsides of creating good online examinations. “Good”, in this case means several things. A good (online) exam needs to to take in consideration some organisational stuff (identity check of the exam taker, for example) and also needs questions which are precisely written and good to grade.

I learned of seven different question types for only exams:

  • Fill-in-the-blank
  • Essay
  • Ordering
  • Matching Items
  • Extended Matching Items
  • Multiple Choice (MC)
  • Multiple Answer

We had a quick overview over all of these types (especially from the point of view of someone who grades these tests) but went in more details with Multiple Choice Questions because we will write ten Multiple Choice Questions as an exam.

So, what learned I about MC?

  • An MC has one question and several alternative answers.
  • Only one of the answers is correct. The other answers are sometimes called distractors.
  • A MC with only to possible answers (“true” or “false”) is a special case.
  • A MC is easily scored and the marks can be evaluated by machines.
  • For all but the synthesis level of Bloom’s taxonomy, MC can be easily created.
  • The creation of a good MC can take more time than other kind of exams.
  • There is no way one can justify a choice (this is important if the answers aren’t as precise as needed).
  • Good MC Questions
    • shouldn’t give clues.
    • shouldn’t use jargon.
    • need to be as precise and simple as possible.
  • Good MC Answers
    • should be equally plausible. A set of answers to a question “What is the darkest color?” should only contain colors, for example…
    • should have the same length
    • should avoid “None of the above” and “All of the above”

Update 22.11.2015: Added “What have I learned”

Phoenix and Windows: js not executed

I’m currently on my way to learn a little bit of Elixir. I like the idea of functional programming language made easy. For starters I’m doing all the tutorials I can find. My most recent tutorial was the Channels Tutorial of the Phoenix Framework.

As I did the tutorial, I encountered a problem: My socket.js file was concatenated in the app.js file via Brunch.io but the promised message “Joined successfully” did not show up in the console.

After some fiddling with JavaScript I gave up and searched for the error. I found a similar error description on Stack “js in html is not executing in Phoenix framework sample app“. As it turns out the tutorial/the getting started is not really covering the Windows side… To fix this problem edit your /brunch-config.js file.

At the bottom is a modules key. Change the value from


Voilà, brunch.io is now auto requiring the missing app.js even under Windows

Didaktics of media: Didaktical-methodological Design

This blog post is one part of the series “learning diary” for a course at my university.


Besides the headline “Didaktical-methodological Design” an additional hint to a book was provided “Schulmeister, Ralf, Hypermedia Learning Systems“. Because of that I investigated a little bit about hyper media learning systems. For example what hyper media learning system means…

Turns out, hyper media is a word creation from hypertext and media. It describes systems where media content is linked to to other media content (in contrast to hypertext, where foot notes, citations and text is linked together). Our professor told us in the last lesson about an experiment she did with hyper media systems. This experiment more or less failed because everyone was taking the content sequentially instead of pseudo-random. So one of the features (highly connected content) of hyper media systems have not been used.

What have I learned:

I wasn’t that far off with the assumption what a hyper media learning system is. Actually we got showed what to consider when designing a hyper media learning system.

There are four basic categories to think about:

  • Didaktical Models
  • Didaktical Elements
  • Methodological Scenarios
  • Methodological Elements

(See how the categories match the title?)

We already saw two of the didaktical models in http://blog.nexusger.de/2015/10/didaktics-of-media-constructionism-vs-behaviorism/ (behaviorism and constructivism) but here we learned two more: Learning cycle and C5. For a Hyper media Learning system one has to choose from one of the models.

Learning Cycle is a three point learning model: Give the pupil a concept on the topic, let them construct their knowledge (from the concept for example, worksheets being used often) and have a dialogue afterwards to reflect on the topic.

C5 on the other hand consists of five points and is more an “advise and moderate” teaching method. The C5 method emphasizes working together: Three of the five ideas of C5 (Creation, Communication, Cooperation, Construction, Collaboration) need team work.

Regarding the didaktical elements of a hyper media learning system four sub-points are to consider:

  • Principle: Should the learning system enable independent learning? Should it be adaptable (so a student can change the environment to his needs) or should it be adaptive (so it fits itself to your needs)? Does it need to be interactive? If so how interactive? Is navigating enough? Or is more complex interaction needed?
  • Learning Content: What content should be presented? How is it structured and ordered? Hierarchical? Mesh? Sequential? Which medium? ->  “There is no best medium for content”
  • Learning Strategy: Which paradigm should be used? Socratic dialogue (“I can’t teach you anything, but can help you find the questions”)? Instructional Paradigm (Small bits of information one after another. Like a tutorial)? Problem-Solving Paradigm (Give the students a problem, let them solve it and process the results)?

The funny thing is, there is no answer to the question how we do this online…

The next point to think is about the methodological scenario which is the format of the system. Should it be an online course without or with sparse interaction, an distance education (Mooc for example) or a teletutoring style (Like a class room but the pupil and teacher are connected via (video)-chat )? Is Blended learning (combine different methods) an option?

The last part to think about when designing a hyper media learning system are the methodological elements. That is:

  • Content: How does the student get the system? Online or via real world medium (CD, DVD, USB Stick)? Can he download it or is it online only?
  • Communication: How is the communication handled? Mail, Forum, Chat? Do the students have to write a journal or give feedback?
  • Convergence: How do the students work together? Is there a Wiki? Or a Blog? Is twitter usable for that? And how does this work if it is a offline course?

I’m not sure If I can design a hyper media learning system myself now, but at least I have an Idea what it takes to create one!

Update 13.11.2015: Updated the “What have I learned” section

Didaktics of media: Learning unit one – Report

This blog post is one part of the series “learning diary” for a course at my university.

Goal of this report is to take and rate a online learning unit. For the first learning unit we should take either a text based or animation based course. I finished two kata on the platform http://codewars.com.

Short synopsis of the unit:

The learning unit C# “Descending order” is a coding kata on the site http://codewars.com.

The goal of coding kata in general is twofold. On the one hand one should be able to practice their chosen programming language on small bite sized puzzles[1] (which are often trivial to standard tasks), on the other hand a kata is a way to track their own improvements over time. The second goal is archived through repetition of the kata and the hopefully improved solution (improved in this case means solved the riddle faster, or with less tries etc.).

The task in this particular kata was to make a function, which can take any non-negative integer argument and return all digits of the argument ordered descending by their respective value. So for example

Reflection on your personal learning experience

My personal learning experience is somewhat mixed. On the one hand I really liked the approach of having small, well defined programming puzzles, which (after finished) then gave me a good feeling about getting something done. On the other hand does codewars.com show you other solutions to the kata from other users and often show you more elegant solutions. I realized at some point that my solution is neither fast, nor elegant. This is encouraging but also can lead to frustration.

Did you achieve the stated learning goals?

Because of the more fuzzy goals of a kata, simply doing one kata does not really improve the experience in a language. The expectation of the codewars makers is more of a repeatedly exercise, which a single take can’t provide. None the less, the solutions presented afterwards showed me a nice way to solve this particular problem.

Did the given time suffice?

The allocated time for the unit had been around 90 minutes. It took me 45 minutes to finish the kata (get it compiling and get all unit tests green). So I did a second kata, which took roughly the same amount of time. (“C# – CompoundArray” – Zip two arrays under certain circumstances).

Comment on the design – what was good, what could be made better?

Because the kata are written by open source contributors, the quality of the design of the kata varies. The “Descending order” had a very clearly stated task but had been accompanied only by a single unit test to start with. With a more elaborate set of tests, the kata could be more concrete.

Positive and negative aspects of the contents of the unit

The coding kata in general and the coding kata at http://codewars.com in special is well suited for programmers, which already know their language. Because of the level and the mediocre tutorial it is in my opinion not suited for beginners. You need to be able to understand the concepts of functions, unit tests and preferably the specialities of your chosen language. Otherwise you won’t be able to grasp the whole task, or can’t solve it.

For fun I tried to solve the Haskell tutorial (which is for all languages the same task “Why does this program not compile?”) and failed, even after looking the syntax up.

Grade the course on a scale of 0-10.

Because I took a coding kata in C#, a language I know well I would give this learning unit an eight out of ten. If the following points would be changed, I would improve my rating:

  • The level of the kata is not good enough defined. I would assume that an eight Kyu (lowest level) kata is something an experienced developer should be able to solve in around ten minutes (really basic tasks). When I skimmed through the list of kata, I found descriptions of katas on fourth Kyu, which sounded relatively easy, whereas I took 45 minutes on a seventh Kyu kata.
  • As already stated the learning unit is in my opinion not suited for beginners. A more extended example or a kind of hint after several tries could help.

Other comments

One additional thing to mention is the open source character of the kata. Whilst the platform codewars.com itself is not open source, the kata are. Everyone can create a kata and propose it. On the platform itself the every kata you took can be rated, which then can be used by the user to filter only for “good” kata. To curate the kata, users can up vote and star the different kata. Also, kata have an issue tracker, where user can post suggestions for improvements.

Not only can a kata be rated, any solution can be rated as well. This enables a participant to compare his own solution not only against a random solution but against the best solution for that kata.

[1] Dave Thomas coined the Term “CodeKata” – http://codekata.com/kata/codekata-how-it-started/

Python, pandas and json_read with utf-8 encoding

The pandas library is a fantastic python toolkit to work with data. Recently I needed to read some json files in a pandas dataframe. Usually you can do that easily with the built in method:

But this method fails, if it encounters utf-8 encoded files. In contrast to the more often used methods read_table and read_csv, read_json does not provide an encoding parameter. To work around this you have to import the codecs module and use the open method:


Elixir, postgres and chocolatey

You try to use the phoenix getting started guide on windows and the task “mix ecto.create” fails with an useless error? Chances are your postgresql database isn’t available with the ecto default credentials “postgres”:”postgres”. Try to logon to the database with the credentials “postgres”:”Postgres1234″ and change the password for the user to “postgres”. Also, don’t forget to change the password of the Windows user “postgres”.

Update 15.11.2015: You also have to change the logon information for the service, otherwise postgresql won’t start after an restart.

Long version

If you happen to start with elixir and phoenix you will probably install postgres at some point. If you also happen to use Windows AND are a user of chocolatey (which you should be!) it could happen that you run in a nasty, not very helpful error message when you try to use the phoenix getting started guide on the mix task:

The error states exactly nothing:

Which is not that helpful. Because of the error message you can’t exactly google for that particular error. (I mean, yeah you could look the codepoint up but… really?)

Because the ecto tasks failed and ecto is the database mapper, I tried to connect to my recently installed postgres database. Which immediately made my mistake clear: ecto expects an user “postgres” with the password “postgres” for the database connection. But these credentials didn’t work!

I tried to find the default password for postgres (“postgres” being the only answer I found) but failed after a quick googling. So I uninstalled the postgres package via chocolatey

from my computer (which unfortunately didn’t work… I deleted the folder afterwards :-/ ) and reinstalled it.

On the installation log I found the default password afterwards:

I logged on to the database and changed the password:

Afterwards I changed the password for the windows user, “postgres” created on the installation accordingly.

Now the mix task works as expected.

Didaktics of media: Instruction Planning / Target Group Specification

This blog post is one part of the series “learning diary” for a course at my university.


Based on the topic of this weeks course and the provided information I assume we will learn how to specify the target group of a learning environment and possibly why it is important to define a target group. Also the planning of an online course seems to be involved. The four decisions to make if one would create a online course are:

  1. Is face-to-face interaction needed?
  2. Which amount supervising is needed?
  3. What amount and type of peer interaction is needed?
  4. How will the course be delivered?

What have I learned:

In the lesson today I learned to structure a learning unit, based on the target group and various other factors. Our group had the task to plan a learning lesson on “Tree” data structure for second semester computing students. We had a task to define the target group (second semester as already written), determine the learning goals and structure the content. Also we had to think about a methodology how we can teach the learning goals to the students. Also we learned about the media usage, specifically on keeping the media local and double check if the media works (specially on new systems).

The second topic of the lesson revolved around distance education. We learned that how distance education is done in more rural areas in the world (by television or radio, and sending sheets via mail)

Didaktics of media: Learning Objectives – Taxonomies

This blog post is one part of the series “learning diary” for a course at my university.


The goal of this week lesson was to learn what a learning objectives is and how to define learning goals for your self. I expect to get taught some methods to define the Objectives.

What have I learned:

Learning Objectives are exactly that: The information the teacher/professor want to teach to the student/pupils in that lesson (or on a higher scale in that semester). An learning objective provides the teacher/professor a guideline what to teach as well as to discover what a teacher really is teaching (hidden curriculum). Most of my school life teachers seemed either not to have a learning goal set up or I didn’t recognized it.

Learning objectives can be classified. There exists different taxonomies, of which Bloom’s taxonomy was discussed. This taxonomy consists of four consecutive tiers of learning objectives:

  1. Knowledge: The first tier of learning objectives consists of pure factual objectives. An example was fact: “The war ended 1945”
  2. Comprehension: The second tier is the “understanding” part of an learning goal. To go with our example, the learning goal here would be to understand why the war ended 1945.
  3. Application: In the third tier is the usage of the gained comprehension located. For the example sake: We already understood why the war ended 1945, so we could look at other wars and say why these ended.
  4. “Meta”: The next three categories are not consecutive but depend the first three tiers.
    • Analysis: The learning objective in this category is to break down information and gain insight about the information.
    • Synthesis: In this category the learning goal is to create information with the help of prior knowledge. One could transfer the comprehension of the end of the war to compose reasons why it was started in the first place.
    • Evaluation: In this category the learning goal is to judge the information or possible different information. If we stay with our example, the evaluation learning goal would be to distinguish between different explanations of why the war ended 1945.