Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Learning
  3. Qt Certification
  4. Core C++ and widget UI exam curriculum for those who want it.
QtWS25 Last Chance

Core C++ and widget UI exam curriculum for those who want it.

Scheduled Pinned Locked Moved Qt Certification
11 Posts 5 Posters 7.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pkj__
    wrote on 22 Aug 2013, 08:49 last edited by
    #1

    At the digia site only Essentials curriculum is given. For those interested in advanced exams here is the curriculum. I contacted digia and they kindly provided me this curriculum via e-mail.

    1 Reply Last reply
    0
    • P Offline
      P Offline
      pkj__
      wrote on 22 Aug 2013, 08:50 last edited by
      #2

      Core C++ for Qt Developers Exam Curriculum 022-001
      This document defines the curriculum for Core C++ for Qt Developers exam. Digia
      provides three kinds of Qt certification exams:

      • Qt Essentials
      • Widget UI with Qt
      • Core C++ for Qt Developers
        If a candidate passes Qt Essentials exam, he or she will receive Digia Certified Qt
        Developer status and the corresponding certificate. If he or she additionally passes either
        or both of advanced exams (Widget UI with Qt or Core C++ for Qt Developers), the
        candidate will receive Digia Certified Qt Specialist status and the corresponding certificate.
        If a candidate has already taken two exams and passes the third one, he or she will
        receive another specialist certificate, where all three passed exams are listed. It is also
        possible to take an advanced exam before the essentials one, but the candidate does not
        receive any certificate in this case, until the essentials exam has been passed.
        The exams are organized by authorized PearsonVUE test centers. Look at the details of
        test center locations in http://www.pearsonvue.com/digiaqt/. To see the nearest test
        center of your location, use Exam Scheduling links at the bottom of the page.
        Digia prints the certificates bi-weekly using a print house in Germany. After printing, the
        certificates are sent by mail to the exam candidates.
        Core C++ for Qt Developers exam will test your C++ knowledge, required to write highquality
        Qt programs. The exam includes a set of multi-choice questions and the candidate
        must select the correct statement(s).
        Types, Declarations and Definitions
      • Know how to use three storage classes: static, stack, and heap
        Know how to use basic types and cast between them
      • Know which of the ansi typecasts is appropriate’
        Understand how to use const and mutable
      • const_cast, const pointers also volatile
        Understand the different scopes that identifiers have
      • There are 5 scopes: global, file, function, block, and class
        Understand how to define functions and use argument
        lists
      • Default arguments overloading
      • Understand that overloading is not permitted on return type alone
        Understand how to define and use references
      • Defining and initializing references
      • Passing and returning references
        Understand how to manage object creation and
        destruction
      • There are 3 memory storage classes: static, stack, and heap
      • Understand what storage class an object is in, when it is created and destroyed
      1 Reply Last reply
      0
      • P Offline
        P Offline
        pkj__
        wrote on 22 Aug 2013, 08:51 last edited by
        #3

        Know how to define and use namespaces
        Understand how to separate code into header files and
        source files

        • Understand what goes in a header file vs. a source file
        • Understand how to break up programs into smaller modules
          Classes
        • Working with Qt requires a certain level of C++ knowledge
        • This module covers minimal scope of C++ knowledge, required to start with Qt
          Understand member accessibility
        • The concept of access control
        • Splitting declaration and implementation
          Know constructors, how they are used and member
          initialization
          Know how to write const methods const-correct classes
        • Understand how const modifies what a method can do
          Understand static methods and static member
          initialization
        • Understand how to initialize static members
        • Understand that static methods cannot access non-static members
        • Understand why static is only placed in the declaration or the definition, but never both
          Understand how objects are copied and assigned
        • Understand that copy and assignment methods are generated automatically for each
          class when they are not provided
        • Understand how the auto-generated methods work
        • Understand when it is appropriate to define your own
        • Understand how to prevent copies being made of certain classes
          Inheritance and Polymorphism
          Know how constructors and destructors are used in
          derived classes
        • Understand how base classes are initialized
        • Understand that constructors and destructors are not "inherited" per se, but
          some are generated for you, and the base class versions are called
          automatically from the generated ones
        • Understand how copying and assignment works with inheritance also
          Understand how to use base class pointers
        • How base and derived pointers/references can be converted
        • Understand how base objects can be created implicity when objects are passed by
          value
        1 Reply Last reply
        0
        • P Offline
          P Offline
          pkj__
          wrote on 22 Aug 2013, 08:52 last edited by
          #4

          Non-public derivation of classes
          Know virtual functions, how to define and use them

          • Understand how virtual changes the behavior of a function call to perform dynamic
            binding at runtime
          • Understand that virtual functions cannot be called from the constructor or destructor
            Understand why virtual destructors are needed
            Know how to use abstract classes and implement pure
            virtual functions
            Understand how functions and operators can be
            overloaded, overridden and hidden in derived classes
          • Understand the difference between overloaded, overridden, and hidden methods
          • Understand how derived class functions can hide all overloads in the base
          • Understand how operators can be overridden in the class or as a global function
            Understand issues that come up from multiple
            inheritance
          • Scope resolution and conflicts
          • Understand where to use virtual base classes Base Class(es) Initialization
            Miscellaneous Topics
          • Includes more recently added features to the C++ language, such as templates,
            exceptions, tr1, etc.
            Understand how to use templates and Qt containers
          • Understand how to define a template function, and a template class
          • Understand how to specialize a template definition
          • Understand how templates generate code
          • Understand how to use Qt containers and algorithms (don't worry about STL)
            Understand operator overloading
          • Understand how to define operators for your types (member function, as well
            as global operator functions)
          • Understand conversion operators, and why they should normally not be used
            in favor of supporting toXXX() functions
          • Should it be a member or global function?
          • Understand why some methods need to overload on const-ness
          • Know which operators cannot be overloaded
            Know the explicit keyword and how conversion
            constructors are used
          • Understand that a single-argument constructor is a conversion constructor
          • Understand that explicit disables the automatic conversion using this constructor
          1 Reply Last reply
          0
          • P Offline
            P Offline
            pkj__
            wrote on 22 Aug 2013, 08:54 last edited by
            #5

            WIDGET UI

            Model/View

            • Know what the purpose of model/view programming is
            • Know how a view communicates with the model
            • Know what widgets Qt provides to display model data
            • Be able to use Qt's predefined models
            • Know how to switch a view's cell from read only to read/write
            • Know why a view calls a model several times to render one single cell
            • Know how to locate a specific item in a model
            • Know how to add a row to a table
            • Know how to work with a selection
            • Know how the view recognizes the changes that have been made to the model's data
            • Know what the purpose of a delegate is and how it can be used
            • Be able to sort and filter table data
              Multithreaded programming in Qt
            • Be able to start a new thread with QThread
            • Know how to send messages to another thread
            • Know what it means for a method or a class to be threadsafe or reentrant
            • Know how to use a mutex
            • Know how to use a semaphore
            • Know what thread affinity of QObject means
            • Know when a thread needs an event loop
            • Know that you can use the native thread API and QThread in parallel
            • Know why queued connections are useful when working with threads
            • Know what the purpose of QtConcurrent functions are and how they can be used
              Rich text processing
            • Familiarize yourself with QTextDocument, Qt's class for representing formatted text
            • Be able to show formatted text using QTextEdit
            • Know how QTextFrame, QTextBlock and QTextFragment can be used to build up the
              hierarchy of formatted text
            • Be able to build, modify and export formatted text (There is a hierarchical read only
              interface and a linear cursor interface for writing.)
            1 Reply Last reply
            0
            • P Offline
              P Offline
              pkj__
              wrote on 22 Aug 2013, 08:57 last edited by
              #6

              Manage Qt Projects (Develop / Unit Test / Port /
              License)

              • GPL, LGPL or Commercial: which license should you choose?
              • Know how to write and compile a basic unit test
              • Know that Qt can be used with other libraries like STL, boost, ACE
              • Know how to organize the source tree of a large project
                Creating plugins
              • Know that Qt's functionality can be extended by adding extensions
              • Be able to load a dynamic library with QLibrary
              • Know how to load an existing plugin
              • Know how to write a plugin
                Drag/Drop and Clipboard access
              • Know the relevant event handlers for a drag and drop operation
              • Be able to accept data dropped from an external application
              • Be able to drag and drop data between two widgets in the same form
              • Know how to find out from which widget the dropped data comes
              • Be able to drag and drop custom data types
              • Know how to enable drag and drop for item views
              • Be able to access data stored in the clipboard
              • Be able to put data into the clipboard
                Custom Widgets
              • Be able to develop a custom painted widget
              • Know how custom painted widgets can be made style aware
              • Be able to design custom widgets in different ways: aggregation, subclassing, custom
                painting
              • Subclass QWidget, Subclass QxxxWidget?, Aggregate widgets
                Styling widgets
              • Know how to set a stylesheet
              • Be able to specify a selector for a specific widget
              • Be able to set different style attributes like text background, padding and border
              • Be able to use Qt Designer for stylesheet development
              • Be able to set a style with a command line argument
              • Know how QStyle must be used in the body of paintEvent() to receive style compliant
                widgets
              • Know what the purpose of QStyleOption is
              • Know what the purpose of QPalette is
                Making Applications Scriptable
              • Know that Qt Script is based on ECMA script, a standardized version of JavaScript
              • Know that QScriptEngine is the class which is able to load and run Qt Script
              • Know that QScriptValue is a variant type accessible from C++ and Qt Script
              • Be able to make a value of a custom C++ program accessible to Qt Script
              • Know how to call Qt Script functions from C++ and how to pass parameters
              • Know how to expose a QObject or a derivative to Qt Script
              • Know how to connect a signal to a Qt Script function
              • Know how to detect and handle Qt Script errors
              • Know how to check for script errors
                Writing code for efficient Internationalization
              • Know how a text constant containing non-Latin characters can be read into a QString
              • Know how to wrap strings which need to be translated
              • Be able to extract strings to be translated from a Qt project
              • Know how to take the encoding of the source file into account
              • Know how to use Qt Linguist to translate extracted strings
              • Be able to save the translated strings in a qm file
              • Know how to find all string constants which are not marked for translation
              • Know how to use locale specific icons
                Using the Undo Framework
              • Know the architecture of the Qt undo framework
              • Know how to combine commands with compression and macros
                Desktop integration
              • Be able to use the QDesktopWidget
              • Know how to put an icon into the system tray
              • Know how to open an URL using the default browser
              1 Reply Last reply
              0
              • A Offline
                A Offline
                Akorstayblessed
                wrote on 25 Aug 2013, 21:08 last edited by
                #7

                wao more to learn

                MOBILE APP. CREATION LEARNING I MUST....IF YOU GO clue to learn it FAst pass it To me. THank >3

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  kurt.pattyn
                  wrote on 29 Aug 2013, 10:28 last edited by
                  #8

                  Thanks for the useful information. Wouldn't it be a good idea to create a wiki page of this?

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    pkj__
                    wrote on 29 Aug 2013, 13:09 last edited by
                    #9

                    I have created two wiki pages for the two exams.
                    "Widgets UI":http://qt-project.org/wiki/Curriculum-block-for-Qt-Widgets-UI-advanced-certification
                    "CoreC++":http://qt-project.org/wiki/Curriculum-of-Qt-advanced-certification
                    Hope the indentation helps.

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      anbu01
                      wrote on 24 Sept 2013, 11:35 last edited by
                      #10

                      tanks it was useful

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        Suraj Golliwar
                        wrote on 16 Jun 2014, 04:22 last edited by
                        #11

                        Great job for wiki pages ....... was really helpful...!

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved