Summer Intensive
Internet Technologies


Course Number - X52.9760
(Mon-Fri   9:00-5:00pm) - 48 Cooper Square

Announcement(s):

Instructor: Sam Sultan [sam.sultan@nyu.edu]
Class web site: [samsultan.com/webint] (or) [workshop.sps.nyu.edu/~sultans/webint]

+ syllabus
+ books
+ grades
+ final project
+ student listing
+ post a comment
+ demos HTML / SQL
+  JavaScript / PHP
+ student feedback
+ student evaluation & comments

Session - 1a   1b   1c   2a   2b   2c   3a   3b   3c   4a   4b   5a   5b   6a   6b   6c   7a   7b   7c   8a   8b   9a   9b   10a   10b  

Search. -
(Discussion topis)

HTML - CSS - Javascript - SQL - PHP - MySQL Manual - SFTP (download) - WAMP (download) - MySQL GUI (download) - MySQL Database

COURSE DESCRIPTION:

The course covers the fundamentals of web technology. It is an intensive 2 weeks course that covers many web concepts and tools including client side languages and technoplogies such as X/HTML, CSS, DOM, JavaScript and DHTML, as well as server side technologies and languages such as SQL using MySQL, and PHP, two of the world most popular web open source tools to create a data driven web site that is easy to publish and easy to maintain.

COURSE OBJECTIVE:

As part of this course, the student will be exposed to HTML and to the more recent and more structured XHTML and CSS. In addition the student will learn JavaScript, and will use all this knowledge to 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 and interact with the MySql database server. Students will also be exposed to the PHP scripting language, and will use that language to build their own data-driven web sites.

XHTML, CSS, JavaScript, MySql and PHP have become the world most popular languages and tools to develop web sites. They are currently being used by millions of web users across the internet.

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


BOOKS - (Required / Suggested)



GRADES AND GRADING POLICY

Your final grade will be based on the sum of the following:

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 (unless I am notified ahead of time), to participate in these sessions, to keep up with the class reading material, and to complete your homework assigments. This will ensure that you stay current with the class content, and will ensure that you get a good grade on your test(s), project as well as your final grade.


To receive your grades at the end of the semester, follow the instructions found at NYU SPS web page
http://www.sps.nyu.edu/student-affairs/continuing-education/policies-and-procedures/


SYLLABUS WITH LINKS TO NOTES

DATE SESSION TOPIC[s] COVERED
 
