Computing for the Socio-Techno Web

CS115/MAS115 -- Spring 2019

This is a course about Web Technologies and the Social Implications of the Web

CS115 is for students who want a broad exposure to the fundamental concepts of computer science, but also for those that may want to major in Media Arts and Sciences (cross-listed as MAS115). Students get hands-on programming experience building Web applications using HTML, CSS and JavaScript. Given that most people experience the Web today using computer technologies from online networks (Facebook, Twitter, Wikipedia, etc), the technical topics are explored along with the social aspects of computing. We study the structure of the Social Web, and focus on a variety of cyberspace issues such as information availability, personal and group privacy, online security, critical thinking, online propaganda and manipulation, restricted resources, self-perception, and decision-making. No prior knowledge of computing is assumed.

About CS115/MAS115

Learning Goals in this course

  • Computational Thinking - Apply basic programming to solving problems.
  • Social Implications of Technology - Discuss and debate how the Internet and the Web impact individuals, communities, and society at large.
  • Information Representation - Describe how computers represent different kinds of information including numbers, text, image and video.
  • Critical Thinking - Conduct an evidence-based inquiry into the impact, context, and reliability of digital information on the Web.
  • Internet and Web Technologies - How computers work and communicate, and why you can be good at programming them using HTML, CSS and JavaScript.

Meet your instructors & tutors

Click here for CS115 drop-in calendar

CS115/MAS115 Spring 2019 tentative schedule

Please note that READINGS are due on the day they appear.
Check this page frequently, as it is subject to change.






Feb 18

Presidents' Day


Feb 20

Feb 22

Last day to drop a course


Mar 20

Take-home midterm due

Mar 21

Spring Break


Mar 22

Spring Break

Mar 25

Spring Break

Mar 26

Spring Break

Mar 27

Spring Break

Mar 28

Spring Break

Mar 29

Spring Break

Apr 15

Patriots Day

Apr 17

Apr 19

Apr 30

Lab 12: Assignment 5 Workshop

May 01

Ruhlman Conference


May 02

In-class presentations

Presentations over lunch! 12:35-1:30pm

Lunch will be served

May 03

Administrative details of CS115/MAS115

Prerequisites None, in terms of prior classes. But what is required is a desire to learn more about the socio-technological world you will live in.

Students cannot get credit for both CS115 and either CS110 or CS114, due to considerable overlap of material with these two courses.

Lectures and Labs Each week there are two 70-minute lectures that will introduce the main content of the course and one 70-minute lab with exercises to reinforce the lecture material and to develop general programming, testing and debugging skills.

Lectures are held on Mondays and Thursdays at:

  • 11:20am-12:35pm, Science Center 256 (Delcourt)
  • 1:30-2:45pm, Science Center E111 (Shaer)

Labs are held on Tuesdays at:

  • 8:30am, SC S160A (Kakavouli)
  • 9:55am, SC S160A (Kakavouli)
  • 11:20am, SC S160A (Kakavouli)
  • 1:30pm, SC S160A (Mawhorter)

In labs you will be working either with a partner, or individually. In general, be aware that labs contain more tasks than can reasonably be done in the available class time. At the end of the day of your lab, each student is required to submit whatever lab work they have worked on until then. These submissions will be part of the student's participation grade (see "Grading Policy" further down.)

Course Group Please verify that you are registered to the CS115-MAS115 google group. This group has several purposes. We will use it to make class announcements, such as corrections to assignments and clarifications of material discussed in class. We encourage you to post questions or comments that are of interest to students in the course. Please do not post significant amounts of assignment-related JavaScript code (i.e. more than one or two lines of code) in your messages on the group! The instructors and TAs will read messages posted in the group on a regular basis and post answers to questions found there. If you know the answer to a classmate's question, feel free to post a reply yourself. The course group is also a good place to find people to join a study group. You should plan on reading group messages on a regular basis.

Textbook We will be using a variety of books and resources. The good news is that you are not required to buy any material, though you may want to do so if you would rather read from paper instead of online. The material we will be using are:

Material from other CS courses CS115/MAS115 was designed by including some of the material that were previously taught in two other courses, CS110 and CS114. Occasionally, we may also reference material from other CS classes in this course if they are relevant to the current topic.

Class participation, Reading material, Quizes and Assignments: You are required to study the reading material assigned for each lecture before you come to class, and respond to a quiz assigned for the class. This is important since that way we can gear the classroom discussion towards the issues that you need to understand better. There will also be bi-weekly assignments that will test a deeper understanging of the material. Exam: There will be two midterm exams (see the schedule).

