Final Exam (see Review Topics): May 9, 11:00 am - 1:00
pm
CS 110 - Introduction to Internet Programming and Applications
Spring-2013
Classes: TR 10:50am - 12:05pm, classroom: Maria Sanford
Hall 310
Instructor: Dr. Zdravko Markov, 30307 Maria Sanford Hall,
(860)-832-2711, http://www.cs.ccsu.edu/~markov/, e-mail: markovz at
ccsu dot edu
Office hours: MW 11:00am-12:15pm, TR 9:30am-10:45am, or
by appointment
Catalog description: Skill Area II Examination of physical infrastructure
of local and wide area networks, internet protocol implementation,
world-wide web interface programming, interactive Java applet, and
Visual Basic web programming.
Course objectives: Upon successful completion of the course the
student will be able to
- understand the basic concepts of the Internet, the Web and
online communication;
- use the basic features of web browsers, such as Internet
Explorer;
- use email, ftp, and Web search engines;
- understand the implications of Internet on society, such
as communication, commerce, crime, ethics, and privacy;
- create simple web pages using HTML and CSS;
- write simple programs using JavaScript.
No textbook is required, course material is provided in this
web page and in Blackboard Learn
Web Resources
Lab assignments and tests: There will be 10 lab assignments
and 2 tests (midterm and final). During lab assignments students
will work in class on hands-on problems. Students must work on each assignment
individually. Then they will submit the results of their work through
the class page in Blackboard Learn course management system available
at https://learn-ccsu.ct.edu/.
Grading: The final grade is based 50% on test grades(midterm
and final) and 50% on lab assigmnets and will be affected
by classroom participation, conduct and attendance. The letter grade will
be calculated according to the following table:
| A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D+ |
D |
D- |
F |
| 95-100 |
90-94 |
87-89 |
84-86 |
80-83 |
77-79 |
74-76 |
70-73 |
67-69 |
64-66 |
60-63 |
0-59 |
Unexcused late submission policy: Assignments submitted more
than two days after the due date will be graded one letter grade
down. Projects submitted more than a week late will receive
two letter grades down. No submissions will be accepted
more than two weeks after the due date.
Honesty policy: It is expected that all students will conduct themselves
in an honest manner (see the CCSU Student handbook), and NEVER claim
work which is not their own. Violating this policy will result in a substantial
grade penalty, and may lead to expulsion from the University.
Attendance: All students are expected to attend class sessions
regularly. In case of missed classes and work due to plausible reasons (such
as illness or accidents) limitted assistance will be offered. Unexcused absences
will result in the student being totally responsible for the make-up process.
Tentative schedule of classes, assignments and tests (by week)
Note: Dates for classes, labs and tests may change.
Additional material may be posted. Check the schedule regularly for updates!
- January 15, 17: Overview
of the Internet and the Web
- Topics
- URLs and IP addresses as unique Internet IDs
- Data and file transmission across the Internet
- Transmission protocols
- Internet connections
- Exercises
- IP addresses and DNS: ipconfig, nslookup, ping, tracert
in DOS window
- Client/server model: URL, protocols, file, http, ftp, telnet
- Assignments
- January 22, 24: Overview
of the Internet and the Web (cont.)
- January 29, 31: Web Browsers
and Email
Tools
- Topics
- Browser tasks
- Browser window structure
- Micorsoft Internet Explorer
- Managing browsers: cache, plug-ins, and customization
- Managing Web surfing: boomarks, privacy, and security
- E-mail protocols: SMTP, POP3, IMAP, MIME (chp03_final.ppt)
- Content, attachments
- E-mail clients versus Web-based e-mail
- E-mail software
- E-mail activities: receive, read, send, reply, autoreply,
forward, delete, organize
- Exercises:
- Using browsers: managing windows, identifying different
areas in the browser window (right click menu), saving/loading images
and files, viewing page source.
- Managing browser settings: bookmarks, cache, history, plug-ins,
cookies.
- Lab
2: Extracting information from web pages
- Assignments
- February 5, 7: Using the Web, Web Search
- Topics
- The Web Challenges (How to turn the web data into web
knowledge)
- Topic directories (Open Directory Project)
- Web crawlers and search engines
- Information Retrival
- Search techniques: words, exact phrase, Boolean operators,
title, site, url, link
- Web page ranking (Vector Space Model)
- Semantic Web
- Web security and privacy issues
- Hyperlink Based Ranking
- Exercises
- Assignments
- Further reading (optional)
- February 14, 19: Basics of HTML
- Topics
- Three views of Web pages: URL, browser display, and document
- Web sites and Web pages
- HTML Versions: HTML - HTML5
- HTML tags and elements
- Text formatting: titles, headings, breaks, paragraphs,
emphasis
- Exercises: Tryit Editor, Create/Edit HTML documents with Notepad
- Lab
3: Basic HTML text formatting
- Assignments
- February 21, 26: Basics of HTML (cont.)
- Topics
- Attributes
- Colors
- HTML Style, Properties (font-family, color, and font-size)
- Ordered list
- Unordered list
- Nested list
- Exercises: Tryit Editor, Create/Edit HTML documents with Notepad
- Lab
4: Structuring HTML documents
- Assignments
- February 28, March 5: HTML Images and Links
- March 7: Midterm
Test (25%)
- March 12, 14: HTML Tables
- Topics
- Structure and variables
- Layout design
- Rows and columns
- Headings and cells
- Rendering
- Nesting
- Tabulating data
- Formatting via tables
- Exercises: Creating tables (Tryit Editor, Notepad, IE)
- Lab
6: HTML document with tables
- Assignments:
- March 19, 21: Web page layout and navigation
- April 2, 4: HTML Forms
- Topics
- Data collection over the Web
- Active Server Pages (ASP)
- Name/value pairs
- Forms
- Input elements: text fields, checkboxes, radio buttons,
drop-down list, submit and reset buttons
- Formatting forms with tables
- Exercises: Creating forms (Tryit Editor, IE)
- Lab
8: Create a web page with forms
- Assignments
- April 9, 11: Cascading Style Sheets
- Topics
- Separation of Webpage content and formatting
- CSS syntax
- Linking CSS and HTML
- Inheritance and Cascading order
- Box model
- Font properties
- Text properties
- Content positioning
- Exercises:
- Lab
9: Create an HTML page using a style sheet
- Assignments
- April 16, 18: JavaScript
- Topics: HTML scripts, JavaScript syntax, Statements, Comments,
Variables, Operators, If...Else, Popup Boxes, For Loop, While Loops.
- Exercises: Tryit Editor, IE
- Assignments:
- April 23, 25: JavaScript
- April 30: Review of HTML and JavaScript
- May 9, 11:00 am - 1:00 pm: Final Exam (see Review Topics)
The World Wide Web
- A little history
- 1989, CERN: distribution of linked documents (nuclear physics)
- 1991, text-based prototype
- 1993, First graphical interface - Mosaic
- 1994: WWW consortium (CERN,
MIT): http://www.w3.org
- Underlying technology - the Internet,
History of Internet
- URLs and IP addresses as unique Internet IDs
- Data and file transmission across the Internet
- File protocols, compression and decompression
- Intranets and Extranets
- Internet connections
- Models of communication
- The Web - a client/server arcitecture
- The client side
- Web documents (pages) connected via hyperlinks (hypertext).
- Hyperlinks: highlighted strings in text or images.
- Browsers (text-based or graphical): tools for navigating
the WEB.
- Forms and Java applets
- The server side
- URL (Uniform Resource Locator): <protocol name>://<machine
name>/<file name>, e.g. http://www.w3.org/History.html
- Steps of fetching http://www.w3.org/History.html
- The browser determines the URL
- The browser asks the local DNS (Domain Name System) server
for the IP (Internet Protocol) address
- DNS replies with 128.30.52.37.
- The browser makes a TCP (Transmission Control Protocol)
connection to port 80 on 128.30.52.37
- It then sends a GET /hypertext/WWW/History.html
- The www.w3.org server send the file History.html
- The TCP connection is released
- The browser displays all the text in History.html
- The browser displays all the images in History.html
(new TCP connection for each image)
- Example of HTTP protocol in text:
C: telnet www.w3.org 80
T: Trying 18.23.0.23 ...
T: Connected to www.w3.org
T: Escape character is '^]'
C: GET /hypertext/WWW/TheProject.html HTTP/1.0
HTTP/1.0 200 Document follows
MIME-Version: 1.0
Server: CERN/3.0
Content-Type: text/html
Content-Length: 8247
<HEAD><TITLE> The World Wide Web
Consortium (W3C)</TITLE><HEAD>
<BODY>
<H1><IMG ALIGN=MIDDLE ALT="W3C"
SRC="Icons/WWW/w3c_main.gif">
The World Wide Web Consortium </H><P>
The World Wide Web is the universe of network-accessible
information.
...
</BODY>
- URL (Universal Resource Locator): a mechanism for naming
and locating Web pages
- <Protocol>://<DNS name of the host>/<File
name (with possible shortcuts, e.g. ~user)>
- Protocols:
- Using other protocols
- HTTP Browser <---> FTP server
- HTTP Browser <---> FTP Proxy server <--->
FTP server
- Proxy servers: translating protocols, caching pages, filtering
information
- HyperText Transfer Protocol (HTTP)
- Simple (GET without the protocol version) and full requests
- Methods (commands)
- GET: request to read a Web page encoded in MIME (Multipurpose
Internet Mail Extensions - adding a header to describe the encoding)
- HEAD: request to read a Web page header
- PUT: request to store a Web page (may include authentication
headers)
- POST: request to append new data to a Web page (e.g. posting
a message to a news group)
- DELETE: request to delete a Web page (may include authentication
headers)
- LINK: Connects two existing pages
- UNLINK: breaks an existing connection between two pages
- Writing Web pages in HTML
- The HTML language
- Standardized markup language: how the documents are to be
formatted and reformatted (e.g. LaTeX), contrasted to WYSIWYG (not standardized,
does not allow reformatting)
- Tags with parameters, e.g. <IMG SRC ="http://www.widget.com/image.gif"
ALT="AWI Logo">
- Hyperlinks:
- <A HREF="http://www.nasa.gov"> NASA's home page
</A>
- <A HREF="http://www.nasa.gov"> <IMG SRC="shuttle.gif"
ALT="NASA"> </A>
- Forms (HTML 2.0): two-way trafic between the page owner
and page user, <INPUT> tag. Example: Look-Up Classes
- CGI (Common Gateway Interface): a standard for handling
forms' data. Example: interfacing a database:
- Write a script (program) to interface between a database
and the Web
- Store the script in the cgi-bin directory under
an URL.
- When retrieves a page located in cgi-bin the HTTP
server executes the script.
- Put the script name in the ACTION parameter of the form.
- The browser invokes the operation specified in METHOD (usually
POST)
- The script is started and presented with the form input
data.
- After the database retrieval the script produce an HTML
file, which is sent back to the browser.
- This mechanism can be used to include selected ads in the
Web page depending on what the user is looking for.
- Java
- Applets
- Implementing highly interactive Web pages
- Running applications and using remote servers or databases
- Adding animation and sound to the Web page without spawning
and external viewer
- No need of standard for the Web protocols (HTTP, FTP etc.)
- The Java system for the Web
- A Java-to-bytecode compiler
- A browser that understands applets (<APPLET> tag)
- A bytecode interpreter
- Security issues
- Problem: running a program on the client's machine (possible
crash, collecting private information, consuming resources)
- Solutions:
- First barrier: strong typed language - array bounds checking,
no pointers (thus no memory access)
- Second barrier: bytecode verifier
- Third barrier: class loader (loading first system classes
before looking for user classes)
- Fourth barrier: security measures built in the classes,
e.g. file access class (asking user if the applet needs file access).
- Locating information on the Web
- The Web Challenges (How to turn the web data into web knowledge)
- Web Search Engines
- Topic Directories
- Semantic Web
- Crawling the Web
- Information Retrieval and Web Search
- Semantic Web
Midterm (25%)
Topics
- Internet and the Web
- Client/server model: URL, protocols, file, http, ftp, telnet
- Data and file transmission across the Internet
- URLs and IP addresses as unique Internet IDs
- IP addresses and DNS: ipconfig, ping, tracert in DOS window
- Web Browsers
- Browser tasks
- Browser window structure
- Micorsoft Internet Explorer
- Using browsers: managing windows, identifying different
areas in the browser window (right click menu), saving/loading images
and files, viewing page source.
- Managing browser settings: bookmarks, cache, history, plug-ins,
cookies
- Using the Web, Web Search
- Topic directories (Open Directory Project)
- Web crawlers and search engines
- Search techniques: words, exact phrase, Boolean operators,
title, site, url, link
- Web page ranking: content-based and hyperlink-based
- Basics of HTML
- Three views of Web pages: URL, browser display, and document
- Web sites and Web pages
- Text formatting: titles, breaks, paragraphs, emphasis
- Font size, color and face
- Background
- Ordered list
- Unordered list
- Nested list
- HTML Images and Links
- Pixels and resolution
- Image file format
- The image tag and its attributes
- Links
- The anchor tag and its attributes
Sample problems
- Multiple choice questions
Which of the following tags can be used to create a heading
A. <h1>
B. <h2>
C. <h3>
D. All of the above
- True/False questions
Each computer on the Internet has its own IP address
A. True B. False
- HTML coding questions
A. Add HTML tags to the following text so that
the browser displays it exactly as shown below:
This is heading level 2
Here we start a paragraph. This line is broken here
and then continues on the next line.
This text is shown in italics. This text is shown underlined.
The following is an ordered list:
- This is list item 1
- This is list item 2. It is further broken down into subitems
represented as an unordered list.
- This is list item 3
B. Write an HTML fragment to insert in a web page
the image from a file named "picture.jpg" in an area 100 pixels high
and 200 pixels wide.
C. Write an HTML fragment to create a link to the web
page with URL "http://www.ccsu.edu/" and link text "CCSU". The page should
open in a new window.
Final Exam (25%)
Review Topics
- The Web (Web documents, URL, clients, servers)
- HTML text formating tags
- Links
- Tables
- Lists
- Forms
- Web page layout (<div> tag)
- CSS (inline, internal, external)
- JavaScript
- Embedding JavaScript in HTML
- Syntax (statements, comment, functions)
- Input (prompt box, text field)
- Output (manipulating HTML elements, writing to the document output)
- Variables (numbers, strings)
- Assignments
- Operators (arithmetic expressions, + for concatenation and addition)
- Running JavaScript programs (order of execution, events, onclick
attribute)
- [Conditions (If...Else)]
- [While Loop]