Registration now open
Dear 2014 Orbitees:

The countdown has begun!  You may now register your interest to join the Orbital programme.  After registering, you’ll be placed on the email list for the summer programme that we will use to keep in contact with you and you’ll be assigned an advisor who will give you more details on the summer course as it progresses.  Just click the link below:

We know you are wondering about some questions, so here are some answers that may help you clear your doubts:

Q1) Is there any obligation by filling out this registration form?
A1) Nope, it just allows us to know who you are and to establish contact with you.  You can decide not to participate in Orbital even after you register, with no risk to yourself.

Q2) Is there a deadline for filling out this registration form?
A2) Nope. You can register as late as 12 May, the first day of the mandatory* Liftoff workshop.  However, the sooner the better for the administrative staff, as we can better estimate the interest from all of you potential first year SoC students.  Since there’s no risk (see Q1), why don’t you register? (hint, hint)

* Attendance at the Liftoff workshop on 12-1314 (13th is a holiday) May is mandatory, but students who want to participate in Orbital who cannot make the workshop dates need to let Orbital staff know in advance.

Stop the presses!  I’m ready to register!

(or try http://bit.ly/1d6zlZR if that doesn’t work for you)

Orbital is the School of Computing’s self-driven programming summer experience.  It is designed to give first-year students the opportunity to 1) self-learn and 2) build something useful.  Officially, it is a 4 modular credit (MC) module – CP2106: Independent Software Development Project – that is taken over the summer and graded on a Completed Satisfactorily/Completed Unsatisfactorily (CS/CU) basis.

Unlike the School’s traditional modules which emphasize academic learning, this module leverages the growing opportunity that computing students at all levels have in building useful applications.  This skill does not normally come by formal training, but rather requires time, experience, trial-and-error to hone.  Information foraging for technical details on the Web can be difficult, but we feel that through a combination of self- and peer-help, students will be able to put together useful systems and generate confidence in being able to go beyond the basics, and seek solutions on their own.  In fact, computing is the only discipline whose output can scale dramatically; a single person’s work can affect millions of lives, everyday.

Our School does not teach programming prowess as formal coursework, as it is not academic in nature.  Orbital is one mode where young energetic students can fill this gap by their own initiative.  Read more about the Orbital programme’s structure in pages tagged with ‘orbital‘.

=

Art Credits: CTVET.com

We’ve finished interviewing our line-up of Advising staff for the 2014 Orbital iteration.  We’re pleased to have a dedicated cohort of so many great students to assist in the upcoming latest-is-greatest run of Orbital.

In fact, Min and Wee Sun have already arrowed them with a nice long 3-hour curriculum meeting to help iron out the details of what will go down over the summer.  Go team!

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 http://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)

 

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)

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.

Did you watch the video teaser from Code.org that was posted in Orbital’s blog a few days back?  Well, now you can get started on learning what you need for the Vostok beginners programme by learning Python on your own.

Simply create an account with CodeAcademy and start learning Python.  We think you find Python an elegant and straightforward language for many tasks (including other advanced classes within SoC).  [Disclaimer: NUS SoC has no interest nor is it affiliated with CodeAcademy]

Screen Shot 2013-03-27 at 2.43.38 AM

CodeAcademy and its ilk (websites for learning hacking by doing) are becoming a leading way to learn programming for the masses (we’re in the mass too :-).  You may find many of the fundamental tracks useful for your Orbital projects (we’re excited about the Web Fundamentals and the Javascript tracks.  Anyone up for API lessons?).