[Day 1] 1a
  • What is the Internet?
  • What is the Web?
  • Web hosting
  • Domain Name System
  • URL - Uniform Resource Locator
  • Relative vs. Absolute URLs
  • What is HTTP - Hypertext Transfer Protocol?
  • What is HTML? XHTML?
  • XHTML coding requirements
  • Using File Transfer Protocol FTP, SFTP
  • Web directory structure

  • Reading: Chapter intro, 1, 2 (HTML for the World Wide World)
     
      1b
  • X/HTML web page structure
  • The anatomy of X/HTML element
  • The HEAD section
  • the BODY section
  • X/HTML tags versus attributes
  • Basic X/HTML tags
  • Additional X/HTML tags
  • Formatting text
  • Adding list elements
  • Creating links to other pages
  • Internal anchors vs. external links

  • Reading: Chapter 3, 4, 7 (HTML for the World Wide World)
     
      1c
  • Using X/HTML -- beyond basic tags
  • Adding color to the web page
  • Specifying color
  • The RGB hexadecimal color scheme
  • Adding images to the web page
  • Turning an image into a hyperlink
  • Turning an image into an image map
  • The image formats, GIF, JPEG, PNG
  • Which format should I use?
  • Adding multemedia to the web page
  • The <object> and <embed> tags
  • Character entities
  • The <meta> tag
  • Refresh and redirect web pages

  • Reading: Chapter 5, 6, 17 (HTML for the World Wide World)
     
    [Day 2] 2a
  • Using X/HTML tables
  • The X/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 14 (HTML for the World Wide World)
     
      2b
  • X/HTML frames
  • What is a frameset?
  • What is a frame?
  • Controlling frame re-sizing and scroll bars
  • Nesting framesets
  • Targeting frames
  • Special targeting (_blank, _parent, _top, etc...)
  • Targeting to a new browser window
  • Creating inline frames

  • Reading: Chapter 15 (HTML for the World Wide World)
     
      2c
  • X/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 (HTML for the World Wide World)
     
    [Day 3] 3a
  • 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 X/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 9, 10 (HTML for the World Wide World)
     
      3b
  • 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 8, 11, 12 (HTML for the World Wide World)
     
      3c
  • Introduction to JavaScript
  • HTML and scripting languages
  • Where to insert JavaScript in HTML
  • The <script> tag
  • JavaScript variables and data types
  • Numeric and String operators
  • Comparison and Logical operators
  • JavaScript Arrays and Objects
  • What is an array?
  • Accessing array elements
  • What is an object?
  • Object properties and methods

  • Reading:   Chapters 1, 2 (Beginning JavaScript)
     
    [Day 4] 4a
  • Basic JavaScript programming concepts
  • The if statement
  • The else condition
  • The switch and case statements
  • The for and for..in loops
  • The while and do..while loops
  • The break and continue statements
  • The label identifier
  • Defining functions
  • Passing parameters and receiving data from functions
  • Variable scope and the var statement

  • Reading: Chapter 3 (Beginning JavaScript)
     
      4b
  • The Browser Objects
  • The Browser Object Hierarchy
  • The Window object
  • The History object
  • The Location object
  • The Navigator object
  • The Screen object
  • Opening up additional windows
  • Accessing other frames
  • JavaScript events and event handling
  • Setting up timers

  • Reading: Chapters 5 [first half], 7 (Beginning JavaScript)
     
    [Day 5] 5a
  • The Document Object Model
  • The Document object
  • The Image object
  • Creating an image rollover effect
  • The Form object
  • The elements Input object
  • Common properties and methods
  • The Select and option objects
  • Interacting with HTML form elements
  • Validating data entered in a form

  • Reading: Chapters 5 [second half], 6 (Beginning JavaScript)
     
      5b
  • DHTML - Dynamic HTML
  • Cross browser challenges
  • DHTML in early browsers
  • DHTML in modern W3C compliant browsers
  • The HTMLElement Object
  • Accessing HTML elements
  • Altering the content of HTML elements
  • Altering the style of HTML elements
  • Hiding and showing content
  • Finding a common denominator

  • Reading: Chapters 12, 13 (Beginning JavaScript)
     
    [Day 6] 6a
  • 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 10 (PHP and MySQL Web Development )
     
      6b
  • 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 10 (PHP and MySQL Web Development )
     
      6c
  • 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 10 (PHP and MySQL Web Development )
     
    [Day 7] 7a
  • 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 10 (PHP and MySQL Web Development )
     
      7b
  • 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
  • Entiry relationships
  • One-to-one relationship
  • One-to-many relationship
  • Many-to-many relationship

  • Reading: Chapter 8 (PHP and MySQL Web Development )
     
      7c
  • 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
  • Droping tables
  • Droping databases

  • Reading: Chapter 9 (PHP and MySQL Web Development )
     
    [Day 8] 8a
  • 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 10 (PHP and MySQL Web Development )
     
      8b
  • Introduction to PHP
  • PHP variables
  • Numeric and string operators
  • Comparison and logical operators
  • Working with Arrays
  • Control Structure and Program Flow
  • The if, while, for and each statements

  • Reading: Chapter 1, 2 (PHP and MySQL Web Development )
     
    [Day 9] 9a
  • Working with Strings & String functions
  • Working with Numbers & Numeric functions
  • Working with Dates & Date functions
  • Working with Arrays & Array functions

  • Reading: Chapter 3, 4, 5 (PHP and MySQL Web Development )
     
      9b
  • Accessing HTML form data
  • The GET and POST methods
  • Reading and Writing to Files
  • File Permissions
  • Inserting, Updating & Deleting from databases
  • Querying databases

  • Reading: Chapter 11, 18 (PHP and MySQL Web Development )
     
    [Day 10] 10a
  • The HTTP protocol
  • The Stateless Nature of HTTP
  • The Browser Request Packet
  • The Server Response Packet

  • Reading: Chapter 22 (PHP and MySQL Web Development )
     
      10b
  • Creating Continmuity on the Web
  • Repopulating Form Entry Fields
  • Using Hidden Fields
  • Using the end of the URL
  • Manipulating Cookies
  • Session Management and Session Variables

  • Final Exam
  • Final Project Delivery

  • Reading: Chapter 22 (PHP and MySQL Web Development )


    All contents © Sam Sultan.
    For more information, send e-mail to: sam.sultan@nyu.edu