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

MASY1-GC3540

Professor:Sam Sultan   [sam.sultan@nyu.edu]
Class website: [workshop.sps.nyu.edu/~sultans/dbweb] (or) [samsultan.com/dbweb]
Office hours: By Appointment
Course Days: Mondays - September 11 - December 11 (No class on 10/9. Makeup session 10/10)
Course Hours: 7:00pm - 9:35pm
Modality/Location: Online via Zoom

Announcement(s):
  • 11/30/2023 - The Final Project is due on Sunday December 10 midnight
  • 11/30/2023 - The Final Exam is on Monday December 11 @ 7:00pm through Zoom

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

    Session - 1a 1b 1c   2a 2b   3   4   5a 5b   6php / 6py1,6py2   7   8php / 8py1,8py2   9a 9b   10php / 10py   11   12   13php / 13py   14  
    Other... - Docs  

    Search -
    HTML - CSS - SQL - MySQL - PHP - Python - SFTP (PC) (MAC) - HTML*Tester© - PHP*Tester© - Python*Tester© - PythonWeb*Tester© - SQL*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:


    BOOKS:

    Required Reading & Materials -


    GRADE ASSIGNMENT AND EVALUATION:


    Details of Assignment and Evaluation. Grades are FINAL
    Please do not negotiate for a better grade. Professor will not provide any "redo" or "make-up" or "extra credit assignment" to make up for a low grade. If you are expecting to receive a grade of an "A" at the end of the semester, then I expect you to study hard, to attend all sessions (unless you previously notify me), to participate in all classes, 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.

    Please Note: Professor will not entertain any request for an assignment "redo" or extra credit assignment to improve grade


    NYU SPS Academic Policies and Grading Scale
    https://www.sps.nyu.edu/homepage/student-experience/policies-and-procedures.html#Graduate1



    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)
     
    [Week 1] 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)
     
    [Week 1] 1c
  • 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)
     
    [Week 1] 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)
     
    [Week 1] 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] 3
  • 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)
     
    [Week 2] 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)
     
    [Week 3] 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)
     
    [Week 4] 6php
    6py1,6py2
  • 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] 7
  • Midterm Exam (Covers sessions 1 through 6)
  •  
    [Week 4] 8php
    8py1,8py2
  • PHP and/or Python Functions
  • Working with Strings & String functions
  • Working with Numbers & Numeric functions
  • Working with Dates & Date functions
  • Working with PHP Arrays & Associative Arrays
  • Working with Python Lists & Dictionary functions
  • Creating your own functions
  • Variable Scope

  • Reading: Chapter 3, 4, 5 (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)
     
    [Week 5] 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)
     
    [Week 5] 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)
     
    [Week 5] 11
  • 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 6] 12
  • HTTP Protocol and Concepts
  • The Client Request
  • The Server Response
  • The GET and POST Methods
  • Accessing/Manipulating HTTP Headers

  • Reading: None
     
    [Week 6] 13php
    13py
  • 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)
     
    [Week 6] 14
  • Final Exam (Covers sessions 8 through 13)
  • 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