Master of Science in Management & Systems
Database Technologies for Web Applications

MASY1-GC3540

Professor:Sam Sultan [sam.sultan@nyu.edu]
Class website: [oit2.scps.nyu.edu/~sultans/dbweb] (or) [samsultan.com/dbweb]
Office hours: By Appointment
Course Days: Tuesdays & Thursdays
Course Hours: 6:00pm - 9:00pm

Announcement(s):

+ syllabus
+ outline
+ books
+ grades
+ final project
+ student listing
+ demos HTML / SQL / PHP / Python
+ homework submission
+ student feedback
+ student evaluation & comments

Session - 1a 1b   2a 2b   3a 3b   4   5a 5b   6php 6py   7php 7py   8   9a 9b   10php 10py 10b   11php 11py   12  

Search -
ITS - HTML 5 - CSS3 - SQL - MySQL - PHP - Python - SFTP (PC) (MAC) - HTML*Tester© - SQL*Tester© - PHP*Tester© - Python*Tester©
Site Helpful?

COURSE DESCRIPTION:

This course examines the database and related applications technologies that have come to be critical in the enablement of web-based applications. The course builds on your knowledge of the web by providing you with an in-depth study of database related concepts using the MySql database. The course will also examine how to connect the web to the backend database server using the popular scripting language PHP or Python.


COURSE LEARNING GOALS:

1. Course Objectives:

The course covers fundamentals of web technologies, database concepts, SQL, and the scripting language PHP and Python. Topics covered include creating client friendly html forms, designing and building databases, and using PHP or Python in conjunction with SQL to connect front-end web pages with back-end databases to collect, store, retrieve and present dynamically generated data.

As part of this course, the student will be exposed to HTML and the more structured HTML and CSS. The student will create web pages and web forms that collect and present data from the server. The student will be exposed to database concepts, and to the relational database model. The SQL language will be presented and used to design, build a database using the MySql database server. Students will also be exposed to the PHP and Python scripting language, and will use that language to build their own data-driven web sites.

MySql and PHP have become the world most popular open source products, and are currently being used by millions of web sites on the internet. Advance your career and learn how simple it is to use these two products to create your own data-driven web site

       The focus of the course will be on the following topics:

2. Student Learning Outcomes:


COURSE REQUIREMENTS AND POLICIES:

See [Requirements and Policies]


BOOKS:

Required Reading & Materials -


GRADE ASSIGNMENT AND EVALUATION:


Details of Assignment and Evaluation. NYU SPS Grading Scale

Grades are FINAL.

Please do not negotiate for a better grade. If you are expecting to receive a grade of an "A" at the end of the semester, then I expect you to attend all sessions, to participate in class, to turn in your homework on time, and to keep up with the class reading material. If you see yourself falling behind do not hesitate to ask for help. This will ensure that you stay current with the class, and will ensure that you get a good grade on your work.


COURSE OUTLINE:

DATE SESSION TOPIC[s] COVERED
 
