Tuesday, 27 January 2015

Participation of the Xplorer team in the International "Student Technology Conference"

The Colégio Sagrado Coração de Maria - Lisboa 2014 and 2015 CanSat teams (TugaSat and Xplorer, respectively) were accepted to make a presentation in the upcoming International "Student Technology Conference".
The idea is to present the 2014 team, its achievements, and the technical challenges they had to face to achieve a 3rd place in the Portuguese 2014 CanSat competition, and then presenting the 2015 team, and how they will work the lessons learnt from the 2014 participation, to reach now the 1st position, which is the only that gives access to the 2015 European CanSat competition one month later. More details can be found here: http://studenttechnologyconference.com/forum/topics/participation-of-the-cscm-lx-in-the-2014-and-2015-portuguese.
Since this is a free online event we invite everybody to see our participation, that will be held next Saturday, 31st January 2015, at 23H00 (Lisbon time = GMT + 0). To do this you should firstly make sure that your computer is ready to the Blackboard Collaborate (formerly Elluminate), which is the online platform used by the conference, by following the steps referred in the link that follows: http://studenttechnologyconference.com/page/attending-schedule and then looking for our particular session that may be found here: http://studenttechnologyconference.com/page/gmt-0 in the Satuarday 11:00pm session titled "Participation of the CSCM-LX in the 2014 and 2015 Portuguese CanSat competition".

We hope to "see" (sense) you there!

Sunday, 4 January 2015

Adding syntax highlighting to this Blog

This Blog will in the future have to be able to show programming source code in Python, Arduino-C or any other programming language used in the CanSat project. This will allow the team to share some relevant source code.
We had several requirements for the integration in our Blog of source code:
  1. [Mandatory] The source code should be numbered to allow us to explain selected lines in the code
  2. [Mandatory] The syntax highlighting should work at least for Python and Arduino-C which are the main programming languages that we shall use in the project
  3. [Mandatory] It should allow an easy "copy-paste" so that our readers can easily test a use our code
  4. [Optional] Javascript should be avoided so that the Blog is not slow down
Well we have found an acceptable solution that respects the requirements above from 1 to 3, but unfortunately does not respect the requirement 4. For now we will use this solution but we will search for solutions for Blogger that avoid Javascript.

We will use the GitHub Gist which is like a repository for small code snippets.You can add any number of snippets and you can easily embed the code to your Blog post. It also have a support for highlighting many programming languages. To this we have followed the following steps:
  1. Create a GitHub account
  2. Head on to Github Gist
  3. Create a Gist
    1. Insert a text describing the source code you are adding, in the text field "Gist description..."
    2. Insert the name of the file containing the source code being added in the text field "Name this file..."
    3. Write the source code, or copy paste the source code, in the applicable text box
    4. Press the button "Create public Gist"
  4. After the Gist is correctly created, copy the URL in the "Embed URL" field on the right of the screen, using the provided button. The URL will look something like: <script src="https://gist.github.com/xplorer-cansat/0b6274cbcd5eeb649b81.js"></script>
  5. Paste the copied URL to the editor of the Blog by having it configured in HTML mode: in Blogger there are two buttons, one called 'Compose', and the other called 'HTML' - press the button 'HTML'
  6. And enjoy...

For this post we have created a Python test code snippet to show the final result. You can find it here:


You can see that:

  • All lines are numbered, allowing us to refer to a specific line in the source code - for instance:
    • Notice that in line 8 (and in lines 11 and 24) the print statement ends with a comma ','; this prevents that a newline is placed at the end of the text to be printed
    • The sys.stdout.write statement is used in lines 23 and 25, instead of print, so that at the end of the text is printed, a space character is not added
    • The import statement in line 2 is needed because of the usage of the function sys.stdout.write
  • The source code is highlighted, making the code more readable
  • It allows an easy copy-paste (try it)

To finalise we will show a test code snippet for the Arduino-C, which is in the public domain, and which can be regarded as the Arduino-C "Hello World" program:

Once more, the requirements 1, 2 and 3 are respected.

Saturday, 27 December 2014

Rob 9-16 IST - Campus do Taguspark 

