COMP20 Web Programming

jump to course schedule … 

Course Description & Prereq’s

An introduction to techniques, principles, and practices of writing computer programs for the World Wide Web. Server and browser capabilities and limits. Media types, handlers, and limitations. Web programming languages and techniques. Web security, privacy, and commerce. Lectures augmented with programming projects illustrating concepts and current practice.

Prerequisites

COMP 11: Introduction to Computer Science

Suggested Skills

This is a course in web programming.  You do not need to know anything about the web- we will cover than in class.  But you should have solid grasp of programming concepts, and you should be able to create a moderately complex piece of code.  If you have any concerns, please talk to me!

Teaching Team:

Lisa DiOrio lisa.diorio@tufts.edu

TA’s

Angela – angela.maliakal@tufts.edu
Anju – anju.ishizaki@tufts.edu
Greg – gregory.pickart@tufts.edu
Kate – kclaw98@gmail.com
Max – maxwell.anavian@tufts.edu
Q – qijin.chau@tufts.edu
Sam – samuel.ewenczyk@tufts.edu
jun – jun_sung.tak@tufts.edu
PunPun – titapa.chaiyakiturajai@tufts.edu

Assessment

  • Quizzes:  25%
    Quizzes are given in class.  If you need to be absent for a quiz you MUST let me know in advance.  There are 7 quizzes.
  • Group Projects:  Midterm: 13%, Final: 17%
    Each member of the group will get the same grade
  • Weekly Assignments: 45%
    Weekly assignments will be posted the beginning of the week and due the following week on Tuesday – unless otherwise noted.
  • Extra credit
    • Given for special assignments or exemplary work
    • Counts toward assignment or quiz score – wherever you need it most

Grade Mapping

A    93+
A-   90-92
B+  88-89
B    83-87
B-   80-82
C+  78-79
C    73-77
C-   70-71
D+   68-69
D     63-67
D-   60-62
Below 60, fail

Assignment Deliverables

  • Please pay attention to the spec for each assignment
  • You may need to submit more than once in Canvas for different elements of an assignment – that’s ok
  • Important: Leave URL’s active throughout the semester
  • Test all work before and after submitting

Late policy for assignments:

  • 1 hour late: excused
  • 1 hour to 24 hours late  -5 points
  • 24 to 72 hours late:  -15 points
  • More than 72 hours – grade is 0

Communication & Assistance

Office Hours

TA Office Hours – located in Virtual Haligan within sococo.com. Look for the Comp20 TA Hangout and Comp20 TA room on Floor 1.
Sunday 1pm
Mon 9pm
Thurs 11pm
Fri  2pm

Instructor Office Hours 

Monday, Wednesday,  after class in the classroom zoom
Thursday, 6:30-7:30pm  – in sococo.com   Look for the Lisa D Office on Floor 2 – back, right corner.

Additional office hours available on request. Please post on Piazza.

Office Hours Policy:  Office Hours will last for approximately an hour.  If you need more time, it is at the discretion of the TA as to whether they can stay longer.
Important!  If no one shows up for an Office Hours slot within the first 45 minutes, the TA may end early.
You may request additional office hour time using Piazza or by emailing the instructor directly.

Piazza

Piazza course link:  https://piazza.com/tufts/fall2020/comp20/home

Zoom Links

  • Virtual Classroom:  https://tufts.zoom.us/j/96194007014?pwd=STk3czdtOVMyWTZMYlFIb2NIdUJRQT09
  • Office Hours (when needed): bit.ly/comp20fall20

Canvas

Assignments will be posted and are to be submitted using Canvas.
Make sure you have access!

Weekly Announcements

A slide will be posted for the first few minutes of each class with any important announcements or schedule updates.  Additional announcements may be posted on Piazza.

Course Schedule*

* note: schedule subject to change as needed

Week 1: Sep 9

  • Course introduction
  • What’s the point (why do we create web pages anyway)
  • What is a web page and how does it move through the internet to get to you
  • Front end vs Client side vs Server side
  • Usability and U/X
  • Things to worry about – Security and SEO

 Assignment – Set up for Course

Week 2: Sep 14, 16

  • HTML Overview
  • Structure of a web page
  • Tags, attributes, entities
  • Basic tags, images, links, meta data
  • Tables, forms, HTML 5
  • Setting up web hosting
  • Git and Github

Assignment – Basic Web Page

Week 3: Sep 21, 23

  • CSS
  • Basic CSS elements
  • Internal vs external stylesheets
  • Leveraging CSS cascade
  • Using inspect
  • Mobile and responsive design
  • Form project teams for Midterm and Final

Quiz
Assignment – Business Website

Week 4: Sep 28, 30

  • XML and related Technologies
  • Intro to Client-side programming using Javascript

Assignment –  XML Song List, Midterm Project

Week 5: Oct 5,7

  • Javascript language elements:   Operators, conditionals, loops, functions, objects
  • Javascript function library
  • Interactive design using Javascript

Quiz
Assignment – Joe’s Hotdogs
Assignment – Midterm Project 

Week 6: Oct 12, 14

  • Reading /writing onto the web page
  • The Javascript DOM
  • Javascript events
  • Data persistence (cookies)
  • Validating forms with Javascript

Assignment – Quick Pick, Amicable Numbers 

Week 7: Oct 19, 21

  • JQuery
  • Creating special F/X

Quiz
Assignment – Jade Delight 

Week 8: Oct 26, 28

  • Other JS client side technologies: React and Angular

Assignment – Using React

Week 9: Nov 2, 4

  • JSON and why it is important
  • JSON notation
  • Intro to PHP
  • Optimizing a site with PHP

Quiz
Assignment: Final project proposal
Assignment: JSON Set List, API Fun

Week 10: Nov 9, 10

  • PHP Programming
  • Using an external API
  • Overview of databases
  • SQL vs NoSQL databases
  • Working with an SQL/Relational database: MySQL

Assignment: Database Practice

Week 11: Nov 16, 18

  • Working with a NoSQL database: MongoDB

Assignment:
Quiz this week

Week 12: Nov 23

  • Node.js
  • Setting up a local dev server


Assignment:  Relax and Enjoy the Thanksgiving Holiday
Optional extra credit assigment

Week 13: Nov 30, Dec 2

  • Getting Node.js online
  • Connecting the dots-
    Node.js – MongoDB – Heroku

Assignment:  Node.js/mongo assignment

Week 14: Dec 7, 9

  • Deployment using Heroku
    Course Wrap up

Quiz this week
Assignment: Work on final project

Final Project Reviews – date TBD