Posted on May 11, 2013 by orbital

Impromptu installation video for the prerequisites needed for Orbital.

This first one is for Mac users.

The below second one is for Windows users (note the long skippable lull between ~14:00 38:00).

See you soon on Monday at Liftoff!

Posted on May 10, 2013 by orbital

Hope you did well on your final exams and are ready to begin Orbital with our Liftoff workshop on Monday and Tuesday next week.
As preparation we need to you do the following few things (may take 1 or 2 hours to do):

  1. [10 minutes] You should plan on fully attending both days of Orbital’s Liftoff workshop.  If you cannot attend, please let A/P Lee Wee Sun <leews@comp.nus.edu.sg> so that we can approve your request for leave from this mandatory event.
  2. [10 minutes] As part of Liftoff (and Orbital in general), we will be using third-party websites and links to give you pointers to resources where you can learn and practice hacking skills yourself. SoC and NUS does not explicitly endorse these websites but we think the global community has developed very useful resources for one to learn many hacking skills on your own.For starters, we would ask that you register yourselves on Codecademy.com.  We’ll be using this online resource to teach Python, HTML/CSS and Javascript.  Go to http://www.codecademy.com/ and create an account for yourself, and poke around if you have time.
  3. Installation and testing of software is one of the potentially difficult things that you will have to do in Orbital.  Sometimes installation can be straightforward, but occasionally instructions for certain platforms (Linux in particular) can be fraught with difficulties. Please attempt to install the following on your laptop computer to enable us to conduct the workshop more efficiently:
  • [30 minutes] Python 2.7: You can find it at http://www.python.org/download/releases/2.7.2/
  • [30 minutes] Google App Engine SDK for Python: You can find it at https://developers.google.com/appengine/downloads. It is likely to be better to install python 2.7 before installing Google App Engine to allow the install script to detect python 2.7 for you.
  • [15 minutes] A good text editor.  You may have and/or used “vim” before.  That would be fine.  If you haven’t used a text editor much, it’s a good idea to pick one that you will become an expert in.  NUS Hackers has recommended Sublime Text:http://www.sublimetext.com/
  • [30 minutes] Git: Sign up for Github.com if you don’t already have an account.
    Linux users, install git the way you normally install stuff (yum, apt-get)
    Mac users, install XCode, under preferences, downloads, install command line tools as well
    Windows users, install the latest version of git from here (http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git)After that generate the SSH Keys and link it to your Github accounts by following the guide over at https://help.github.com/articles/generating-ssh-keys#platform-windows

    You may also find it useful to install a git client for your particular operating system/platform.  Some choices are available here: http://git-scm.com/downloads/guis . You may want to check reviews on the web to see which (free) client is best for you.  Some default choices are SourceTree and the GitHub client (just for your information: GitHub and Git are not the same).

Posted on May 2, 2013 by orbital

Students should maintain

  • A project journal where you record the work periods and work done weekly. It is okay to do more on some weeks and less on others, but to get course credit for CS3108B, the total number of work hours must be at least 130.
  • A project wiki where the project documentation is kept.
  • Both of these are available on IVLE project.

