CS 110 - Introduction to Internet Programming and Applications
Fall-2009
Classes: TR 11:00 am - 12:15 pm, 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: TR 10:00 am - 11:00 am, 12:30 pm - 2:00 pm 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 Vista
General 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
Blackboard Vista course management system available through CentralPipeline
(Student > Blackboard Vista > CS 354) or directly at https://vista.csus.ct.edu/webct/logon/459901910011.
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: Due dates will be placed for all labs and tests. Additional
material will be posted. Check the schedule regularly for updates!
-
September 1 - 3: Overview of the Internet and
the Web
-
Topics
-
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
-
Exercises
-
IP addresses and DNS: ipconfig, ping, tracert in DOS window
-
Client/server model: URL, protocols, file, http, ftp, telnet
-
Assignments
-
September 8 - 10: Overview of the Internet and
the Web (cont.)
-
September 15 - 17: 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
-
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
-
September 22 - 24: 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
-
Read Information
Retrieval and Web Search (pages 1-20) - Chapter 1 from Data Mining
the Web: Uncovering Patterns in Web Content, Structure, and Usage by Zdravko
Markov and Daniel T. Larose, Wiley, 2007.
-
Further reading (optional)
-
September 29 - October 1: Basics of HTML
-
Topics
-
Three views of Web pages: URL, browser display, and document
-
Web sites and Web pages
-
Text formatting: titles, breaks, paragraphs, emphasis
-
Exercises: Tryit
Editor, Edit page source in IE
-
Lab
3: Basic HTML text formatting
-
Assignments
-
October 6 - October 8: Basics of HTML (cont.)
-
October 13 - October 15: HTML Images and Links
-
October 20 - October 22: Web design
-
Topics
-
Website planning
-
Elements of Web design
-
Navigation elements
-
Layout design
-
Website and page design
-
Design tools
-
Testing and validation
-
Putting it altogether
-
Exercises: Using HTML editors
-
Microsoft FrontPage
-
Blackboard Vista HTML creator
-
Google Page Creator (googlepages.com)
-
October 27: Midterm Test (25%)
-
October 29 - November 3: 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, IE)
-
Lab 6: HTML document with tables
-
Assignments:
-
November 5 - November 10: HTML Frames
-
November 12 - November 17: HTML Forms
-
Topics
-
Data collection over the Web
-
Name/value pairs
-
Front and back ends
-
Communication cycle
-
Elements
-
Using forms
-
Formatting forms with tables
-
Formatting forms with layers
-
Exercises: Creating forms (Tryit
Editor, IE)
-
Lab 8: Create a web page with forms
-
Assignments
-
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
-
JavaScript
-
Topics: HTML scripts, JavaScript syntax, Statements, Comments, Variables,
Operators, If...Else, Popup Boxes, For Loop, While Loops.
-
Exercises: Tryit
Editor, IE
-
Assignments:
-
JavaScript
-
Final Exam (comprehensive, 25%)
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
-
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
-
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 18.23.0.23.
-
The browser makes a TCP (Transmission Control Protocol) connection to port
80 on 18.23.0.23
-
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>
-
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
-
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:
-
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
Lab 1: Using Vista course management system (graded
maximum 5 pts.)
Objective: Learn how to use Blackboard Vista course management system
What to do?
Write a brief essay (about a half page or 150-200 words) using Notepad,
Wordpad, or MS Word to explain the following:
-
Why you are taking this class
-
What Internet/Web tools and programs you are familiar with
-
What you expect to learn from this class
Due date: September 10
No later than September 10, 2009 11:59 PM.
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110 or https://vista.csus.ct.edu/webct/logon/459901910011)
to submit the file with your essay as an attachment for Lab 1.
Lab 2: Extracting information from web pages (maximum
5 pts.)
Objective: Learn how to extract different types of information from
web pages and use the Vista Mail tool
What to do?
Load the following web page: http://www.artsci.ccsu.edu/as_mission.htm
in a web browser and do the following:
-
Extract all plain text (text not associated with links) and copy it into
a text file (file extension ".txt"). Use Notepad to create the file.
-
Extract all linked text (text associated with links) and copy it into another
text file (file extension ".txt" created with Notepad). For each link include
the text, the corresponding URL, the protocol name, and the server name.
-
Extract all images and copy them into an MS Word document. For each image
include the corresponding link (if any).
Due date: September 17
No later than September 17, 2009 11:59 PM.
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110 or https://vista.csus.ct.edu/webct/logon/459901910011)
to submit all three files as attachments to a mail sent to Zdravko Markov
(markovz). Use the Mail tool in Vista.
Lab 3: Basic HTML text formatting (maximum 5 pts.)
Objective: Learn the basics of formatting HTML documents
What to do?
Create a simple web page (HTML document) that contains some basic information
about yourself or another person (real or fictitious). Your HTML page must
use correctly the following tags:
-
<html>
-
<head>
-
<title>
-
<body>
-
<p>
-
<br>
-
<h1>
-
<h2>
-
<h3>
-
<i>
-
<u>
-
<b>
Restrictions and implementation
Your HTML file must NOT include any HTML tags, not listed above. Use a
plain text editor (e.g. Notepad) to create the HTML file and test it in
a browser. Below is an example of a web page that conforms to the requirements
of this lab:
Due date: October 1.
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110) to submit the HTML file of your web page as an attachment
to Lab 3.
Lab 4: Structuring HTML documents (maximum 5 pts.)
Objective: Learn how to use font properties and structure HTML documents
What to do?
Add different background color and font sizes, faces and colors
to the web page created for Lab 3. Also, modify the existing text or add
more so that is uses lists. Your HTML page must use correctly the
following tags:
-
Background color
-
Font size (use at least three different sizes, absolute or relative)
-
Font color (use at least three different colors)
-
Font face (use at least three different fonts)
-
Ordered list
-
Unordered list
-
Nested list
Restrictions and implementation
Use a plain text editor (e.g. Notepad) to create the HTML file and test
it in a browser. Below is an example of a web page that conforms to the
requirements of this lab:
Due date: October 8
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110) to submit the HTML file of your web page as an attachment
to Lab 4 (a link is available at the class home page in Blackboard
Vista).
Lab 5: Create a web site with two web pages, images
and links (maximum 5 pts.)
Objective: Learn how to use images and links in HTML documents
What to do?
-
Create two HTML documents:
-
Take a part of the web page that you created for Lab 4 and move it into
a new page (HTML file)
-
Or create a new page that includes some information related to your original
web page.
-
Include at least one link in the original page to point to the new
one and vice versa by using the <a> tag. Use anchor text with
proper names (for example, "home page" and "favorite activities").
-
Include an external link in each of both pages that opens in a new
browser window.
-
Use the <img> tag to include two images in your web site
(one in each page):
-
One local image: create an image in Paint, use your picture files
or download a picture from the web. Use GIF or JPG format and save the
image file in the same drive or folder where the HTML files are located.
-
An image from the web: find an image on the web and use its URL
in the <img> tag.
-
Use width and height attributes in both <img> tags to
adjust the image size and the align attribute to align the image
properly with the text.
Restrictions and implementation
Use a plain text editor (e.g. Notepad) to create the HTML files and test
them in a browser.
Due date: October 15
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110) to submit all files for the web site inlcuding the two
HTML files and the local image file. Attach all files
as separate attachments to Lab 5 (a link is available at the class
home page in Blackboard Vista).
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.
Lab 6: Create a web page with tables, images and links
(maximum 5 pts.)
Objective: Learn how to use tables in HTML documents
What to do?
Create an HTML document that includes:
-
Page title
-
Document header (level 1)
-
A table with at least for cells
-
A picture with a caption below it in each cell.
-
The pictures should be included preferably as external links. If you use
local image files, they must use relative URL and be attached to the lab
submission.
-
The picture should be also a link to a bigger image that opens in a new
window.
-
The table should have a thick border and enough spacing between the cells
to separate the pictures.
-
Some text before and after the table
Restrictions and implementation
Use a plain text editor (e.g. Notepad) to create the HTML file and test
it in a browser. Below is an example of a web page that conforms to the
requirements of this lab:
Due date: November 3
What to submit?
Use Blackboard Vista (CentralPipeline>Student>Blackboard
Vista>CS-110) to submit the HTML file and the image files
(if you use local images). Attach all files as separate attachments
to Lab 6 (a link is available at the class home page in Blackboard
Vista).
Lab 7: Create a web site with frame-based navigation
and multiple pages
Not available at this time.
Lab 8: Create a web page with forms
Not available at this time.
Lab 9: Create an HTML page using a style sheet
Not available at this time.
Lab 10: Create a web page with Javascript (maximum
5 pts.)
Not available at this time.