Final Project: A paper demonstrating your deeper understanding of the material will be due at the end of the semester. Here is the tentative description of the final project.

The dates of the assignments, quizzes, exam and final project are listed on the schedule. Please mark the dates in your calendars.

Grading Policy Your final grade for the course will be computed as a weighted average of several components. One of them is class participation that includes attending lectures, attending labs, doing the work, and actively participating in discussions. The relative weight of each component is shown below:

  • Assignments: 25%
  • Research Project: 25%
  • 2 Exams (one take-home midterm and one self-scheduled final): 25%
  • Quizzes and Class Participation: 25%
  • Total: 100%
This course complies with the Wellesley College grading policy. While that policy asks faculty to hold each 100- and 200-level course with 10 or more students to an average of no higher than 3.33, it does not require faculty to grade on a "curve." There is no arbitrary limit on the number of A's, B's, C's etc., and every student will be assigned the grade they earn and deserve according to the grading standards of the college.

Late Assignment Policy for any and all assignments, you could use a 48 hour extension, no questions asked. However, if those two extra days are not sufficient for you to complete the assignment, you are required to contact the instructor and discuss a plan for completing the assignment. We will work together to make sure that plan is a reasonable and effective so that it supports both your learning and your health.

If solutions to an assignment are distributed before you have turned in, you are bound by the Honor Code not to examine them.

How to succeed in the course:

  • Prepare to spend at least 12 hours every week.
  • Attend all lectures, quit all social media while in class.
  • Attend all labs, quit all social media while in class.
  • Read the assigned material and slides BEFORE attempting to do the quiz or the assignment.
  • Submit your quiz answers before class.
  • Read assignment description immediately, start thinking about it ASAP, not 1-2 days before it is due!
  • Start assignments early, be prepared to make mistakes.
  • Programming is a skill: The best programmer has made every mistake in the books!
  • Programming is hard: Do not blame yourself for your mistakes; just give yourself more time!
  • Ask for help. Go to office hours and drop-in hours, schedule a meeting with your instructor. We are here to help you.

Collaboration Policy

Here is overview on our collaboration policy, and it is followed by a more detailed explanation below:
  • Assignments: Rotating pairs of students
  • Project: Teams of 2-3 students
  • Exams: Absolutely no collaboration

Collaboration on Assignments

We believe that collaboration fosters a healthy and enjoyable educational environment. For this reason, we encourage you to talk with other students about the course material and to form study groups. Programming assignments in this course can be challenging. Also teamwork is the norm in the CS industry. Given the above, some of the assignment work is required to be done with a partner, while some is required to be done individually. In each assignment tasks will be clearly marked as either "individual" or "pair-programming". The two team members must work closely together on the pair-programming tasks, and turn in a single hard copy of work they did together. Pair-programming tasks are subject to the following ground rules:
  • The work must be a true collaboration in which each member of the team will carry her own weight. It is not acceptable for two team members to split the work between them and work independently.
  • The fact that team members have to program together means that you need to carefully consider a potential partner's schedule before forming a team. You cannot be an effective team if you cannot find large chunks of time to spend at a computer together!
  • Working with different partners is a good way to build community in the class. We strongly recommend that you pair up with several other students during the semester.
Please check this document about the basics of pair-programming. In general, teams are allowed to discuss assignment tasks with other teams and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of others.

Each team or individual student must compose their own solution to each task

Discussing strategies and approaches with classmates and receiving general debugging advice from them is acceptable and encouraged. However you (and your partner) are required to write and debug all of your code. Furthermore, you should never look at another student's code. For example, it is OK to borrow code from the textbook, from materials discussed in class, and from other sources as long as you give proper credit. However, the following is unacceptable and constitutes a violation of the Honor Code: (1) to write a program together with someone not part of your team and turn in two copies of the same program, (2) to copy code written by your classmates, (3) to read another student's or team's code or (4) to view assignments, exams and solutions from previous terms of the course. In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.

Special Accommodations

If you have a disability or condition, either long-term or temporary, and need reasonable academic adjustments in this course, please contact Disability Services to get a letter outlining your accommodation needs, and submit that letter to me. You should request accommodations as early as possible in the semester, or before the semester begins, since some situations can require significant time for review and accommodation design. If you need immediate accommodations, please arrange to meet with me as soon as possible. If you are unsure but suspect you may have an undocumented need for accommodations, you are encouraged to contact Disability Services. They can provide assistance including screening and referral for assessments.

Disability Services can be reached at, at 781-283-2434, by scheduling an appointment online at their website , or by visiting their offices on the 3rd floor of Clapp Library, rooms 316 and 315.