CS249 Web Mashups

In Spring 2015, join me in the journey of discovering the power of Javascript and Web APIs for creating inventive web applications.
Instructor: Eni Mustafaraj
Times: TWF 9:50-11:00

About the course


This course is intended for students who have some basic understanding of programming and would like to gain significant hands-on experience building web applications in Javascript, making use of data and services from different web resources. Examples of applications students have built in the past are: Bookfolio, which combines the list of best-selling books from NY Times, book information and user comments from GoodReads, and Twitter conversations around the book; Movies with Friends, which collects the movies your Facebook friends like, combines them with reviews from RottenTomatoes and trailers from the Internet Archive to recommend you the best movies.


You have taken one of our CS 100-level courses where you have learned about variables, operators, statements, functions, conditional execution, loops, functions that return values, as well as have built programs that combine all of the above to produce something interesting and useful. If you feel that you need more time to understand these concepts, then this is probably not the course for you and we suggest CS 111. Currently, this course is not open to students who have taken CS 304 in previous semesters (you are free to take both courses in the same semester, if you fulfill the prereqs for both). Building web applications is one of the most sought after skills for internships both in the academia and industry.


  • client-side technologies such as HTML, CSS, Javascript, jQuery;
  • manipulating the DOM, the HTTP protocol, callback functions for asynchrounous communication (AJAX), anonymous functions and closures;
  • data formats such as JSON or XML, understanding and using web APIs (application programming interfaces), HTML5 APIs;
  • APIs to connect and gather data from websites such as Facebook, Google, Instagram, Twitter, Locu, GoodReads, YouTube, LastFM, etc.;
  • interactive visualizations with the Javascript library d3.js;

Pre-registration Form

To register for this course you need the permission of the instructor. If you are interested, please answer the six questions in our form. You will be granted permission, given that there are free slots in the course.

Pre-registration Form

Contact Instructor

Feel free to email me with your questions about the content of the course, the registration process, and anything else you would like to discuss.



The locations depicted in the photos are in the Wellesley College campus.

Photos by Eni Mustafaraj, taken with a phone camera, processed with iPhoto.

The theme of this website is Grayscale by StartBootstrap.