Course Syllabus

Luyao Zhang, Instructor

  • Email: zhangluy@oregonstate.edu 
  • Please always use your OSU email to contact me.  The Canvas mailbox doesn't work very well. 
  • You must include the tag "CS 290 Spring 2018" in your email subject to get the quickest response from me. You should expect a response to emails within 48 hours. Emails sent over the weekend sometimes take longer to respond to.
  • Please post all course-related questions on the Piazza discussion board so the whole class may benefit from our conversation.  For grading questions, please contact the TA who graded your assignment and copy to the instructor.

Course Topics

This course is divided into three main sections which are largely addressed sequentially:

Layout and Styling
The first portion of the class focus on the static layout and styling of a web page (HTML/CSS). For some, this may be a review if you have done web publishing in the past. There is quite a bit of information to take in here but the problems to solve are not that intricate.
Client Side Interaction
The second portion of the class focuses on JavaScript and making interactive web pages in the browser. Things like forms that will display an error message if a password is too short or creating a drop down menus are things that will be covered in this portion of the class.
Server Side Interaction
In this portion of the class, we look at using a very simple database to store data between website visits. The technologies we will be using this term are Node.JS and MySQL. In addition, we look at how we can track a user and data from page to page which is a critical first step in designing more complex systems like shopping carts for an online shopping website.

Topics by Weeks

Week

Topic(s)

Due

1

Web Overview and Intro to Tools

HW1 Node.js and Git, Course policies quiz

2

HyperText Markup Language and Cascading Style Sheets

HW2 HTML/CSS

3

Introduction to JavaScript

Activity1 JS Environment, Activity2 JS Functions,    Activity3 JS Objects

4

JS Functions and Objects

Activity4 Fixing Closure Loop, HW3 Higher-Order Functions and Objects

5

JavaScript and the DOM

HW4 DOM and Events

6

JavaScript and HTTP (forms)

Activity5 Ajax Interactions, Project Proposal

7

Intro to Node.js

HW5 GET and POST checker

8

Sessions and HTTP

Activity6 Practice, Project

9

Database Interaction

HW6 Database interactions and UI

10

Wrap up

 

Final

 

Final Exam

Textbooks

Required: Eloquent JavaScript http://eloquentjavascript.net/

Optional: Jon Duckett's "HTML and CSS design and build websites", ISBN-13: 978-1118008188, ISBN-10: 1118008189

Assignments

This course has three types of assignments:

HW Assignment:
You will have six assignments this term, each is given one week to finish (except the last one, you will have 12 days).  You will write a website or make some functions working using required techniques to meet the constraints.  The assignments will be graded on how well they meet the requirements.
Activity:
The activities are graded as pass/fail (10/0) based on efforts.  You need to show that you did the required practice and tried your best to make the code working.
Project:
This is a research-based project.  You need to build a website based on the knowledge you learn in this course to meet some requirements.

Exam

This course has one proctored exam -- the final exam.  It will take place from Monday to Thursday on the finals week.

Grade Weighting

  • Activities/Exercise - 25%
  • Homework Assignments - 50%
  • Project - 10%
  • Final Exam - 15%

Grading Policy

Grade letter Percentage floor
A 93
A- 90
B+ 87
B 83
B- 80
C+ 77
C 73
C- 70
D+ 67
D 63
D- 60
F 0

 

Course Summary:

Date Details Due