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.