CS 110 - Introduction to Internet Programming and Applications
Fall-2014
Classes: MW 9:25 am - 10:40 am, 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: MTWR 10:45am - 12:00pm, 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;
-
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. Submissions 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: The CCSU honor code for Academic Integrity is
in effect in this class. It is expected that all students will conduct
themselves in an honest manner 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. You may find it online at
http://web.ccsu.edu/academicintegrity/.
Please read it carefully.
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.
Students with disabilities:
Students who believe they need course accommodations based on the impact of a
disability, medical condition, or emergency should contact me
privately to discuss their specific needs. I will need a copy of
the accommodation letter from Student Disability Services in order to arrange
class accommodations. Contact Student Disability Services, Willard Hall,
101-04 if you are not already registered with them. Student Disability Services
maintains the confidential documentation of your disability and assists you
in coordinating reasonable accommodations with your faculty.
Tentative schedule of classes, assignments and tests (by week)
Note: Dates for classes, labs and tests may change (see also
University
Calendar). Additional material may be posted. Check the schedule regularly
for updates!
-
Sep 3, 8: 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
-
Domain Name System (DNS)
-
Exercises
-
IP addresses and DNS: ipconfig, nslookup, ping, tracert in DOS window
-
Assignments
-
Sep 10, 15: Overview
of the Internet and the Web (cont.)
-
Topics
-
Client/server model: URL, protocols, file, http, ftp, telnet
-
Secure connection (HTTPS)
-
Network share (M: drive)
-
Blackboard Learn course management system
-
Exercises: URL, protocols, file, http, ftp, telnet, using the M: drive
and Blackboard Learn
-
Lab 1: Using Blackboard
Learn course management system
-
Assignments
-
Sep 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 (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:
-
Putting information on the web (text, links, images): create a simple web
page with Notepad, send it to a server and access it using a browser.
-
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.
-
Sep 17: Lab 2: Extracting information
from web pages
-
Assignments
-
Sep 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
-
Further reading (optional)
-
Sep 29, Oct 1: Basics of HTML
-
Topics
-
Three views of Web pages: URL, browser display, and document
-
Web sites and Web pages
-
HTML Editors
-
HTML Versions: HTML - HTML5
-
HTML tags and elements
-
Text formatting: titles, headings, breaks, paragraphs, emphasis
-
Exercises:
-
Create HTML documents with MS Word and Netscape Composer
- Tryit
Editor, Create/Edit HTML documents with Notepad
- Oct 1:
Lab 3: Basic HTML
text formatting
-
Assignments
- Oct 6, (No class on Oct 8), Oct 13:
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
- Oct 13:
Lab 4:
Structuring HTML documents
-
Assignments
- Oct 15, 20:
HTML Images and Links
- Oct 22:
Midterm
Test (20%)
- Oct 27:
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)
- Oct 27:
Lab 6: HTML document
with tables
-
Assignments:
- Oct 29, Nov 3:
Web page layout and navigation
- Nov 5, 10:
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)
- Nov 10:
Lab 8: Create a web
page with forms
-
Assignments
- Nov 12, 17:
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:
- Nov 17:
Lab 9: Create an HTML
page using a style sheet
-
Assignments
-
Read HTML tutorial (http://w3schools.com/html/default.asp):
HTML Styles (internal, external, inline)
-
Read CSS Tutorial (http://w3schools.com/css/default.asp):
Syntax, Selectors (element, ID, class), Background, Text, Font, List
-
CSS Examples (http://w3schools.com/css/css_examples.asp)
- Nov 18:
Submit Lab 9 (BB Learn,
Lab 9 link)
- Nov 19, 24:
JavaScript
-
Topics: HTML scripts, JavaScript syntax, Statements, Comments, Variables,
Operators, If...Else, Popup Boxes, For Loop, While Loops.
-
Exercises: Tryit
Editor, IE
-
Assignments:
-
Read HTML Scripts (http://w3schools.com/html/html_scripts.asp)
-
Read JavaScript Tutorial (http://w3schools.com/js/default.asp):
Introduction, Output, HTML Events (Click Event), Popup Alert, Syntax, Comments,
Variables, Operators, Conditions (If...Else), For Loop, While Loop.
- Dec 1, 3:
JavaScript (cont.)
- Dec 8:
Review of HTML and JavaScript
- Monday, Dec 15, 8-10am:
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:
-
HTTP. e.g. http://www.cs.ccsu.edu/~markov/
-
FTP or SFTP (File Transfer Protocol), e.g. ftp://ftp.andrew.cmu.edu/
or use an FTP client (ftp in command prompt or putty.exe).
-
File: accessing a local file, e.g. /usr/pages/mypage.html
-
Mailto (sending an e-mail from a Web browser), e.g. mailto:markovz@ccsu.edu
-
Telnet or SSH (establish an on-line connection to a remote machine): psftp.exe
(publish.ccsu.edu)
-
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 Internet (communication protocols, security, privacy)
-
The Web (Web documents, URL, clients, servers)
-
Web Browsers (features, use)
-
Email (tools, protocols, etiquette)
-
Developing Web Pages with HTML and Javascript programming
-
HTML text formating
-
Links
-
Tables
-
Lists
-
Forms
-
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)