Jolla Code Camp - Winter 2014

Code Camp Week: Monday 24.2. - Friday 28.2.2013 Room no: 6218

CT30A9301 Code Camp on Platform Based Application Development (4 cr)

Learn to develop on the new Sailfish operating system and use your development skills to harness open web data from around the world! Challenge yourself and provide useful services to the users: Bus schedules, traffic information, weather.. Can you figure out new, innovative ways to combine the freely accessible data to make new services?
Get more information and get started with developing by downloading the Sailfish OS development tools at https://sailfishos.org/develop.html and read the tutorial at https://sailfishos.org/develop-overview-article.html . You can use JavaScript, QT or Android Java to develop for the platform. We have Jolla personnel arriving to the event, with phones, lectures and tutorials!

News & Notes

  • Consider bringing in your own laptop.
  • PERCOM program students - Please also register at the link above! We need student details in order to give ECTS credits at the end of the course.
  • Course is finished! Thanks to all participants. Check out our Facebook community at https://www.facebook.com/groups/lut.tech/ with further news about Code Camps and published team apps! Feel free to put up your own app publication announcements, cool photos and other stuff in there as well.
  • NEW Please give feedback about your developer experience! Click HERE to access the Jolla developer feedback survey.
  • NEW Get extra points for the course by publishing your application at https://openrepos.net/ .

Code Camp Week

Location 6218 basement computer lab

  • Course starts on Monday 24th of February at 10:00AM.
  • First idea presentations are at 5PM on Monday at the LUT beach sauna
  • There will be a sauna and social event on Monday at the LUT beach sauna, after the project presentations
  • Project returns at 9AM on Friday (in the Code Camp week)
  • Group project final returns on the following week (end of week 10)


Monday Tuesday Wednesday Thursday Friday
08:15 - Finishing presentations / testing demos
09:15 - Coding Coding Coding Presentations
10:15 Welcoming presentation: What are Code Camps?
Theme Lecture: Open Data
Jolla Public Presentations Phone Device Deployment Tutorials Coding Presentations complete: Winner announced
12:00 Lunch Lunch Lunch Lunch Closing
13:00 Tech briefing: Sailfish OS
( Slides + Code Example )
Jolla Public Presentations ( 10:00 - 11:00 @ 6218 ) Coding Coding
14:15 Idea brainstorming and group formation / Coding Coding Coding Coding
17:00 Progress reports at the LUT beach sauna and then sauna! Coding Coding Coding
02:00 Coding Coding Deadline style Coding and Code complete

Groups

Group Application Name 1 Name 2 Name 3 Name 4
Group 1 Kinnostive Otto Laitinen Tatu Virta Teemu Huovinen Tatu Huttunen
Group 2 Nottingham Traffic & Parking Ramya Narayanan Zainab Ifeoluwa Matemilola Vitalii Poliakov
Group 3 SunPower Baptiste LOUIS Stefanos GEORGIOU Alexandre DE MASI
Group 5 Automated Tutor Sangoboye Fisayo Caleb Ahmed Iqbal Rohan Nanda NGO Manh Khoi
Group 6 Easy Tourist Victoria Palacin Maike Schmidt Vlad Cristea
Group 7 Rate My Place Chandra Satriana Md. Mohaimenul Hossain Alifia Fithritama
Group 8 Glow Weather Kalle Kareinen Rasmus Halsas Lassi Riihelä
Group 9 StarEvents Caterine Ocampo Dorine Petit Petro Vizhevskyi
Group 10 BusRoute Behdad Soleimani Fitsum Kiros Tsegay Alireza Adli
Group 11 Fütböll Gibestive Esko Naski Lassi Lääti Valtteri Mehtonen
Group 12 Coastaldefence Jussi Laakkonen


Return requirements for groups and the return schedule

  • On Friday, at the end of the course, you need to have
    • Five minute presentation about your program (idea, motivation, goals, technology used, what was actually implemented etc.)
      • Proposed talk topics
      • Design plan
      • How you used open data, and which sources
      • Experiences about the platform
      • One or two things in the source code that you are most proud of and think that might be useful to others
    • Five minute demonstration of your working program
      • Proposed talk topics
      • The application flow and features
      • The user experience with the application
      • Showcase your best features and explain how they are cool or useful
    • = Total presentation time of 10 minutes
    • Finished your wiki page and linked it to this one. Use this or this as an example
      • Group members
      • Idea
      • Motivation
      • Features (with screen captures!)
      • Which kind of technology, platforms, access methods you have used
      • Some explanatory charts (optionally)
      • Your project folder compressed and uploaded to the wiki OR a public link to your Git or Mercurial repository
  • In a week (before 23:59 7.3.2014) send an email to Antti Knutas ( firstname.lastname@lut.fi ), with:
    • Five page project report on the same themes as your wiki pages. Write more on these themes and also put the content back on your wiki page.
    • One page poster about your project (see examples from previous years, also upload this poster to the wiki)
    • Email has to have topic [JCC2014] Group X (for example: [JCC2014] Group 2)
      • Include just links to the files in the email. Upload the actual files to your wiki page.
    • Each member in your group IS REQUIRED to give feedback about the course as part of the course requirements. Click HERE to access the developer feedback survey form.
    • Get extra points for grading by publishing your application at https://openrepos.net/ .

Discussion and the Q&A

Q&A

Q: How to pass parameters to new pages in the stack?
A: http://qt-project.org/forums/viewthread/8769

Q: How to call JavaScript from QML files?
A: http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-expressions.html

Q: How to call C++ code from QML?
A: http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html

Q: How can I access WebViews from QML and how can I send data back from WebViews? A: Check out these links:

Q: How can we manage the alignements?
A: Start from these links:

Q: How we can access map view?
A: Check out the webview documentation here: http://qt-project.org/doc/qt-4.8/qml-webview.html . With that you can embed online maps.

Q: How to deploy on a Windows machine?
A: First follow the instructions at http://youtu.be/fH9aAn5rGA8 If you are using your own laptop, or a Windows machine, you need to manually configure your USB ethernet adapter IP to 192.168.2.15 and subnet mask to 255.255.255.0 before you can connect successfully.

Q: Google maps on Qt platform?
A: http://code.google.com/p/qml-google-maps/
After logging in with your Google account, click “Source” and then click “Browse” to get the source code

Q: How can I access WebView content in the QT 5.1 platform?
A: Check out these links:

FAQ

Programming experience(I hope you all have some…if not..then you'll have one during this code camp) and of course learning INTEREST is the most.

Can I prepare to Code Camp ?

Yes. During code camp week we will brainstorm a software idea, design it and code it. Getting good ideas might sometimes be hard and thinking about different ideas before code camp makes it faster to get into coding part.

I have an exam in Code Camp week ?

You are free to go exam, but code camp in intensive course and idea is to focus coding during the well, so it is recommended you prepare to exam before the code camp week.

Grading ?

Grading 1-5 from

  • Idea and presentation of the Idea in wiki: 25%
  • Coding of the implementation: 25%
  • Presentation: 10%
  • Code Camp Spirit: 20%
  • Code camp report 20%

More ?

If you have questions about code camp send email to Antti Knutas (firstname.lastname@lut.fi).

Helpful Links

Open Data Sources

What is Code Camp ?

Code Camp is a learning and hacking experience. The code camp approach can be defined as a collaborative learning setting that aims to promote profession-oriented skills. In code camp, the term camp refers to a situation where students assemble and stay a while together. The term code refers to coding, i.e. writing computer programs.

Registration

Registration link is on the front page.