We will follow a simplified agile methodology (http://en.wikipedia.org/wiki/Agile_software_development) for Orbital. The main part of the methodology we will use is as follows:

  • We use iterative development where each iteration (sprint) is done over around 4 weeks (2 iterations over the entire Orbital project).
  • For each sprint, a small subset of features is specified using user stories (http://en.wikipedia.org/wiki/User_story) and accepted (http://www.extremeprogramming.org/rules/functionaltests.html) by the peer evaluator at the end of the iteration.
    • For Orbital, we will not use any formal specification method. User stories should be done in natural language, but your peer evaluators must be able to understand the stories clearly. We will also not use any automated testing. The peer evaluators do acceptance testing manually until they are satisfied that it meets the requirements based on their understanding of the user stories. You will learn more about specifying requirements and testing (including unit and regression tests) in your software engineering courses.

Each group will act as peer evaluators for three other groups. If you are traveling or have other activities that do not allow you to meet the peer evaluation schedule, you need to discuss alternative dates with your peer evaluation groups. If your evaluation dates are after the scheduled dates, you need to get permission of the instructors for the alternative dates.
Passing requirements are described at https://orbital.comp.nus.edu.sg/?p=45, but will be moderated by the instructors.


Week 1 (13 – 19 May): 

Monday & Tuesday: Liftoff Workshop

  • Work on mockup and requirements.
  • Update journal.

Week 2 (20 May – 26 May):

  • Mission control (optional).
  • Work on mockup and requirements.
  • Update journal.

Week 3 (27 May – 02 Jun):

Submission Week

  • Mission control (optional).
  • Update journal.

Monday: Submit

  • Mockup. This can be a powerpoint mockup with simple interaction, or more sophisticated mockup on other platforms if you wish.
  • A 3 minute video describing the aims of the project with the help of the mockup.
  • At least 3 user stories describing at least 3 features to be implemented in the sprint over the next 4 weeks.

Tuesday to Friday:

  • If necessary, clarify the aim of your project and the features to be implemented with your peer evaluators.
  • Act as a peer evaluator. If necessary, clarify the projects you are evaluating with the groups you are evaluating.

Week 4 (03 Jun – 09 Jun):

Monday: Submit the updated version of the user stories after feedback from the peer evaluators. This forms the requirements that you are implementing in the sprint over the next 4 weeks.

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 5 (10 Jun – 16 Jun):

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 6 (17 Jun – 23 Jun):

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 7 (24 Jun – 30 Jun):

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 8 (01 Jul – 07 Jul):

Submission Week

  • Mission control (optional).
  • Update journal.

Monday: Submit

  • Prototype (url) with the features specified in Week 4 completed.
  • A 3 minute video describing the work done with the help of the prototype.
  • User stories for the remaining features that you wish to implement.

Tuesday to Friday:

  • Act as beta tester to see if the features of the projects you are evaluating can be accepted. Give feedback on any bugs found, or if the requirement is not met. This can be done through the evaluation form, or if necessary through face-to-face meeting or through videoconferencing.
  • If necessary, clarify the features to be implemented in the next sprint with your peer evaluators.
  • Act as a peer evaluator and give feedback on the features that are implementing in the next sprint by the groups you are evaluating.

Week 9 (08 Jul – 14 Jul):

Monday: Submit the updated version of the user stories after feedback from the peer evaluators. This forms the requirements that you are implementing in the sprint over the next weeks.

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 10 (15 Jul – 21 Jul):

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 11 (22 Jul – 28 Jul):

  • Mission control (optional).
  • Implement features.
  • Update journal.

Week 12 (29 Jul – 04 Aug):

Submission Week

  • Mission control (optional).
  • Update journal.

Monday: Submit

  • Prototype (url) with all features specified completed.
  • A 5 minute video describing the entire project with the help of the prototype.

Tuesday to Friday:

  • Act as beta tester to see if the feature of the projects you are evaluating can be accepted. Give feedback on any bugs found, or if the requirement is not met.
  • If necessary, discuss your project with your peer evaluators.

Friday:

  • Submit final feedback on the project you are evaluating.
  • Submit your reflection on your project after receiving the final feedback from your peer evaluators.

Week 13 (Sem I Week 0: 05 Aug – 11 Aug):

<No activities; Work for Orbital should be complete>

Week 14 (Sem I Week 1: 12 Aug – 18 Aug):

<No activities; Work for Orbital should be complete>

Week 15 (Sem I Week 2: 19 Aug – 25 Aug):

Splashdown (tentatively Wed 21 August, evening)

Posted on May 2, 2013 by orbital

The schedule for the two-day Liftoff workshop is given below. This schedule is still tentative and subject to change. The workshop is compulsory for those doing the program unless you have prior permission to be excused. We will try to put as much of the material online as possible for your reference.

The aims of the workshop are
– To introduce you to the platform, tools and methods that you can use for the program. This is mostly familiarization and is enough only to get you started. You should expect to self-learn more as you do your project.
– To allow you to find a partner if you have not already done so. You may use http://orbitalpartner.appspot.com/ to help you find a partner.
– To allow you to find a mentor if you wish to be mentored.

Please bring your own laptop (or at least have a shared laptop with your partner). Let us know if you are unable to do that.

Location: SR1

Day 1 (13 May)

  • 9:00-9:15 Opening
  • 9:15-10:45 Design Thinking (LeeWS)
  • 10:45-12:30 Python (Google)
  • 12:30-13:00 Lunch / Partner finding (on your own)
  • 13:00-15:00 CSS/HTML/Javascript (Google)
  • 15:00-16:30 Google App Engine (LeeWS)
  • 16:30-18:00 Templates (KanMY)

Day 2 (14 May)

  • 9:00-10:00 Git and collaboration tools (TBD)
  • 10:00-11:00 Talks by Silicon Straits and GoldenGate (TBD)
  • 11:00-11.30 ECommerce (PayPal)
  • 11:30-12:00 How to present your ideas (Google)
  • 12-13 Lunch (On your own. You should complete your partner finding after this.)
  • 13-16:30 Launch Window (Hackathon). Ideally you work on the idea that you’d like to do in the program, but you are not required to continue on the same idea.
  • 16:30-17:00 Briefing on Orbital schedule and peer grading (LeeWS/KanMY)
  • 17:00-18:30 Ignition (1 minute madness). Present what you did in Launch Window, elevator pitch style.
  • 18.30-19:00 Speed mentor matching (Only for those looking to be mentored)

Posted on April 12, 2013 by orbital

Those of you who want more hacking goodness and are ready for a challenge should consider going downtown to GeekCamp.SG after Orbital is finished to learn about even more topics technical.

GeekCamp 2013 is on 7 September and is free for students and is coordinated by NUS’s own Laurence Putra Franslay.

Check it out!  [Don’t worry; we’ll remind you later too]

Posted on April 9, 2013 by orbital.

Hi all:

At this point, all students that have told us that you’re interested in Orbital have been added as guests into IVLE’s module for Orbital.  Don’t worry if you later decide not to join Orbital, the module registration is largely just to help us form a channel to communicate with all of you.

A quick few things:
– You’ll need to attend the Liftoff 2-day workshop (13 and 14th May).  This is a mandatory requirement, but if you cannot be present due to a conflict, we can grant exceptions on a case-by-case basis.  Please bring up your case to Prof. Lee Wee Sun if you wish to ask for an exception.  Note that if you cannot attend the Liftoff workshop, you cannot ask for mentorship by senior students or industry professionals.
– Please go ahead and start learning Python.  We’ve posted a link to Codecademy and will be posting a video and sample exercises for python, but the best way to learn python is to practice it (through Codecademy or other sites).
– If you find other great sources for learning, please post them on askbot.  This is an important way of helping yourself and others, and peer involvement is a cornerstone of the Orbital programme.

You are required to do the Orbital Programme in teams of twos. If you have already found a partner to work with, great!
If not, you can go to http://orbitalpartner.appspot.com/, log in, and provide details that you’d like to share with potential partners.You can then search for a partner based on details provided by others who are looking for partners. Based on the details, you can email potential partners to continue your discussion.
The app at http://orbitalpartner.appspot.com/ is built on Google App Engine using Python. You can find the source code at https://github.com/WeeSun/Orbital-Partner-Matching.

You are expected to have finalized your groups by the Launch Window hackathon session on the afternoon of the second day of the workshop (Tuesday 14 March), so that you can do the final hackathon together. Some of the sessions in the workshop will require you to work with partners, but you are free to work with anyone and continue to look for partners during the workshop until the hackathon session.