Facebook@NUS CS3216: Software Development on Evolving Platforms
What is Facebook? • “Facebook now worth US$15b, thanks to Microsoft's investment”, The Straits Times, 25 Oct 2007 • Fastest growing Social Networking site, predicted to overtake MySpace.com within the year • Key Innovation: user-created applications(10,478 applications at last count; was 6,000+ two weeks ago!) • Commercial potential not fully tapped.
Overview • To be offered AY2007/2008 Semester 2 • 4 MC 3000-Level Module at SoC • Lecturer: ME! • TAs & LAs: on course homepage • Pre-requisites: • CS1101 (for SoC students) or by instructor’s permission
Why a Facebook Course? • Because we are trying to copy Stanford? • No prize in being second • Because Web 2.0/Facebook is the future? • Here today, gone tomorrow • Two reasons: • What you learn in school will get obsolete even before you can say Jack. • We want to give you your chance to make your first $million
Motivation/Goals • Traditional software engineering still has a place – we are merely filling a gap • Encourage students to be entrepreneurial (tie up with Startup@Singapore?) • Allow them to demonstrate their creativity … give them a chance to dream • Cross-faculty interaction /peer learning • Presentation/writing skills
Learning Outcomes • Understand how to source for and use open source software and APIs. • Develop engaging and innovative web applications • Work in multi-disciplinary teams(learn teamwork) • Learn a new programming language independently • Improve presentation and communication (both oral and written) skills • Express creativity, develop confidence and “can do” spirit
Course Overview • Monday, 6.30 to 8.30 pm • 4 Lectures on: • Anatomy of a Facebook Application • Principles of Software Engineering • User-Centric Web-Applications • Evolution of Web-Application Platforms • Weekly one-hour Seminars • Two groups will make 20-min presentations on existing Facebook applications, followed by discussion
Course Overview • Code Review Sessions • Students will critique code written by peers • Discuss the good, the bad and the ugly • Guest Lectures • On interesting and relevant topics • “Facebook Application Development with Ruby on Rails” • “Google Web Toolkit” • Details to be announced at start of class
Workload • Assignments • Hello World • Wall • Throw a Cow • Presentation • One-page summaries • Final Project • Students will develop and deploy a “cool” application of their choice • Final Presentation + half-day show-and-tell session
Final Project • Something cute and useless but popular • Something innovative that serves a useful function (tie up with Company or VWO) • Something that you can sell for a seven-digit figure • Support for your submission to Startup@Singapore • Research : what and how much data can you steal? • Surprise us (in a good way)!
Assessment • Hello World – 10% • The Wall – 15% • Throw a Cow – 15% • Presentation/Participation – 10% • One-page summaries – 10% • Final Project – 40% • No Exams!!
Do we get to choose our team mates? • Very important question!! • Answer: qualified yes • Hello World – match making • Other assignments & presentation • OTOT, but cannot work with some people twice • Final Project • Free-for-all • First-come-first-served
Common Questions • Is there a textbook? • Can I SU the course? • I have taken ITxxxx, CZxxxx, GEMxxx and CSxxxx, can I take this course? • What can I do over Dec to prepare for the course? • Will the course be too hard for the first year student to take as it is a level 3000 module? • How much time will the course take? • Will the course be offered in future semesters?
Sign me up! • Submit a personal statement to email@example.com by 15 December 2007: • Why do you want to take the module? • Describe your background and explain how do you think you can contribute to the diversity and vibrancy of the new module and to the team projects. • Describe a cool Facebook app that you *really* want to build. Explain why you think your app is really cool. • Successful candidates will be automatically registered for the class in CORS. Results out by Boxing Day