Notice:

The course is currently not running. Thanks for everyone who took part in the beta-iteration of the course over New Year. We will be back soon, stay tuned! Naturally you can still go over the material, but it's in development, so it might change without notice.

What is Qt?

Programming should be fast, easy and fun. That’s why Qt has been focusing on improving software development for the last 25 years, and with the amount of applications and devices growing every day, efficiency has become more important than ever.

Qt has everything you need to quickly and cost-effectively design, develop, test, deploy and maintain your software for any project. Focus on creating the best user experiences instead of coding what’s already been coded for you.

Read more about Qt

Qt provides you with the libraries and tools you need to develop applications to almost any platform you can think of. As Qt is based on C++, you need to bring the compiler for your platform, but luckily every platform we know has a C++ compiler.

What is The Qt Company?

The Qt Company is the main responsible party for Qt development, productisation and licensing under commercial and open-source licenses. Qt is a C++ based framework of libraries and tools that enables the development of powerful, interactive and cross-platform applications and devices.

Read more about The Qt Company

This course

What is this course?

This course was dreamed up and implemented so that you can also learn the essentials of Qt and QML.

Is this a course for beginners?

You should have some experience in programming, and preferably C++ in specific, but you don't need to know Qt or QML beforehand.

What are the requirements for enrolling in this course?

Anyone can join in! To register for the course, you need to register an account to the TestMyCode system. You will also need to install the Qt framework with the Qt Creator IDE and our TMC plugin, instructions for which you'll find in User Guide.

What do I need to know before enrolling in this course?

A basic understanding of object oriented programming and some C++ are good to have. For the QML side you are good if you know a bit of JavaScript and understand what the word 'declarative' means in UI programming (take a look at Wikipedia.

What are the goals of this course?

The goals are that you will have an understanding of how to create an application with Qt and QML. And have an understanding of how the structures provided by Qt and QML are used in programming.

What is the schedule of this course?

The course consists of five parts:

  • Parts 1 and 2: Qt Essentials
  • Part 3: Qt Quick UI:s
  • Part 4: Data-centric apps
  • Part 5: C++ and QML

The course is currently not running, so there are no deadlines set.

Where can I find the course material?

On this site we have included the course material and relevant exercises. There are five main parts of the course in total and they include a number of subtopics and assignments attached to said subtopics.

We will include some relevant reference materials, this will mainly consist of links to Qt documentation and/or Wiki pages.

We recommend you to use the libre QMLBook by Jürgen Bocklage-Ryannel and Johan Thelin as your course reference book, should you wish to use one. It contains relevant topics to this course and will provide with a second perspective to learning about getting the most out of developing with Qt.

Where can I find the course exercises?

The course has two types of exercises, some that are fetched from the Test My Code system with the Qt Creator TMC plugin, and some that you'll do outside TMC and submit for peer-review. Specific instructions for exercises can be found in the study material.

What do I need to do to get credit for completing this course?

You need to get xx% of the exercise points in the course.

How do I get credit for this course after completing it?

The course is not currently running, so you can't get course credits for it. Stay tuned for the next iteration!

Will this course be available for students outside University of Helsinki?

Preliminary plan is to make this course available for all in the Open University during early 2019.

Course tools

What is Qt Creator?

Qt Creator is the main development environment for the Qt platform. It has features that help with managing projects, version control, designing user interfaces, building projects, testing, and actually writing code!

What is Test My Code?

Test My Code is the course exercise platform you will use to submit your exercises for grading. We have developed a Qt Creator plugin that integrates the TMC platform with Qt Creator.

Where can I find documentation?

How do I set up my working environment?

You will need to install Qt, the Qt Creator IDE and the TMC plugin for Qt Creator.

We have provided with instructions for you to set up your working environment in User Guide.

Course contact channels

Our main contact channel will be IRC. There is also a Telegram channel, and the messages between the two are bridged, so feel free to use either or both!

  • #qt-mooc @ freenode
  • Riot link for #qt-mooc @ freenode
  • Telegram: https://t.me | /joinchat/ | FdRoUFThGT8xz6AMaVJdbg (you need to bother to remove the whitespace and |'s because bots)

We encourage students to join in and stay around even if your particular question/issue may have been resolved!

As this is a beta course we encourage you to give us all kinds of feedback and be persistent with your questions, as some of the problems you will encounter may be entirely our fault, and we need to know what the problem is so we can fix it asap!

Credits

This course was made possible by these individuals:

  • Kimmo Linnavuo
  • Erika Järvinen
  • Jan Olsson
  • Tino Pyssysalo
  • Henrik Nygren

Table of Contents