Posted on January 21, 2014 by orbital

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‘.

Posted on August 24, 2016 by orbital

Photo credits from: Zig Ziglar @ Flickr

Congratulations to all of the 147 Orbitee teams for completing the programme!  You’re the big winners in forming your own projects and navigating through all the summer hazards to finish your projects.  No doubt that you had wanted to call it quits at some point and wanted to have someone to help guide you a bit more closely.  But you persevered, insisted that you would stay the course, and won the battle against yourself.  You realised the only barrier to your progress was yourself and the fuel was your self-ignited passion.  You return from your summer journey changed, more confident of your own abilities and clear about how you can find your path forward in any technical scenario.

Splashdown featured a number of ways that you can take your work in Orbital forward, which both SoC (through our Entrepreneurship office) and the University (NUS Enterprise, especially NUS Overseas Colleges) have paved for you.  Do weigh these opportunities and assess whether they are appropriate for you.

And now for the formal awards:

  • For Vostok:
    Congratulations to Kabir Khandpur and Gupta Varun of Blue Circle Co. (Winners); Loh Zi Bin Robin and Huang Jifen of O(my god) (Honorable Mention)For Project Gemini:
    Congratulations to Jaipal Singh Khaira and Wu Tingfeng of RainyWhether (Winners); Kwok Jun Kiat and Tan Jun Kiat of JFK (Honorable Mention)For Apollo 11:
    Congratulations to Ng Yong Sheng and Chan Yu Feng of No Break, No Brake  (Winners); Ngin Yun Chuan and Conan Kian Jia Ren of DARTHWHALE (Honorable Mention)

    and for Best Advisers:
    Bay Chuan Wei, Candiie and Harish Venkatesan (both advisers to eight teams)

Although you are the stars of Orbital (yes, you are!), there’s a whole host of SoC 24 advisers, 20+ industrial and alumni mentors, staff, building facilities, A/V, alumni, senior students and student groups and the tireless admin staff from the Undergraduate Office and Corporate Relations that make this happen.  This programme does not happen anywhere else in the whole currently, so be proud that you are here in NUS SoC.  Go SoC!

– Orbital Staff

Congrats everyone!  Liftoff 2016 concluded on Tuesday and you have escape velocity out of SoC and are well on your way to starting your summer project! It’s helpful to have a recap of everything that happened, especially for those of you who are overseas.  Here’s where we sum it up in a single post so you can decide where to go from here.

Remember, for most teams’ Liftoff is a whirlwind tour of acronyms, and development.  It is a “throw you into the deep end” type of workshop where we pepper you with lots of technical material.  However, for many it will take a few weeks to start to get entirely oriented with what to do next.  Look to your advisors (and mentors) for help on Slack, call them out!  As explained at the beginning Liftoff is more a teaser for what you can do than a full fledged coding bootcamp costing K of dollars and with a much more substantial time commitment.  Do read the original post because it contains all of the links that may not show up on a feed.

There’s a YouTube playlist for all of the videos that we broadcasted (see original post for the URL), but where possible we’ve put up individual links below.  Do consult these for materials to revise, especially if the sessions went too fast — rewatch those we were able to capture to pick up where you fell of the track in the session!

Day 1

Introduction [ Link to Video and Slides ]

After showing a Code.org video, Min went over the three resources for Orbital: Slack, the Orbital website, and Skylab.  We went over the Orbital timeline — the three milestones, the optional Mission Control sessions and the mentorship program for PG / A11 students.  We then closed by reviewing the schedules and polling for the technical sessions that we were executing for Orbital.

went over the schedule for Orbital Liftoff this year.  We went over the three

Design Thinking – Fight Haze [ Link to Video and Slides ]

For the first long session, we are going over the design thinking workshop.

Go through the slides that Wee Sun has posted at http://www.comp.nus.edu.sg/~leews/LiftOff.zip, and then after reviewing the materials, watch and do with your partner the entire Design Thinking Workshop Video from Wee Sun, which is modelled after the original material from Stanford.

