Should we create Vaadin exams/courses?

I’ve received some requests to create one (or more) Vaadin exam/course on

What do you think?
Which exam/course first (coverage)?

After a first discussion with Joonas, here is the ToC of a Vaadin - Fundamentals course.
The corresponding exam would obviously cover the same.

Is that what people starting with learning Vaadin should do (in that order) ?


First of all, this sounds great! We have given short lectures in universities about Vaadin basics and held private customer workshop trainings, but this kind of course would really make a things more standardized and easier to learn.

I looked at the ToC and in general it looks very good. I would change the order of topics a bit to reflect how they are first encountered while learning Vaadin:

  • Vaadin Architecture
  • Application
  • Events and Listeners
  • UI Components
  • Layouts
  • Windows
  • Resources

I’m not sure how much can be covered in a single course, but the “UI Components” might cover a bit about “Layout” and “Windows” they might be moved as separate advanced course (“Vaadin Core” course?) as well as the data binding features and Form.

Additionally one thing that might be good to have very early is to introduce the CustomComponent to organize the application code.

Maybe also add separate exam/course for themes ?

In fact this is exactly what we discussed with John. There were also couple of other extra courses, but we decided that it would be best to proceed step-by-step.

The outline looks good, it seems to cover all the essentials. I also noticed the same thing as Sami that some subjects, such as layouts and event handling, should be earlier, at least in brief. Now the structure is very categorical by the topic; perhaps the structure could be more cyclical (intro - basics more thoroughly - most common core features - less common core features - advanced stuff).

Definitely! the more resources out there the better.

Thank you for your remarks guys.

Marko has probably seen it right. When building a course, we face a dillema:

  • either be cyclical (a little bit of every subject in every cycle)
  • either be category structured (one chapter for one kind of thing).

The structure I propose has 2 cycles:

1st cycle

  • mini architecture intro
  • hello world program (first widget,…)

2nd cycle

  • Architecture
  • UI Components
  • Error Messages

The 2nd cycle is very classic/category. Probably too much.

The best way to define the ToC of a course is ask the question: "
If I had to make somebody write his first Vaadin program, which steps would I follow?

A possible answer would be:

  1. Setup until a Hello World program works.
  2. Display the details of a book
  3. Add an edit button to edit the book with a form
  4. Display a list (table) of books
  5. Make a master/detail view with the book list and book detail.

A little bit as in the tutorial, but more incremental: in the tutorial we directly start building the final solution without much thinking in terms of intermediary steps.

So I suggest to change the current ToC of the course and start with a tutorial to make the master/detail in 5 steps described above.

A. Intro with mini architecture
B. Setup and hello world
(note A & B have already be written in the google doc)

C. Mini master/detail tutorial

then the category-chapters in any order (as the one proposed by Sami):
D. Vaadin Architecture
E. Application
F. Events and Listeners
G. UI Components
H. Layouts
I. Windows
J. Error Messages
K. Resources

The course is being written there:

The access is completely free (no registration, no coach needed) while it is being written.

It would be great to be able to avoid re-writing too much of the book content. Book is Apache 2 licensed, so maybe the relevant parts could be just be cut-n-pasted? Or maybe it would be better to link to Book of Vaadin - 14 Edition… to avoid maintenance work?

Computer scientists don’t like to copy/paste code :wink:

I’m afraid it won’t be possible to just link the book, except for extra reference. We’ll have to live with the idea of two different things having the same purpose. Let’s see with time what will emerge from that.

And I encourage copy/pasting from the book to the course in the course skeleton already on-line. I point out which part should be taken where and how they probably should be adapted.

I just looked at the beginning of the course…Introduction overview…

now what was that about copy/paste :bashful: