Mobile Linux Development with QT
2011-01-14: Thanks for the course! Student projects published.
2010-12-17: Course is already an audience success! Amazing 41 students have enrolled this far. We’ll have a pre-exam (Linux and programming) on the beginning of the course, so the best ones will get a place. Welcome!
QT is a multiplatform toolkit for C++ programming on Mac OSX, Linux, Windows, Symbian and Maemo. It’s being used in Google Earth, Opera and KDE desktop.
Course description: http://www.haaga-helia.fi/fi/courses/tf/itp8tf500.html
Course was an audience success in 2010. Over fourty students enrolled the course, but we could only fit half of them in the course. 19 students returned a project and passed the course. Feedback was positive.
Thanks to Symbio, Timo, Juha-Matti, HH Linux Club and Nur for making this course possible.
Timetable
2011 w1 and w2 Enroll in Winha when it opens, course code itp8tf500-2.
Class h5013. New 2011 QT slides (All QT slides and examples)
2011w1 2011-01-03 Mon Pre-exam. QT overview. Development environment, Hello World 2011-01-04 Tue GUI programming with Qt Quick / QML 2011-01-05 Wed State of Mobile Linux 2011-01-06 Thu (loppiainen, Epiphany, no teaching) 2011-01-07 Fri Basics of Qt C++, integration with QML w2 2011-01-10 Mon Localization and unit testing 2011-01-11 Tue (Individual work on project) 2011-01-12 Wed (Individual work on project) 2011-01-13 Thu (Individual work on project) 2011-01-14 Fri Project presentations
Lab h5013 is available for project work for the whole work week Monday to Friday.
Mini programs
Project
Individual project on QT. Project goal is to show that you can use the skills and techniques learned in the course. Deliver one web page with link to source tarball and a 5 minute presentation.
Link to ready project homepage should be in Moodle. Project presentations on w2 Fri 08:15.
Symbio will be present on Friday to view the project presentations.
Project Deliverables
- Project homepage
- Single page, html
- Download link to source code (tar.gz or zip)
- Source code tarball should contain all documentation
- Basic info: Name, short description, long description, status (alpha, beta, production)
- Screenshots
- Hacking: how the program works
- Link to course homepage http://terokarvinen.com/qt
- Return a link to your project homepage to Moodle
- License: if you want, use a Free license, such as “GNU General Public License, version 2 or later”
- Source code
- Must compile on Ubuntu 10.04 + qtcreator from repositories (extra packages can be considered)
- make clean
- English: variable names, comments...
- Presentation
- 5 minutes
- Program name and your name
- Show program screenshots, overview
- How it works
- What did you learn from it
- If you demonstrate the actual program, you must have a compiled binary that works on Ubuntu 10.04 amd64 - or have it compiled and ready on your laptop, that you have tested to work with this labs projector.
- Have the program running on your own computer to show it outside the presentation too
- Prepare while the previous presenter is speaking
Tips for Project
Success in small steps: create a simple program first. Once it’s good, create another if you still have time. A simple program will help you pass the course, a great one will get you a great grade.
You can publish where you want, like your own homepage. Free web space for this project in http://sulautetut.fi.
Start early - maybe today.
Good luck!
Published Student Projects
Learn words. Oppia Sanoja. n900 deb. Appears useful. QML+C++. Audience Vote Winner http://rybakoff.name/prog/learn_words.html
Driving diary. qml. Views. Database. ListView. Complete program. Pick http://myy.haaga-helia.fi/~a1003597/qt/
Memory game. QML. Flickr integration. Pick http://myy.haaga-helia.fi/~a0903049/QTproject/
2go.fi. C++. n900 deb. Has logo on n900. Web+database+c++ integration. Pick http://www.2go.fi/about/
LogicPorts. Innovative game. QML+js Pick http://myy.haaga-helia.fi/~a0803128/qt/
NavSlight. GPS integration, Google Maps. QML+C++ http://myy.haaga-helia.fi/~a0900378/NavSlight.html
Graffiti. Drawing program. QML. http://myy.haaga-helia.fi/~a0903093/graffiti
QBreakwall. C++. Animation. Playable. http://koti.mbnet.fi/valta/qt/
Adventure game, qml. States etc. http://myy.haaga-helia.fi/~a0802252/qt/
RSS reader. QML. http://myy.haaga-helia.fi/~a0800142/qt/
Calculator. QML+js eval(). http://myy.haaga-helia.fi/~a0903044/qt-project/calculator.htm
Timer, js+qml http://www.tornqvist.fi/itp8tf500/
Play shoutcast URL. http://myy.haaga-helia.fi/~a0703001/qt/
Puzzle. QML+JS. Not yet playable. Pieces movable. http://myy.haaga-helia.fi/~a1002203/game_page.htm
Qspace Invaders. Not yet playable. Collision, particle effect. http://myy.haaga-helia.fi/~a0804977/qt/
Feedback
Feedback Summary on Mobile Linux Development with QT itp8tf500-1
Feedback Summary on Mobile Linux Development with QT 2011 itp8tf500-2
Old course pages
First instance of the course: Mobile Linux Development with QT 1 on Spring 2010
Finnish Summary - Lyhyesti Suomeksi
Tämä QT-kurssi on Haaga-Helian ja Symbion yhteinen projekti. QT on monialustainen kirjasto C++-ohjelmointiin. QT-ohjelmille sopivia alustoja ovat Linux, Windows, Macintosh OSX, Symbian (esim Nokia S60), Maemo (esim. n900) ja Meego (esim Aava). Muutama muukin kännykkä tukee osittain QT:ta. QT:ta käytetään esimerkiksi Google Earthissa, Opera-weppiselaimessa ja KDE-työpöydällä.
Käyttöliittymä syntyy onnistuu helpoimmin QML-kielellä. Näin vain haastavammat osat tarvitsee ohjelmoida C++ -kielellä.
Kurssi järjestetään jo toisen kerran.