Entre Janeiro e Junho de 2015, 2 vezes por mês aos Sábados, durante 3 horas, o clube de robótica do IST organiza sessões para aprender a fazer e programar robots. Estas sessões destinam-se a alunos entre os 9 e os 16 anos. Apesar de um robot não ser exactamente um CanSat, tem muitas semelhanças sobretudo nas tecnologias usadas e nos desafios que têm de ser resolvidos. Para mais informações sigam esta ligação.

Friday, 26 December 2014

Xplore Scratch

The Xplorer team is quite fan of Scratch. Citing what is said in the Scratch website here: 

  • "With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community.";
  • "Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century.";
  • "Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.".

For the CanSat competition it is essential to think creatively, reason systematically, and work collaboratively, and those abilities can be easily learnt with Scratch.

Scratch is a free fully visual programming environment where essential programming concepts can be learnt in a very easy way, like the concept of variables and cycles.

In the past 20th December 2014 part of the Xplorer team attended to a three-hour Scratch workshop which was quite enlightening and useful. It is now a goal of the Team that all its members (students and teachers) attend to this workshop. This was the game made by one of us in this three-hour workshop: http://scratch.mit.edu/projects/40786700/#player. OK it is a bit primitive, but on our behalf it must be noticed that this game was developed in a three-hour workshop, while leaning Scratch, and when previously our knowledge of Scratch was absolutely none.

Even though Scratch is a fully visual programming environment/language, which usually are seen like serving only for fun and for teaching kids, Scratch in fact has lots of potential, look for instance the following examples implemented exclusively through Scratch:
  • Complete game that we could see in any mobile platform, here;
  • Example of integration with the computer camera, here.

If you have interest in Scratch, understand that the programming environment is totally free (you just have to join Scratch by registering in their website) and that there is lots of free (and paid) documentation/tutorials. In February 2015 a free online course will start here.

Enjoy!

Kick-Off of the Xplorer project

In the past 20th December 2014 the Xplorer team met in the Colégio Sagrado Coração de Maria - Lisboa to kick-off the participation of the Xplorer team in the 2015 CanSat Portugal competition, aiming ultimately the 2015 European CanSat Competition. It was a very fruitful meeting where all the team participants (students and teachers) had the opportunity to get to know each other better, and where very important topics were discussed and agreed:
  • Each team member (teachers included) presented themselves, their professional/academic background, and their motivation; personal contacts were exchanged;
  • The teachers presented:
    • an overview of the CanSat competition in the world, in Europe and in Portugal;
    • the most important milestones of the Portuguese and European 2015 CanSat competition;
    • the organisation of the team;
    • the needed material;
    • an introduction to the selected programming language.
  • It was agreed:
    • the goal(s) of the team;
    • regular meetings with definition of dates and location;
    • the programming language to be used in the software part of the project;
    • which software/versions will be used, programming editors and installation tips;
    • the main training courses to attend to were discussed and agreed;
    • communication means were discussed and agreed: Dropbox (internal to the team), (this) blog, facebook, others. 
  • The next meetings were defined

The Xplorer team passed the first phase of the competition


In the past 16th December 2014 we have received an e-mail from ESERO Portugal informing us that the Xplorer team had passed to the second phase of the selection process towards the 2015 CanSat Portugal competition. The whole team was very happy with this e-mail, which was seen as a Christmas gift in advance.
Now the next steps are:
  • [2015/01/10-2015/01/11]: mandatory teacher's workshop; the team teacher's already attended this workshop in 2014 and so they are dispensed from attending it; anyway they are still evaluating if they will participate or not; the decision will depend more on the team needs; More information regarding this workshop can be found here;
  • [2015/01/16]: this is the deadline to fill-in a report that must be delivered to the competition organisation in the following of the teacher's workshop;
  • [2015/01/23]: it will be announced the teams that will be allowed to participate in the 2015 CanSat Portugal competition; each one of those teams will receive a free CanSat kit.
Our team, as well as all other team's, will have to obey to the  rules establish in the competition regulation.

Until the 23rd January 2015, much work is in front t of us: a more detailed definition of what our CanSat will be, and accompanied and on-the-job (self) training on relevant topics like Electronics/Arduino and programming.