Help:COAP-3180: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 20: Line 20:
* Create simple database applications:
* Create simple database applications:
** create typed tables with web 2.0 services, enter data and connect these with your own webpages
** create typed tables with web 2.0 services, enter data and connect these with your own webpages
**
** generate very simple PHP/MySQL applications with generator software
generate very simple PHP/MySQL applications with generator software
** define simple tables with a web-based database administration software
* Install and/or use XAMP (Apache/MySQL/PhP) systems:
* Install and/or use XAMP (Apache/MySQL/PhP) systems:
** Simple web server configuration;
** get some insights on simple(!) web server configuration;
** understand how database systems like MySQL work;
** understand how database systems like MySQL work;
** understand what the PHP scripting engine can do (and its dangers).
** understand what the PHP scripting engine can do (and its dangers).
Line 79: Line 79:


===Week 2===
===Week 2===
'''Topics Covered'''
(provisional)
 
==== Topics Covered ====


'''Short overview of databases'''
'''Short overview of databases'''
Line 92: Line 94:
* WAMP/LAMP software bundles and applications
* WAMP/LAMP software bundles and applications
* Installation of web applications
* Installation of web applications
'''Reading'''
'''Reading'''


To be announced
==== Homework ====


'''Homework'''
Configuration of a portal in a WAMP system or with an Internet provider.


Configuration of a portal in a WAMP system or with an Internet provide
===Week 3===
(provisional)


===Week 3===
==== Topics Covered ====
'''Topics Covered'''


'''Relational databases'''
'''Relational databases'''
Line 110: Line 113:
* Relational tables
* Relational tables
* Overview of other RDBMS
* Overview of other RDBMS
'''Reading'''
'''Reading'''


To be announced
==== Homework ====
 
'''Homework'''


Create a simple 1-table MySQL database with a database administration tool.
Create a simple 1-table MySQL database with a database administration tool.


===Week 4===
===Week 4===
'''Topics Covered'''
(provisional)
 
==== Topics Covered ====


'''Working with the LAMP bundle'''
'''Working with the LAMP bundle'''
Line 135: Line 139:
Mid Term Exam
Mid Term Exam


'''Homework'''
==== Homework ====


Generation of a simple web application with a code generator. This homework is a follow-up of homework 3.
Generation of a simple web application with a code generator. This homework is a follow-up of homework 3.


===Week 5===
===Week 5===
'''Topics Covered'''
(provisional)
==== Topics Covered ====


'''Introduction to XML'''
'''Introduction to XML'''
Line 151: Line 156:
To be announced
To be announced


'''Homework'''
==== Homework ====


Create a valid XML file with an XML editor and modify an XSLT template to retrieve a fragment.
Create a valid XML file with an XML editor and modify an XSLT template to retrieve a fragment.


===Week 6===
===Week 6===
'''Topics Covered'''
(provisional)
 
==== Topics Covered ====


Introduction to XQuery and XQuery Update
Introduction to XQuery and XQuery Update
Line 166: Line 173:
To be announced
To be announced


'''Homework'''
==== Homework ====


XML database query exercise. This homework is a follow-up of homework 5.
XML database query exercise. This homework is a follow-up of homework 5.


===Week 7===
===Week 7===
'''Topics Covered'''
(provisional)
==== Topics Covered ====


Database to XML Sources
Database to XML Sources
Line 181: Line 189:
To be announced
To be announced


'''Homework'''
==== Homework ====


Integration of an XML data source in a web page. This homework is a follow-up of homework 3.
Integration of an XML data source in a web page. This homework is a follow-up of homework 3.


===Week 8===
===Week 8===
'''Topics Covered'''
(provisional)
 
==== Topics Covered ====


Authentication systems and address books
Authentication systems and address books
Line 199: Line 209:


Final Exam
Final Exam
'''Homework'''
None


== Homework and exams ==
== Homework and exams ==

Revision as of 20:54, 29 October 2007

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")

Introduction

This is aresource page for my Fall II 2007 Web Databases course (COAP 3180) at Webster University, Geneva. This page does not replace the official syllabus file, but it allows students to navigate more efficiently through the materials

Course level outcomes

At the completion of this course students will be able to:

  1. Use simple Web 2.0 database services
  2. Manipulate data using SQL operations and create simple SQL databases in a DBMS.
  3. Understand the architecture of a simple web application (HTML client / Web server / Script / Database). Be able use a LAMP/WAMP software bundle and install a web application.
  4. Generate a very simple web application that can connect to a database management system (DBMS) through an ODBC API.
  5. Understand/recall XML basics, like converting text files to XML, editing an XML file using a schema and displaying XML data.
  6. Be able to query and update XML data files and XML Databases using XQuery and XQuery Update.
  7. Understand the purpose of address and authentication servers and be able to use LDAP-based address books in an e-mail client.

