Вы здесь
FRUCT Advanced Qt Summer School 2011 in India
FRUCT LETI Lab
Advanced Qt training with emphasis on Networking & Mobility
Target audience
Qt programmers who have the following skills:
- 
Understanding Qt meta object architecture;
 - 
Good C++ knowledge, including solid understanding of inheritance, polymorphism, virtual functions concepts;
 - 
Some practical experience of development in Linux environment;
 - Understanding gnu/make and .pro file formats
 
The main goals of training
- 
to improve solid understanding Qt architecture;
 - 
to acquire knowledge about Networking;
 - 
to acquire knowledge about Database programming;
 - 
to improve knowledge about Qt mobility;
 - to get practical experience for Qt development and publishing in OVI.
 
Program of the training
					#  | 
					Topic  | 
					Description  | 
					1st day. Overview and introduction  | 
||
					1  | 
					Qt SDK Overview. Components. Tools. Capabilities.  | 
					Introduction and short technology overview.  | 
					2  | 
					Memory management. Meta Object system. Signals and slots.   | 
					Meta-object system overview. Memory management. Parent-child relations. Dynamic properties. Qt containers and type conversion. Signal / slots discussion.  | 
					3  | 
					Application types: console, dialog-based, with main window. Layouts.  | 
					Overview different application types. Common classes for UI development. Standard dialogs.  | 
					4  | 
					Event handling. Timers. Event loops.   | 
					Introduction to event handling. Nested Event loops. Custom dispatchers and handlers.  Trivial paintings.  | 
					2nd day. Models, resources and graphics  | 
||
					5  | 
					Widgets with models: lists, tables, trees  | 
					Model-view controller (MVC) architecture review. MVC in Qt. Models, indexes, data structures. Selection models. Custom filters.   | 
					6  | 
					Resources. Multi – language support  | 
					Linguist tool. Translations. How to create multi-language applications. Resource management.  | 
					7  | 
					2D Graphics  | 
					Graphic primitives in Qt. Pens, brushes, patterns. Animations. Conform transformations. QGraphicsView and QGraphicsScene mastering.   | 
					3rd day. Advanced architecture and performance  | 
||
					8  | 
					Qt Containers and performance  | 
					QtCore discovering. Memory and performance. Tuning approaches.  | 
					9  | 
					Pimpl Paradigm and d-pointers  | 
					Qt architecture discussion. Implementation details. Private types. Implementation pointers.  | 
					10  | 
					Multithreading and synchronization  | 
					QThread, Synchronization. Thread-safe development with Qt.  | 
					4th day Networking and databases  | 
||
					11  | 
					Networking in Qt  | 
					IP network fundamentals. TCP/UDP communication details. Qt network classes overview. Simple network apps development.  | 
					12  | 
					Databases in Qt  | 
					Introduction into databases. Drivers, SQL Queries, Table Specific data models.  | 
					5th day. Mobility and OVI publishing  | 
||
					13  | 
					Qt mobility  | 
					Mobility project overview. Classes for mobile phones development. Access to contacts and calendar data. Sensors.  Location API.  | 
					15  | 
					OVI publishing  | 
					Introduction into OVI  publishing. Remote compiler. Qt Simulator. RDA. Requirements to application. Testing, signing, publishing algorithm. Common publishing issues discussion.  | 
Success criteria
- how to create and manage Qt application project with qmake;
 - define high level Qt application architecture;
 - implement and test application logic;
 - design application with mobility and networking features;
 - 
		publishing in OVI.
 
Way of work
- Lectures with fundamentals overview;
 - Instructor-led trainings for getting practical experience;
 - Individual (or in pair) work on course project.
 

                            
                                        
                                                    
                                                    
													
                                                    
													
                                                
                    








