elo
This is an old revision of the document!
Table of Contents
Expected Learning Outcomes
Using interactive pedagogy in lecture and experiential learning in the lab, the course covers the following topics:
- Infrastructure
Networks, Databases, and Markup Languages - Server-Side
Servers, Webapps, and Sessions - Client-Side
CSS, JavaScript, and DOM - Mobile Apps & Web Science
Mobile Apps and Web Science
The Expected Learning Outcomes [ELOs] are broken down per topic below. After completing a topic, the student is expected to be able to achieve the tasks listed after it. All assessment tools in the course are based on these ELOs.
INFRASTRUCTURE
NETWORKS
- Name the five layers in the Internet model (aka TCP/IP Protocol Suite), describe the role that each plays, and provide examples of the protocols. Justify the use of layers and explain the terms: protocol, MAC address, IP address, port number, DNS, state-less protocol.
- Given a computer, use tools to answer questions about its connectivity. The tools may include: wireshark, ping, tracerout; ip / if config, netstat; and DNS commands.
- Explain how HTTP works and describe its syntax, methods, and various headers. Use telnet to connect to a given http server and capture its response. Use firebug to analyze http traffic.
- Describe the four main goals of network security and provide a few examples of security attacks. Does HTTP/HTTPS enable us to meet any of the goals?
DATABASES
- Justify the need for DBMS given that all programming languages come with rich I/O libraries.
- Describe the syntax of the SQL SELECT statement and explain the significance of the various keywords, clauses, and functions associated with it.
- Given the URL of a database, use a frontend to connect to it and generate a report based on a given requirement.
- Given the URL of a database, write a Java program that connects to it via JDBC and retrieves information from, or adds a row to, a given table.
MARKUP
- Describe the syntax rules of xml and explain the difference between well-formed and valid. State the meaning of the terms: character data, whitespace, entity and character references, and an empty element, in the context of xml.
- Explain the relationship between xml and HTML.
- Create an HTML page with a specified content and presentation. The specs may involve lists, tables, and a variety of fundamental elements such as anchors and images.
- Create an HTML page that contains forms. Each form may include buttons, various input elements, and template text.
SERVER-SIDE
SERVERS
- Describe in general what web servers do, and explain in details the steps taken by a web server when a request for a static page arrives.
- Configure a directory so that Apache can serve its content when requested. Augment your configuration so that only users with accounts can access this directory through the web.
- Explain the relation, if any, between the goals of computer security and the terms: htaccess and DOS.
WEBAPPS
- Compare and contrast serving a static page versus a dynamic one. Explain the steps that a web server takes to respond to a dynamic page request.
- Write a CGI script that responds to a FORM according to a given functionality, e.g. determine if a parameter is a prime number after validating it.
- Describe how code injection works and demonstrate by building an example.
- Explain the meaning of the terms: phishing and spoofing in the context of web security and demonstrate by building examples.
SESSIONS
- Explain how cookies can be used to maintain a session over a stateless protocol. Describe other mechanisms for managing and persisting sessions.
- Describe multi-tier computing and state its advantages. Apply by building a 3-tier webapp that involves forms, session manage¬ment, and a database.
- Describe how SQL injection works and demonstrate by building an example.
- Discuss the relationship between cookies (or LSO's) and privacy.
CLIENT-SIDE
CSS
JAVASCRIPT
DOM
MOBILE APPS & WEB SCIENCE
MOBILE APPS
WEB SCIENCE
elo.1284086810.txt.gz · Last modified: 2010/09/10 02:46 by roumani