Part 1: Thinking about Privacy
Studying a specific case
You must complete this part in pairs.
Read this recent NYTime article on how Facebook tinkers with users' emotions in one of its News Feed experiment. Produce, together with your partner, a 200-word response to the following questions:
Do you think the
experiment is a violation of user privacy? If so, why? And if not, why not?
Is Facebook the only company that is doing such experiments? Give examples where other companies may be doing something similar.
Meet with yout teammate to discuss and formulate a supportable opinion and write it up, in a Google shared Document. In your answer you are allowed to use hyperlinks to point to relevant resources. Be succinct, be clear be persuasive.
Submit your work by sharing your response document (one document per team) with your professor, and by adding your document's URL here
Part 2: Working with JS Arrays
You must complete this part individually.
Task 0: Set up and preparation
Click to download a zipped copy of the
hw06 starting folder onto your Desktop and open it by double-clicking on it.
This folder contains:
- an html document named
assign6.html, that you should not modify, and
assign6JS.js, in which you will add your code.
assign6.htmlin your text editor and examine the code. The goal of this task is to require you to demonstrate your understanding of arrays and the for-loop.
Experiment with this sample page to see how your final program should behave.
Task 1: Managing a collection of MoviesConsider that you have a collection of movies and you would like to have the ability to add new movies on demand, and to have your program suggest a movie of your collection at random. This program will help you to do so.
The program maintains a global variable
myMovies that contains an array with a few initial movie names. For simplicity we have named them A, B and C. First, change the items in the default list to real movie names.
Then, implement each of the functions below. We recommend you work in the order we describe them.
Clicking on the "Recommend" button the program presents the user with a random movie from the collection. This is accomplished by
function randomMovie() which first picks a random index between 0 and
myMovies.length using the
Math.random() method. It then enters the movie that happens to be at that index into text field "randomMovieId" of the Web page.
Clicking "Add" the program will add whatever has been entered into the text field "newMovieId" at the end of the myMovie array. This is accomplished by
function addMovie() that reads the value stored in the field "newMovieId" into a new variable and, if the field is not empty, adds it as the last element of the
myMovies array. If the field is empty, it does nothing.
At the end, your code should call
listMovies() to refresh the screen to reflect the added movie.
Clicking "List" will produce the current list of movies in your collection in a list element of your web page called "moviesId".
To do that you need to write code for
function listMovies() that using a for-loop goes through your collection of movies (stored in the myMovies array) and calls function
addElementToList() with argument each of the movies in the array. Note that this latter function
addElementToList() is provided for you. Examine its code to see that you understand it.
When you are ready to upload, your folder should contain the
You must upload your
hw06 folder to your
cs115-assignments folder, which is a subfolder of your
public_html one, on the
cs server. Your
cs115-assignments folder has permissions set so that only you and
the instructors/graders can see your work.
Make sure you check the page using the URL once you've uploaded:
When you visit the page, because it is protected, you will be prompted for a username and password. You should use your own account name and password for the CS server.
All the usual coding rules apply. See the style rules. Indent properly, use white space to make code more readable, and use comments to explain what effects is being achieved by a rule.
Remember that assignments may not be turned in late. This assignment is due at 11:59pm on the due date (check the schedule). Furthermore, remember that this policy means that you should not modify turned in work after the due time has passed, so that when we grade it, it's not time-stamped late.
Homework assignments must be your own work. You may not look at solutions from other students, either from the current offering or from past offerings.
These are the criteria we use to grade the homework:
- Homework was submitted on the server by the due date. Late submissions receive 0 points.
- Folders and files have the required names and are uploaded to the proper location.
- Your files have comments at the top and as necessary interspersed in the code.
- Your code follows our recommended coding style.
- You have not modified the original HTML page.
- The JS code produces correct results for any input.
Our tutors in the help room can help you with concrete problems and questions you have about the assignment, thus, go to the room prepared. If you find that you don't know how to start the assignment, you should visit the instructors during their office hours.