[Week 1] 1a
  • HTML web page structure
  • The anatomy of HTML element
  • The HEAD section
  • the BODY section
  • HTML tags versus attributes
  • Basic HTML tags
  • Additional HTML tags
  • Formatting text
  • Adding list elements
  • Creating links to other pages
  • Internal anchors vs. external links
  • Adding images to your web page

  • Reading: Chapter 1-6 (HTML5 & CSS3)
     
      1b
  • Using HTML tables
  • The HTML Table structure
  • Using tables to display rows and columns
  • Using tables to layout your page
  • The <table>, <tr> and <td> tags
  • Spanning multiple rows and columns
  • Creating column groups
  • The <thead>, <tbody> and <tfoot> tags
  • Nesting tables
  • Wrapping text around tables

  • Reading: Chapter 18 (HTML5 & CSS3)
     
      2a
  • CSS - Cascading Style Sheets
  • Structure of a CSS rule
  • Advantages of using CSS
  • Inline, embedded and external CSS
  • Creating style sheets
  • Applying styles to your HTML
  • Inline vs. block-level tags
  • The <div> and <span> tags
  • CSS selectors
  • Class and Id selectors
  • Contextual selectors
  • Cascading and Inheritance rules

  • Reading: Chapter 7-9 (HTML5 & CSS3)
     
      2b
  • CSS Properties and Values
  • Test related properties
  • Font related properties
  • The element box model
  • Box related properties
  • Background related properties
  • Display and visibility properties
  • Positioning related properties
  • Relative vs. absolute vs. fixed positioning
  • Positioning elements in 3D using z-index
  • Specifying length units
  • Other media specific styles
  • Printing and controlling page-breaks

  • Reading: Chapter 10-14 (HTML5 & CSS3)
     
    [Week 2] 3a
  • HTML forms
  • Creating input fields
  • Creating radio and checkboxes
  • Creating selection and dropdown lists
  • Submitting a form. Where does it go?
  • About server scripts and programming
  • Saving and mailing your form content
  • The "Get" and the "Post" methods
  • Using hidden fields
  • Uploading files to a server

  • Reading: Chapter 16 (HTML5 & CSS3)
     
      3b
  • SQL - Structured Query language
  • DDL - Data Definition language
  • DML - Data Manipulation Language
  • SQL standard vs. vendor extensions
  • Our first database
  • The SELECT statement
  • The FROM clause
  • The WHERE clause
  • Comparison operators
  • Using SELECT DISTINCT

  • Reading: Chapter 2, 3 (Teach Yourself SQL in One Hour a Day)
     
      4
  • Selecting data from multiple tables
  • The join construct
  • Old vs. new join syntax
  • Normal or Inner join
  • Cross join - Cartesian product
  • Outer join vs. Inner join
  • What is a Self Join
  • Performance considerations

  • Reading: Chapter 5 (Teach Yourself SQL in One Hour a Day)
     
    [Week 3] 5a
  • SQL built-in Functions
  • Aggregate functions - COUNT, SUM, AVG, MIN, MAX
  • Arithmetic functions - ABS, RAND, ROUND, TRUNCATE
  • Character functions - CONCAT, LENGTH, SUBSTR, TRANSLATE
  • Date functions - Current date, date manipulation, date formatting

  • Reading: Chapter 7, 12 (Teach Yourself SQL in One Hour a Day)
     
      5b
  • The SQL SELECT Clauses
  • The FROM clause
  • The WHERE clause
  • Grouping with GROUP BY clause
  • The HAVING clause
  • Sorting with the ORDER BY clause

  • Reading: Chapter 4 (Teach Yourself SQL in One Hour a Day)
     
      6php
    6py
  • Introduction to PHP and/or Python
  • PHP/Python variables
  • Numeric and string operators
  • Comparison and logical operators
  • Working with Arrays
  • Control Structure and Program Flow
  • The if conditional statement
  • The while and for looping statements

  • Reading: Chapter 1, 2 (PHP and MySQL Web Development)
     
    [Week 4]
    7php
    7py
  • Midterm Exam
  • PHP and/or Python Functions
  • Working with Strings & String functions
  • Working with Numbers & Numeric functions
  • Working with Dates & Date functions
  • Working with Arrays & Array functions
  • Creating your own functions
  • Variable Scope

  • Reading: Chapter 3, 4, 5 (PHP and MySQL Web Development)
     
      8
  • Database Design
  • The Logical and Physical Model
  • Understanding data normalization
  • First normal form
  • Second normal form
  • Third normal form
  • Pros & cons of data normalization
  • Denormalizing data
  • Entity relationships
  • One-to-one relationship
  • One-to-many relationship
  • Many-to-many relationship

  • Reading: Chapter 8 (PHP and MySQL Web Development)
     
    [Week 5] 9a
  • Creating database objects
  • What is a primary key?
  • What is a foreign key?
  • What is an index?
  • Creating tables
  • SQL data types
  • Adding a primary key
  • Adding constraints
  • Creating Indexes
  • Altering table definition
  • Dropping tables
  • Dropping databases

  • Reading: Chapter 9 (PHP and MySQL Web Development)
     
      9b
  • Manipulating data in tables<
  • Adding data with the INSERT statement
  • INSERT with a SELECT statement
  • Changing data with the UPDATE statement
  • UPDATE with a SELECT statement
  • Removing data with the DELETE statement
  • DELETE with a SELECT statement
  • The TRUNCATE statement
  • The REPLACE statement (MySql)

  • Reading: Chapter 11 (Teach Yourself SQL in One Hour a Day)
     
      10php
    10py
  • Accessing HTML form data from within PHP or Python
  • Inserting, Updating & Deleting from databases
  • Querying databases with cursors
  • Delivering database data back to the browser

  • Reading: Chapter 11 (PHP and MySQL Web Development)
     
      10b
  • HTTP Protocol and Concepts
  • The Client Request
  • The Server Response
  • The GET and POST Methods
  • Accessing/Manipulating HTTP Headers

  • Reading: None
     
    [Week 6] 11php
    11py
  • Creating Persistence on the Web using PHP or Python
  • Repopulating From Fields
  • Using Hidden Fields
  • Using the End of the URL
  • Using Cookies in PHP and/or Python
  • Creating and Using Sessions in PHP

  • Reading: Chapter 23 (PHP and MySQL Web Development)
     
      12
  • Final Exam
  • Final Project Presentation


  • All contents © Sam Sultan.
    NYU SPS Master's Degree Program web site
    For more information, send e-mail to: sam.sultan@nyu.edu