The staff for Orbital 2015 has been interviewed and shortlisted! We’re pleased to announce we have a great body of Orbital alumni coming back to help you all out on your epic, self-driven summer projects! Check them out over here: https://orbital.comp.nus.edu.sg/?page_id=549
Another opportunity to participate in a hackathon has just been announced. I’m relaying this message on behalf of NUS Interactive and Digital Media Institute (IDMI). If you have any questions, please contact Kelvin Tan at email@example.com.
NUS Enterprise and SMRT present the first ever commuter experience Hackathon in Singapore and we invite you to hop on board.
Here’s your chance to realise your ideas and win attractive prizes at the same time:
- Selected winners may receive up to S$120,000 for implementation of their ideas
- Winners may enjoy NUS Enterprise’s exclusive Start-up support for 3 months
- Winners will also walk away with over $500 worth of prizes
We also welcome you to sign up for the exclusive pre-Commuthon event, Insider Tour, on 22 August 2014.
Discover what happens behind the scenes at SMRT, dialogue with SMRT representatives and go on an exclusive insider tour of the train, bus and taxi depots.
To register your interest and for more details, please log on to http://www.eventnook.com/
For further enquiries, please email us at firstname.lastname@example.org
NUS-SMRT Commuthon 2014
This coming Monday we’ll have our one and only Mission Control on the hot-button issue of security, with demos to boot! It is open to the public, so invite your friends to come. Christopher Low of ThinkSecure will be coming to SoC to give you a treat on how security works (and doesn’t work).
This MC session is not going to be recorded so if you want to hear this talk you must come down to SoC SR3 on Monday (N.B.: *not* the regular Tuesday date) 9 Jun, from 6-8pm.
Talk Synopsis: Two categories of people (i) People who spend a great deal of time online daily for work, play as well as staying in touch with friends over social networking sites and (ii) creators of social/web applications will find this presentation/demo extremely relevant. Most of these “online-social” people are “Generation Z” folks who are IT- and internet-savvy in the way they use computers, tablets and mobile devices to stay connected and engage in heavy interactive communication to maintain their online social life. However, very few of them give equal consideration to the way in which they use such media and thus open themselves up to web-based attacks.
This presentation looks at some of the more recent and stealthy web attacks which target “Generation Z” (or any user of such social media) while they are online and illustrates how some of these attacks are engineered and the impact they have on a person’s online social life. For web application developers, understanding such types of attacks will help them code better to mitigate such attacks.
Through real life demos which will be shown in the course of the presentation, the presentation brings home the point that today’s Generation Z’s and web-app developers face a huge
challenge in both understanding as well as defending against such modern web-based attacks.
Post edit: The slides for Chris’ presentation are here: http://securitystartshere.org/downloads/pres-Todays-Web-Attacks-How-That-Impacts-Your-Online-Social-Life.zip
Liftoff 2014 concluded on Wednesday, but 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. Feel free to watch this thread in Piazza, as it’s inevitable we missed out on some useful pointers (students, advisors and mentors, feel free to add to the post).
Design Thinking – Giftbook
For the first 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 Stanford.
Project Levels and Achievements
As Wee Sun pointed out, 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 something for Apps4SG
- code::Extreme::Apps (http://www.codextremeapps.org/) – 18th and 19th July, 2014.
- iCreate (http://icreate.nus.edu.sg/)
- Hackathons organised by Newton circus mainly as part of its UP Singapore series. All hackathons are weekend-long and usually have some new datasets for the participants to play with. Upcoming hackathons include Prudential Good Health hackathon (http://www.upsingapore.com/good-health-hackathon/) from 30th May to 1st June, Geohackathon (http://www.upsingapore.com/geohackathon/) from 6th to 8th June, etc..
- angelhack (http://www.angelhack.com/)
- 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, another student organization like NUS ACM. Information about this is again blasted out by SoC.
- 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 (Link to the 2014 version – https://www.facebook.com/events/574877579268704/). I do not know if Facebook will organize it every year though.
- Super Happy Dev House Singapore (www.superhappydevhouse.sg) – More of a social event, but a lot of fun 😀
- ISOBAR hackathons (http://www.tusisobar.com/en/news/2013/3/28/Isobar-Create-32-Singapore-first-NFC-hackathon/) – I only participated in 1 in 2013. They let us play with NFC enabled smartphones and NFC cards 😀 I do not know if they will organise more hackathons in the future though.
Presentation Skills by Google
Presented by Darshini Santhanam, Google Singapore (starts from the video stream at 21m50s) http://www.youtube.com/watch?v=q5KjiP9DLss&t=21m50s
Attached are the slides for the presentation, courtesy Darshini. Grow_Beyond__Presentation_Skills_by_Darshini_Santhanam.pdf
YouTube videos referenced:
Macworld San Francisco 2008-The MacBook Air Intro (Pt. 1) http://youtu.be/OIV6peKMj9M
We pretty much went over the materials from LearnPython.org and dashed over to Codecademy to do some exercises. We had some fun with the Open Source Report Card Json service towards the very end.
Whenever you get down on your programming mojo, watch the Code.org videos. They pep you up. There’s suposedly one with Obama (US president) in it too.
Alternative learning platforms:
Udemy – A list of courses (w/ star-rated reviews; fee and non-fee)
Lynda – for fee, monthly subscription-based
LearnPython – what we will be following for the first part, along with Codecademy
Codecademy.com: Advanced Topics in Python
– Iteration Nation (Exercises 1-3)
– List Comprehensions (Exercises 4-6)
– List Slicing (Exercises 7-11)
Codecademy.com: The Devil’s in the Details
20 minutes: AfterHoursProgramming Python Quiz
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:
Even seasoned (salted or pickled) Pythonistas benefit from watching this from time to time…
On Codecademy: So at this point, you should have some gist of what python programming is like. It’s not so bad, is it? If you haven’t finished the exercises, try to do them over the next week or so, and keep working at the Python course (and others) on Codecademy. You can take a look at the other sites that I shared with you in the earlier @177 post. Vostok folks, don’t be intimidated by the speed at which some students can do the exercises. 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!
Software Installation (Post @168): Please do this by Wednesday early morning. Ideally today if possible. It’ll really help if you have the software installed. We did Python together (and perhaps PyCharm).
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. 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.
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. Agile_Methodologies.pdf
Post Day 1 – Software Installation
Probably you have these all done, but if not, please get it done soon. Min’s note: the more you work with these tools, the more proficient you’ll be with it. It does help to periodically go back and retrain on certain tools (especially your text editor — knowing shortcut keys is really beneficial — you can YouTube or Google hints for developers for any tool that you’re using. Lots of people have made very helpful notes. Find them and share with the class!
- A modern web browser, Firefox https://www.mozilla.org/en-US/firefox/new/ or Chrome https://www.google.com/chrome/browser/
- A good text editor. If you have a preferred editor, e.g. emacs or vi, go ahead and use it. Sublime Text is good if you don’t have a preferred editor http://www.sublimetext.com/.
- If you’re set on doing the Vostok level of difficulty (beginner) or are sure you’re going to stick to the Python / GAE stack you might also want to try the PyCharm IDE (see Post @155) as it features Google App Engine and Python integration.
- Install Git http://git-scm.com/. For Windows users, install GitPad https://github.com/github/GitPad
- Make a GitHub account https://github.com/.
- Python 2.7 https://www.python.org/download/releases/2.7.6/ . Likely you’ll install this during Day 1 anyways.
- Google App Engine https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
Web structure, HTML, version control
– 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.
– Geeky stuff: Tim Berners Lee started the web in 1991. http://en.wikipedia.org/wiki/History_of_the_World_Wide_
Google App Engine
Follow along here in YouTube http://www.youtube.com/watch?v=db6CCPZ6b3U&feature=share
Please note that you need the materials to follow along http://www.comp.nus.edu.sg/~leews/LiftOff.zip
Update (Post @206) : Last year, I 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 last year also found self-studying from the Udacity web application course also very useful for general awareness of “how the web works”. You can also find some of the sessions on YouTube for free:
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.
We’re pleased to hear that many of you are considering Orbital for part of your summer adventures for 2014! We’ll be releasing a signup form soon so that you can express your enrolment interest and stay up-to-dates with announcements.
But don’t worry, official registration won’t close anytime soon. The first mandatory milestone is to attend the 2-day Liftoff workshop happening right after the final exam period.
Meanwhile here are a short list of Frequently Asked Questions (also broadcasted verbatim on the CS 1010 and CS 1020 forums), to keep you in the know:
We wll be having an information session about Orital again closer to the recess week period. Keep a look out for the official email, a well as the announcement here in your course.
– Q: Is there a formal process to get into the Orbital cohort?
No, there’s no selection or bidding for the module. If you want to do Orbital you can, provided you qualify.
– Q: Then who qualifies to be part of the cohort?
Any SoC freshman (CS/IS/CEG/BZA). Students at other years or in other faculty cannot do this programme. Orbital is also unfortunately, not applicable to exchange students.
– Q: Can I do this while overseas, or while doing an internship, etc.?
Yes! You can do most of your development overseas or at any time. There’s no physical or temporal requirement — just that you finish the project within the three summer months.
– Q: Must I do it just with one other person?
Yes. You must work with one (and only one) other SoC freshman student for Orbital.
-Q: The video says that weekly hacking class will be held. What if a person is not here in Holidays?
No worries. The hacking classes are optional and notes are likely to be distributed so that you can follow the topic, even if you are not around. Only the initial workshop (first 2 days of summer) and final closing ceremony (likely during second week of Sem 1) are mandatory for you to attend.
It has been a bug-blasting, hacking-all-around, action-packed summer thriller for all of you in Orbital! 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 poster sessions with following oral sessions after each poster session to serve as a transition period; see schedule below. Orbital teams will be 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:40||Poster Session 1|
|18:40-19:20||Invited Talks Session 1|
|19:20-20:00||Poster Session 2|
|20:00-20:20||Invited Talks Session 2|
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. Google has kindly sponsored some prizes for the very best projects, as voted by all of you and observers (SoC, project mentors and industry invitees).
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 (https://orbital.comp.nus.edu.sg/?page_id=348).
For those who cannot attend due to conflicts, you must let the instruction staff know ahead of time via email. Both team members must attend the event. Post-event application for leniency will not be permitted.
Cheryl from Google posted a few pictures to her G+. Enjoy! Here’s one picture as a teaser. Did you take any you’d like to share? Add them as comments.
We covered Python this morning, just the basics. You should be able to recognize python code now (it doesn’t have semicolons and depends on indentation to recognize blocks).
Finally we covered Google App Engine, the hardest part of today’s work. Here we did the job of generating HTML programmatically in response to requests from your clicks to “run” the program. The HTML is generated from HTML templates where some values are filled in by the app engine’s python code’s. In particular, you are using python code (e.g., giftbook.py) to specify classes and handlers for those classes. The responses that the handlers generate are HTML webpages (e.g., wishlist.html) that have placeholders for the Jinja2 template language to insert the appropriate values from Python.
We don’t expect you to get it all on the first try, but take a look through the code to see what you can understand and what you don’t. We know it’s difficult to ask questions on what you don’t know — because you don’t know what you don’t know — but try your best. We’d love for you to ask at least 1 question in our Askbot forum so that we can try to answer your questions offline.
Well, let’s be frank — coding skills come largely from your own hard work and practice, practice, practice. Orbital is a chance to cover exactly what’s mentioned in this video. Be inspired!
There will be a short briefing about Orbital on Thursday 21st Feb (this Thursday) from 6:10-7:00pm in Seminar Room 1. Please come with your questions, or if you can’t make it in person, attend the Google+ Hangout (named “NUS Orbital” at the same time.)
If you cannot be there physically or virtually, please fill out this form to register your interest and ask other questions: http://goo.gl/hLDVC