document.write(''); function getURLParam(strParamName){ var strReturn = ""; var strHref = window.location.href; if ( strHref.indexOf("?") > -1 ){ var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase(); var aQueryString = strQueryString.split("&"); for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){ var aParam = aQueryString[iParam].split("="); strReturn = aParam[1]; break; } } } return unescape(strReturn); } function readCookie(name) { var nameEQ = name + '='; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function replaceAll(oldStr,findStr,repStr) { var srchNdx = 0; var newStr = ""; while (oldStr.indexOf(findStr,srchNdx) != -1) { newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx)); newStr += repStr; srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length); } newStr += oldStr.substring(srchNdx,oldStr.length); return newStr; } var strHref = window.location.href; document.write(''); document.write('
CS377W, 3-4 Units, Letter Grade Only
Taught by Dr. BJ Fogg, Dave McClure, and Dan Ackerman-Greenberg (TA)
Optional Help Labs on Tuesdays 2:15 – 5:05
Class Meetings on Thursday 2:15 – 5:05, Wallenberg Theater
In this experimental course students will learn how to create, launch, and optimize web applications. Guided by the instructors and outside experts, students will work in small, interdisciplinary teams to conceptualize, develop, and distribute new functionality to Facebook users. This course will focus on how metrics and user feedback can help developers and product managers improve their applications.
Thanks to Facebook Platform and tools like Google Analytics, people who create interactive experiences can be highly responsive to people who use their applications. The gap between creator and user is getting smaller, but creators must learn how to gather and respond to user data. That is the purpose of this course: Learning to close the gap between creator and user. Students who learn to close this gap will create engaging new applications that thousands of people will use for years to come.
In this course we\'re pushing the envelope. The tools are new, the platform is new, and many topics in the course are new for academic settings. This course is best suited for flexible students who are willing to take chances and blaze new trails.
This course includes three types of projects:
A. Creating web applications
Teams of three students will create and launch novel web applications on Facebook. Both projects have the same overall purpose: (1) to familiarize students with processes for interactive design, (2) to learn about development and distribution of web applications, and (3) to give students experience working in multidisciplinary teams.
Web App #1: Solve a problem for a broad audience
The first app will focus on solving a problem for a broad audience. Each team determines what their app will do, aiming for large distribution and deep engagement, as shown by user metrics.
Web App #2: Solve a problem in learning or teaching
The second app will focus on learning or teaching. Each team decides what their app will do, aiming to solve a focused problem extremely well. Success is determined by user metrics (breadth & depth) and expert evaluation of the application.
B. Analyzing apps and sharing insights (“Apps You Should Know”)
Working in teams of two, students will select a notable Facebook app, evaluate its strengths, and share insights with the class in a three-minute presentation and a one-page handout. In addition to evaluating the user experience, students will examine acquisition, activation, retention, referral, and revenue. The purpose is to give teams experience in analysis, evaluation, and presentation of interactive experiences. The audience also benefits by learning about many web apps.
C. Present apps to audience and individuals
In the final project individuals or small teams will present one of their web apps to the class and invited guests. Each team has six minutes to demonstrate to the audience. Later, each team goes into “trade show” mode to share their apps with people who come by their station. The purpose is to give teams experience in presenting interactive creations to large and small audiences.
On Tuesdays this course offers optional lab time with industry experts. We strongly encourage you to benefit from these sessions. The experts will be there to help you.
On Thursdays we all meet together. Attendance at each Thursday class is vital. Each period will follow a similar outline:
1. Welcome & Updates
2. Apps You Should Know
3. Discuss Readings
4. Lecture/Discussion on New Topic
5. Guest Speaker
6. Team Coordination Time
We have some great readings lined up, but we are cutting them back now. We\'ll match the readings with the projects and demands of the course. We\'ll get student input to figure out the right balance.
'); document.write('