SY306 - Spring 2017 Calendar

Course page

January 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3 4 5 6 7
8

Week 1 
9

10

Monday Schedule
11

Class 1: Course intro, HTML5 (filled-in slides)

Class 2: HTML5 Tables and Forms (filled-in slides)

Table 1 solution
Table 2 solution
Table 3 solution

Form 1 solution
Form 2 solution

w3schools HTML
12

Lab Topic Email Due 1300
13

Lab 1: HTML and redirection

Lab Guidance
14
15

Week 2 
16

ML King Jr Day
17 18

Class 3: Cascading Style Sheets (filled-in slides)

Ex 1 solution - HTML
Ex 1 solution - css
Ex 2 solution
Ex 3 solution
Ex 5 solution
Ex 6 solution
Ex 7 solution


Read CSS tutorial. At minimum read everything up to CSS Text, then read CSS Display, CSS Position, CSS Float, CSS Opacity

Blackboard Online Quiz Due at 1000
19 20

Lab 2: CSS and clickjacking

Lab 1 Due BEFORE class
21
22

Week 3 
23 24 25

Class 4: Intro to JavaScript

Ex 1 solution
Ex 2 solution
Ex 3 solution
Ex 4 solution

Class 5: JavaScript Functions and Arrays

Ex 1 solution
Ex 2 solution
Ex 3 solution
Ex 4 solution
Ex 5 solution

Read the w3schools JavaScript tutorial: everything up to (and including) JS Functions, then read JS Scope, JS Arrays, JS Conditions

Blackboard Online Quiz Due at 1000
26 27

Lab 3: JavaScript and clickjacking defense

Lab 2 Due BEFORE class
28
29

Week 4 
30 31        

February 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
      1

Class 6: DHTML

Register - uses inline JS
Register - event listener

Ex 1 solution
Ex 2 solution
Ex 3 solution

DHTML 2

Form validation

Read HTML DOM Intro, DOM Methods, DOM Document, DOM HTML, DOM CSS

Blackboard Online Quiz Due at 1000
2 3

Lab 4: DHTML

Lab 3 Due BEFORE class
4
5

Week 5 
6 7 8

Class 7: Regular expressions (filled-in slides)

Class 8: Cookies and Web Tracking (filled-in slides)

Read Regular Expressions
9 10

Lab 5: Web Tracking Lab

Lab 4 Due BEFORE class
11
12

Week 6 

X-week
13 14 15

6 week exam
Policy and Topics

Class 9: CGI and Python (filled-in slides)

Ex1 solution
16 17

Lab 6: CGI with Python

Lab 5 Due BEFORE class
18
19

Week 7 
20

Washington's Birthday
21 22

Class 10: Python and Java Script cookies (filled-in slides)

createCookie.py
readCookie.py


Ex 1 solution
Ex 2 solution
Ex 4 solution


6-Week Grades Due

Read w3schools JavaScript cookies tutorial, Python tutorial section "Using Cookies in CGI", and skim Python HTTP Cookies reference

Blackboard Online Quiz Due at 1000
23 24

Lab 7: Cookies

solution

Lab 6 Due BEFORE class
25
26

Week 8 
27 28        

March 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
      1

Class 11: Input Validation, XSS Attacks

Class 12: Cookies, Samy worm
2 3

Lab 8: XSS
Simple TCP server

Lab 7 Due BEFORE class
4
5

Week 9 
6 7 8

Class 13: Relational Model, SQL DDL, DML (filled-in slides)

http://www.sqlcourse.com
http://www.w3schools.com/sql/

Class 14: SQL Select intro

test data
queries handout
queries

Read w3schools SQL tutorial: everything up to and including SQL Delete, then read SQL Create table

Blackboard Online Quiz Due before class
9 10

Lab 9: SQL Intro
createMadisonImports.sql

Lab solution

Early Schedule

Lab 8 Due BEFORE class
11
12

Week 10 

Spring Break
13

Spring Break
14

Spring Break
15

Spring Break
16

Spring Break
17

Spring Break
18
19

 
20 21 22

Class 15: Python and MySQL (filled-in slides)

song.py
config.py
songPage_handout.py
songPage.py
Songs table

Class 16: Sessions and Authentication (filled-in slides)

Session handout

session1.py - create or continue a session
session2.py - continue a session
session3.py - delete a session

Read the Python-MySQL examples: connecting to MySQL, Creating Tables, Inserting Data, and Querying Data using Connector/Python
Read CGI Tutorial on Sessions: intro, Cookie based SID, The shelve module, Cookie and Shelve, skim the other parts

Blackboard Online Quiz Due before class
23 24

Lab 10: Python + MySQL

Project 1

Lab 9 Due BEFORE class (hard-copy and online at submit.cs.usna.edu)
25
26

Week 11 
27 28 29

Class 17: SQL injection (filled-in slides)

Class 18: MySQL and database security

Read SQL injections
Database security
30 31

Lab 11: SQL Injection Attack

Lab 10 Due BEFORE class
 

April 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
            1
2

Week 12 

X-week
3 4 5

12-week exam
Policy and Topics
Sample questions

6 7

Work on the project

Lab 11 Due BEFORE class
8
9

Week 13 
10 11

12-Week Grades Due
12

Class 19: Web protocols (filled-in slides)

Class 20: CSRF (filled-in slides)
13 14

Lab 12: CSRF lab
15
16

Week 14 
17 18 19

Project presentations
Project 2 starts
sy306_projectSecurityEval.docx


Project 1 Due BEFORE class
20 21

Work on the project

Lab 12 Due BEFORE class
22
23

Week 15 
24 25 26

Class 21: HTTP authentication (filled-in slides)

work on project 2
27 28

Surveys
Course wrap-up
Sample questions
work on project 2
29
30

Week 16 
           

May 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
  1 2

Last day of classes

Project 2 Due 0900
3


Reading Day
4

Final exam at 1330 in MI222 Exam topics
Sample questions

Exam Day 1
5

Exam Day 2
6

Exam Day 3
7 8

Exam Day 4
9

Exam Day 5
10

Exam Day 6
11

Exam Day 7
12 13

Final Grades Due
14 15 16 17 18 19 20
21 22 23 24 25 26

Graduation 2017
27
28 29 30 31