Facebook@NUS CS3216: Software Development on Evolving Platforms

advertisement
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
1. Hello World
2. Wall
3. 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 sevendigit 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?
MORE
QUESTIONS?
Sign me up!
• Submit a personal statement to cs3216staff@googlegroups.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
Download