Project Levels and Achievements [ Link to Video and Slides ]

We review the types of projects that you can do in Orbital (pretty much anything) and how to assess your level of achievement, and we review the two most FAQs: Is my project worth <X>? and Is it feasible to do Y for my project?  We also hosted the NOC group who made the stunning announcement that all Orbitees who complete their self-proclaimed mission are good to pass Round 1 interviews for their hallmark NUS program.  Min also went over 5 project ideas proposed by mentors which would be suitable for teams not clear about their project ideas.

As we pointed out too, you can have your Orbital experience overlap and align with programming contests locally and worldwide.

Consider this (non-exhaustive) list (now merged and enhanced from Shubham Goyal’s list too)

  • Google’s Cloud Developer Challenge
  • Using data.gov.sg to do merge two different data sets for interesting results!
  • code::Extreme::Apps (http://www.itsc.org.sg/code-xtremeapps-competition)
  • Hackathons organised by Newton circus mainly as part of its UP Singapore series http://www.upsingapore.com/events/. All hackathons are weekend-long and usually have some new datasets for the participants to play with.
  • angelhack (http://www.angelhack.com/; there’s one coming up AngelHack Singapore 2016  on 14-15 May this weekend!)
  • Developer Weekend (organised by NUS Student Chapter of the ACM, all SoC students receive an e-mail blast about it)
  • Hack&Roll (http://hacknroll.nushackers.org/) organized by NUS Hackers, the student organization that Jia Yee, David and Advay (all students in Orbital 2016 too) are a part of!
  • Startup Weekend (http://singapore.startupweekend.org/) – This is not strictly a hackathon though, but no one prevents you from treating it like one
  • Facebook Singapore Hackathon .  This event has happened in 2014, and 2015, but not yet for 2016.  We don’t know if Facebook will organize it every year though.

Agile Practices [ Link to Video and Slides ]

Winston of Jolly Good Code has kindly made his presentation available to us.  You’ll probably want to have a re-look at the Agile software engineering methodology he presented to you once you get down to the nitty-gritty of actually starting on your project.

Basic HTML / CSS [ Link to Slides ]

Jia Yee went from NUS Hackers went over the basics of HTML and CSS: the heart of the structure and the style of all things web.  There’s quite a lot of things that can be done purely with good knowledge of HTML and CSS, including making an impressive web-based resume or website.  You can peer at the heart of any website you can find in any browser and study how their HTML looks like (but don’t worry if you can’t understand some of the syntax, most of the HTML out there in the wild is written by machine or frameworks, and their HTML is usually pretty messy.  Study these fundamentals well.

Min’s addendum:
– I taught this session using Codecademy’s exercises in previous years.  You can try that too, and/or follow the webcast from then.  https://www.youtube.com/watch?v=iRldW_Wc8c0
– You will probably use your fav search engine to find more information about HTML tags and CSS directives, but usually a search for “<tag name> html” will work.  The technical descriptions from w3schools.com is usually fairly good.  They have HTML and CSS tutorials there too.
– We’ll be going over an extension of this tutorial in Mission Control #1 on Bootstrap (a specific CSS extension for clean responsive web design) as well as JQuery (used extensively in making website feel more dynamic), which will be next week at 17 May here at the Hangar by Min.
– Geeky stuff: Tim Berners Lee started the web in 1991.  http://en.wikipedia.org/wiki/History_of_the_World_Wide Web

Basic Droid Dev [ Link to Video and Slides ]

Min gave a quick overview of Droid describing different API levels of Droid, the difference between responsive Web applications and native apps (you may not need to build a Droid app to create a good project).  We then covered the building of a basic Hello World app using a basic activity, and then went to build the Create part of an application that can do the basic CRUD (Create, Read, Update and Delete) functionality.  We didn’t cover the Read part of the tutorial and the tips at the end, but we suggest that you complete the tutorial to get a working application.  The tutorial is adapted from another tutorial on CRUD for Student Databases for the Fight Haze application, available at https://www.codeofaninja.com/2013/02/android-sqlite-tutorial.html.  We’d suggest you work through that version for the full CRUD work.

There’s also Jun Wen’s previous talk on Droid Dev, from which the current session was modeled after: https://www.youtube.com/watch?v=emm07i1nWHI

Mentor Matching [ Link to Mentor profiles and Mentor projects ]

We finished the day with Mentor Matching back at I3 Auditorium.  Team interested in mentorship need to tell us by the end of today whom they would like for their mentor.  Read the pinned post on Midnight Mentor Madness -‘Morrow’s Mentor Matching Meetup pinned to the #general channel in Slack to get more details on the benefits of mentorship.  Do note that as in past years, some mentors are more popular than others, so be open-minded about whom you might want to work with if you are interested in getting a mentor. 

Day 2

How we hire by Charlotte Park of Google

Charlotte brought Jamie and Doug to help answer your questions about hiring at Google.  They took questions both in the session and outside the auditorium and referred us to some hints about how to prepare for the technical interview.  Charlotte mentioned the Work Rules book by Lazlo Bock https://www.workrules.net/  and mentioned the tech interview for more seasoned engineering (but still useful for all of you, that was just held last week): https://www.youtube.com/watch?v=MyFxMpKn7yk

Python [ Link to Video and Slides ]

David from NUS Hackers went over this material.  Big up for David on his presentation over at The Hangar!  So at this point, you should have some gist of what python programming is like.  Practice makes things better and guess what — there’s no Bell Curve God for this module.  So take your time and get things done until you’re comfortable coding.  You can also ask your advisors for some tips — they will be really happy to share, trust me!

Alternative learning platforms for any language (Python of course, but others too!):

  • GrokLearning
  • LearnPython.org – Min uses this when he teaches this section.
  • Codecademy.com – Min uses this when he teaches this section, especially the lessons Advanced Topics in Python and The Devil’s in the Details
  • Udemy – A list of courses (w/ star-rated reviews; fee and non-fee)
  • Lynda – for fee, monthly subscription-based
  • Pythonfiddle.com
  • 20 minutes: AfterHoursProgramming Python Quiz http://www.afterhoursprogramming.com/tutorial/Python/Python-Quiz/
  • Laurence also recommends Learn Python the Hard Way (http://learnpythonthehardway.org/book/), part of the general Learn <X> the Hard Way series.
  • Here are the slides for the original version of the tutorial: python_tutorial.pdf . Note you can also find the videos of both parts of the Python tutorial online.  Google has a few versions of a Python tutorial that is much better than mine, I think but it may still be worth it to work through your understanding of Python.

There are lots of additional tricks in Python that you can try, so do try to figure them out.  Also important is to try to adopt the Python coding style, in the form of the PEP 8 “standard” or others: https://www.google.com.sg/search?q=python+style+guide For PG and A11 students: if you whizzed through our Py tutorial you can try watching some pretty advanced tips to get yourself more aligned to the Pythonic style:

https://www.youtube.com/watch?feature=player_embedded&v=OSGv2VnC0go#!  Even seasoned (salted or pickled) Pythonistas benefit from watching this from time to time.

Project Gemini / Apollo 11: Teams aiming for a bit more than the standard project can try to do a mobile app or other project — it’s up to you. If you’re interested in still doing a web application, don’t necessarily corner yourself into using Py/GAE.  There are many frameworks you can try.  You could try Ruby on Rails (my personal favorite web framework, and experience that Winston was sharing is highly sought for in SG).  A few of our mentors are also Rails specialists, but Python / GAE is also a good combo, and many of the advisors will be able to help you with that.  Explore what’s right for you.

Google App Engine [ Link to Slides ]

Please note that you need the materials to follow along http://www.comp.nus.edu.sg/~leews/LiftOff.zip . Unfortunately, the recording did not go through, so you can check the related tutorial on Google App Engine (GAE) from Wee Sun’s recording from last year.

Ruby on Rails [ Link to Slides ]

In addition to Jia Yee’s intro, for RoR, Min highly recommends following some of the online tutorials.  Min used Pragmatic’s Agile Web Development with Rails 4 as his method for learning Rails and once taught a full day workshop to his research group from this book.  https://pragprog.com/book/rails4/agile-web-development-with-rails-4 .

Presentation Skills [ Link to Video and Slides ]

Presented by Min, with assistance from slides originally from Darshini Santhanam, of Google SG.  We watched two videos on Steve Jobs presenting the MacBook Air and a video by Michael Hyatt from Platform University about making a useful elevator pitch complete with the key problem statement.  In the original presentation in 2014, Darshini also showed the before and after of Eric Schmidt, now chairman of Alphabet, Google’s parent company.

YouTube videos referenced:  1) Eric Schmidt [before] Public Speaking Class http://youtu.be/bA1I6MUOKkU . 2) Macworld San Francisco 2008-The MacBook Air Intro (Pt. 1) 3) http://youtu.be/OIV6peKMj9M 3) Elevator Pitch Winner – Katie Sunday https://www.youtube.com/watch?v=dqIEE-g_-Uc 4) Eric Schmidt [after] – Zeitgeist Americas 2013 http://youtu.be/hUPnhKf_Cnw

Web Requests and Server Frameworks [ Link to Slides ]

Xinyu, one of our Orbital advisors this year, also gave a fun-filled talk on the acronym and alphabet soup of learning development, and unpeeling the many layers of doing development.  Dive in and get dirty, is what we’d do — you’re never going to get the perfect set up before trying things out.

Min also gave a related lecture on similar topics here: https://www.youtube.com/watch?v=B0Bu223_NmY .

Zhi An from NUS Hackers also covered the basic structure of the web in his session last year, available on YouTube: https://www.youtube.com/watch?v=zpbK78yt8RE#t=108.  Slides and everything else for the presentation are at http://ngzhian.github.io/orbital/#/

Git Basics [ Link to Slides ]

Advay of NUS Hackers came to give the final technical session on using Git.  He went over many of the core commands on git that you will need to be familiar with throughout your life as a developer.
You may also find that Laurence’s session in last year’s Orbital specifically on git use and management would be helpful for those who have gotten git to install but don’t know what to do with it.  Please find the session here on YouTube: https://www.youtube.com/watch?v=b2-hJivIXZU (Slides are here: http://geeksphere.net/Orbital-Git-Workshop/)

Ignition

Find yourself onstage for teams present in either the i3 Auditorium or in the Hangar for teams, as associated with particular advisors’ evaluation groups.  All teams need to have completed their mandatory, 1 minute pitch or recording if they are taking Orbital.
  • i3 Auditorium [ Video and Slides ]
  • The Hangar [ Video and Slides ]
  • Extras [ Video and Slides ]

Orbital workflow and Skylab [ Link to Skylab and Video ]

Min gave the final sessions late after Ignition to cover how to go through Skylab to file your Milestones and to evaluate other teams.  Please watch this or revise this video again when it comes close to the first Milestone timing.

Related videos from previous Orbitals

Min also posted this video to YouTube to help some students come to grips with all the new shiny code that they learned in the Google App Engine session.  You may find this lo-fi video helpful to fill in some gaps in your understanding of what all the parts of the web work.  https://www.youtube.com/watch?v=tC6hacD5Dcs

Students from previous years also found self-studying from the Udacity web application course also very useful for general awareness of “How the web works”. Some of the sessions may be on YouTube for free:  http://www.youtube.com/results?search_query=cs253+udacity

This source of information is probably very useful for those of us whom learn best by watching.  The Udacity course is pretty long but much more principled in its way of introducing materials to you in a “lecture” format, instead of dumping you all in the thick of GAE like we have done.

Other useful links (aka Lobang) by you, advisors, mentors and tutors:

  • Trello (http://trello.com/), recommended by Juliana.  This service is pretty good for developing user stories and tracking feature requests, a la Agile.
  • General Assembly’s *free* workshop on “So you want to be a developer”, feat. mentor Laurence and Google folks, David Zhu.  Need to register, please do so soon!
  • Github Student Developer Pack (https://education.github.com/), recommended by Xinyu and Nicolas
  • Microsoft DreamSpark for NUS students.  Sign in to download Windows Products, inclusive of Server level products.  (http://bit.ly/orbital16-msdreamspark)
  • Amazon Web Services (AWS) Educate for Student (https://aws.amazon.com/education/awseducate/)

Got others?  Do a mention of them on #general in Slack.

Good luck and see you on Slack and around in Mission Control!

 

Posted on January 11, 2016 by orbital

Min made a new trailer video for 2016, with key modifications to the dates for Liftoff 2016.  Check it out (it’s in the sticky post at the very top when you visit the Orbital website as well).

Registration for Orbital is not yet open, but if you’ve heard the intro in your classes, or just learned about Orbital, stay tuned for information about the Orbital information briefing and how to register here on this website, or via Facebook or in your respective classes’ IVLE forums.

Do start planning to reserve at least the Monday and Tuesday after exams are open to be able to attend the mandatory Liftoff workshop.

If you have specific queries, please contact Min <kanmy@comp.nus.edu.sg>.  We will be setting up an FAQ to handle questions about timeline, eligibility, levels of achievement and other details.

Finally, you’ve made it!  Your summer choose-your-own-adventure is coming to an end!  We’ll be seeing you soon landside at SR1 and SR1 Lobby next Wednesday with your A1 poster in tow.  Mission Control reports the all-clear for your reentry back to NUS, Singapore!  We’ll have a final, three-hour evening session, where all of you are required to participate (this is the very last milestone), in the form of a final Splashdown showcase!

Splashdown is structured as two back-to-back poster sessions with a final oral session and awards section; see the schedule below.  Orbital teams are assigned to one of two sessions to present their work.  During each of the two poster sessions, each team will be presenting their work via a A1 sized poster that you will have to prepare and print (but we will pre-pay for you at SoC Technical Services).

SPLASHDOWN SCHEDULE (Draft)
18:00-18:55 Poster Session 1
18:55-19:05 Changeover
19:05-20:00 Poster Session 2
20:00-20:30 Invited Talks 
20:30-21:00 Awards Ceremony

Splashdown will also feature peer voting for best projects.  During the poster sessions, take note of which other teams you think did the best projects and vote for their project electronically using your smart phone or tablet. We’ll tally your votes and announce the winner at the end of Splashdown at the awards ceremony.  Guests (first years, and seniors) are also welcomed to attend and will need to register for the event to be given voting privileges; see the Splashdown page soon, when that information is updated.  Google has kindly sponsored some prizes for the very best projects, as voted by all of you and our observers

Details for Splashdown (such as the final schedule and team allocations) are still ongoing, but you can check on the latest details on the Splashdown page on the Orbital site.

For those who cannot attend due to conflicts, you must let the instruction staff know ahead of time via emailBoth team members must attend the event.  Post-event application for leniency will not be permitted.

Posted on April 30, 2015 by orbital

As you will have noticed, Orbital 2015 is using Slack for communications.  Slack is like a chat client and organized into channels (something like old style IRC, if you are from that era).

We have seeded a few channels in our team for groups who want to meet like-minded groups to share ideas.  Join as many or as few as you like.  Advisors, Mentors and Tutors will be joining in channels that also meet their expertise or interests. Feel free to start your own channel using the #sig- prefix convention.

  • Sig-NUS – For teams working on NUS related projects (IVLE, NUSmods).
  • Sig-Cloud – For teams interested or using cloud computing components inclusive of IDEs, PaaS, SaaS (e.g., Cloud9, Nitro.us, Heroku, Amazon EC2, EngineYard)
  • Sig-Game – For teams interested in developing games (Unity, PyGame, HTML5 Canvas, PhaserIO)
  • Sig-HW – For teams (and other interested parties) whose projects might include a hardware component (e.g., quadcopters, smartwatch, arduino, raspberry pi, Lego Mindstorms)
  • Sig-Mobile – For teams interested in mobile app development (on iOS, Droid, etc.)
  • Sig-Web – For teams doing web development of sorts (any stack and any language; Py/GAE, Ruby on Rails, Node.js, Py/Flask. PHP/CodeIgniter).

P.S. Finally, if you find Slack useful, you might want to use Slack to create your own team (n.b., not channel) for your own Orbital project, and invite your advisor to be a part.  Some of your seniors have found this platform useful for syncing up with project mates and it seems not to be blocked by certain authorities, specially helpful for teammates that are geographically spread out.

Posted on June 29, 2014 by orbital

Photo Credits: Philipp Pohle @ Flickr
Photo Credits: Philipp Pohle @ Flickr

Dear all:

Your second Orbital hurdle is here!  Please make sure to put up your project’ revised README and log into Piazza (see pinned posts @793 and the updated @235) no later than 30 Jun 11:59pm SGT, but preferably as soon as possible).  Make these posts visible to all in your EG.

Thanks to the groups who have at least put in a preliminary or final project README and log into their EG group.  Note that you need to inform your EG adviser in advance of the deadline if for some reason you cannot make the deadline.  You must inform your advisers in advance, or lateness may count against your eligibility for getting credit for Orbital.

In the next week, you’ll also need to do the peer evaluations of your three peer teams in your evaluation group listed in Post @235. These evaluations are due as private posts addressed only to your adviser no later than 7 Jul 11:59pm (exactly 1 week later).

Posted on June 1, 2014 by orbital

Screen Shot 2014-06-01 at 7.48.56 am
Photo Credits: James M @ Flickr

Dear all:

Your first Orbital hurdle is here!  Please make sure to put up your project’s README and log into Piazza (see pinned posts @233, @224) no later than 2 Jun 11:59pm SGT, but preferably as soon as possible).

Thanks to the 13 or so groups who have at least put in a preliminary or final project README and log into their EG group.

In the next week, you’ll also need to do the peer evaluations of your three peer teams in your evaluation group listed in Post @235. These evaluations are due as private posts addressed only to your advisor no later than 9 Jun 11:59pm (exactly 1 week later).

Posted on April 17, 2014 by orbital

For those of you who have filled out the Orbital registration form, thank you in advance for making Orbital 2014 a success!  You should now be invited to join the Piazza forum (reminder emails were sent out earlier today, please check your accounts and spam folders). The forum has most of the answers to concerns that you have raised.  Additionally:

  1. Those of you who have already stated their project teammates clearly have been also enrolled to a specific advisor group (hopefully correctly assigned to the same group) where your advisors have written a short note of introduction.  If you’ve gotten this far, congratulations!  You’re ready for Orbital!
  2. If you have been invited to Piazza, but haven’t been allocated to a specific advisor, it’s probably because you didn’t specify a teammate, or that your choice was unclear.  If you have chosen a teammate, let us know (email Min at <kanmy@comp.nus.edu.sg>).  If you haven’t yet found a teammate don’t worry, you can use the Piazza forum to solicit for teammates and can find teammates at the Liftoff workshop on the 12th / 14th May mandatory workshop.
  3. If you have filled out the registration form but haven’t been invited to the forum, please let us know.  We sent out registration reminders this evening (17 Apr).
  4. If you’re interested in Orbital but haven’t jumped on the bandwagon yet, there’s still time.  Please join us by filling the form: http://bit.ly/1d6zlZR

See you soon on the 12th and 14th (all day!).  See the Piazza forum for details on the Liftoff Workshop!

Posted on March 24, 2014 by orbital

Photo Credits: US NASA

Hi all:

Thinking of Orbital, but haven’t yet decided to enrol?  Or perhaps you’ve already enrolled but you still have some questions about what Orbital is?

Then come to our short briefing session that will help you understand the Orbital process on Monday 31 Mar, from 18:00-19:00 (sorry for the confusion! was incorrectly written as 7-8pm).  Some of your seniors from Year 2 may also be around to help you understand what Orbital meant to them.

See you then!

– Min