These outcomes defined in the syllabus can be translated to more practical outcomes:

  • Create simple database applications:
    • create typed tables with web 2.0 services, enter data and connect these with your own webpages
    • generate very simple PHP/MySQL applications with generator software
    • define simple tables with a web-based database administration software
  • Install and/or use XAMP (Apache/MySQL/PhP) systems:
    • get some insights on simple(!) web server configuration;
    • understand how database systems like MySQL work;
    • understand what the PHP scripting engine can do (and its dangers).
  • Configure LAMP/WAMP-based applications (various kinds of portals):
    • Create databases and/or learn how to connect to a database with a user name and a password
    • Give the right answers to installation scripts
    • Configure the applications (modules, skins, users, etc.)
  • Repair data of web applications:
    • e.g. remove SPAM with SQL queries.
  • Extend applications with modules (know how to submit SQL code to a db management tool)
  • Understand various roles of XML in modern architectures, e.g.:
    • transform database output from XML to HTML;
    • learn XQuery/XQuery update basics.
  • Understand the role of LDAP and similar authentication/address book applications

... At the end of the course you should have acquired the necessary foundations to do this.

Program

This program is provisional and will be adjusted on a weekly basis.

Week 1

Light-weight databases and web 2.0

Topics Covered

(1) Introduction

(2) Web 2.0 vs. "traditional Internet"

  • An ever increasing amount of applications are available through the Internet. Many of these applications can be shared, others are by definition "social software" (e.g. wikis, youtube, flickr, blogs).
  • Reading: O'Reilly Tim (2005), What is Web 2.0, better take the print version.
  • Additional resources for those who want to explore this topic further: This wiki, e.g. start from the rich internet application article.

(3) Simple on-line database services

  • Learn how to create and use simple tabular databases with a web 2.0 service
  • Practical details are explained in the homework 1 page

Classroom activities and homework

Clasroom activitiy 1: Zoho Creator

Classroom activitiy 2: Pageflakes

  • Create an account with Pageflakes: :
  • Configure the first page as private page
  • Create a new page, import the Zoho database and make this page public (i.e. a pagecast)
Homework

See homework 1

Week 2

(provisional)

Topics Covered

Short overview of databases

  • What is a Database?
  • Types of Databases
  • Database Models
  • Relational data base management systems (RDBMS) and ownership of databases

Web applications

  • Application architectures / frameworks overview
  • WAMP/LAMP software bundles and applications
  • Installation of web applications

Reading

Homework

Configuration of a portal in a WAMP system or with an Internet provider.

Week 3

(provisional)

Topics Covered

Relational databases

  • Introduction to SQL:
  • Retrieving and modifying Data
  • Creation of SQL tables with MySQL
  • Relational tables
  • Overview of other RDBMS

Reading

Homework

Create a simple 1-table MySQL database with a database administration tool.

Week 4

(provisional)

Topics Covered

Working with the LAMP bundle

  • Principles of PHP programming
  • Simple PHP/MySQL interaction

Other application frameworks (.Net, J2EE)

Reading

To be announced

Tests

Mid Term Exam

Homework

Generation of a simple web application with a code generator. This homework is a follow-up of homework 3.

Week 5

(provisional)

Topics Covered

Introduction to XML

  • Crash Course introduction to XML and XSLT
  • Editing XML files using a schema (DTD and/or XML Schema).
  • Querying XML Documents using XPath and simple XSLT templates

Reading

To be announced

Homework

Create a valid XML file with an XML editor and modify an XSLT template to retrieve a fragment.

Week 6

(provisional)

Topics Covered

Introduction to XQuery and XQuery Update

XML databases

Reading

To be announced

Homework

XML database query exercise. This homework is a follow-up of homework 5.

Week 7

(provisional)

Topics Covered

Database to XML Sources

Working with Relational Data as XML

Reading

To be announced

Homework

Integration of an XML data source in a web page. This homework is a follow-up of homework 3.

Week 8

(provisional)

Topics Covered

Authentication systems and address books

Review of web application architectures

Reading

None

Tests

Final Exam

Homework and exams

Breakdown

Homework (six best) 60%
Midterm and Final exams 40%

List of homework

I will hand out one homework/week.