Help:COAP-3180

The educational technology and digital learning wiki
Jump to navigation Jump to search

<pageby nominor="false" comments="false"/>

Introduction

This is are resource 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

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

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 web pages
    • 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.


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

Classroom activity 1: Zoho Creator

Classroom activity 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

Topics Covered

Short overview of databases

  • What is a Database and how is it used in Internet applications ?
  • Relational data base management systems (RDBMS) and ownership of databases
  • MySQL (databases, tables and users): First contact with this RDBMS

Web applications

  • Application architectures / frameworks overview (recall of lesson 1)
  • WAMP/LAMP software bundles and applications, various options
  • Installation of web applications: First contact with that sort of procedure

Reading I suggest that you have a look at the following articles. Reading is not mandatory, but may help you understand some concepts and issues.

Classroom activities and homework

Software:

  • WOS portal (default system used in class, will run on a memory stick). The instructor will provide you with a default mix.
  • Wampserver (for those who prefer to work on their own portable)
  • An Internet hosting service with PHP/MySQL included in their offer (for those who prefer to start building projects on their own domain)
Homework

See homework 2

Week 3

Topics Covered

Portalware configuration (continued):

  • discussion of homework 2 and further configuration of Joomla (part 2 of homework 2)

Relational databases: Introduction to SQL (part 1):

  • Relational tables (principles)
  • Retrieving data
  • Definition of SQL tables and use of the phpMySQL tool
  • Short Overview of other RDBMS

Slides:

Reading:

Pick one of these. Some articles are presented as multiple pages (!)

Classroom activities Monday and homework

  • Learn how to use MySQL Admin (a web application to administer web databases) to create databases and tables
  • Create a simple 1-table MySQL database with a database administration tool and with SQL instructions
  • homework 3

Classroom activities Wednesday

  • web hosting
  • Databases and database user management with MySQL
  • Joomla installation and configuration

Week 4

Topics Covered

Relational databases

  • Introduction to SQL (part 2)
  • Modifying data

Working with PHP and MySQL

  • Principles of PHP programming
  • Simple PHP/MySQL interaction
  • Short overview of other application frameworks (.Net, J2EE)

Slides:

Reading

Reading is an option here, since I don't make learning PHP mandatory. Here are a few PHP and PHP/MySQL tutorials that can be found on the net. There exist many others.

  • PHP Tutorial (W3C Schools, includes a section about PHP/MySQL).
  • Williams, Hugh, E. (2002). Tips for Building Web Database Applications with PHP and MySQL, onLamp article (O'Reilly Databases). HTML

Software:

Classroom activities and homework

Monday
  • Generation of a simple web application with a code generator. This homework is a follow-up of homework 3 (part 2), i.e. this time we will see how to create a web interface to your little database.
Wednesday
  • Discussion and presentation of homework 1 (final),
  • Discussion and presentation of homework 2 (Joomla, almost final).
  • Discussion of homework 3, part I (application you plan to create and the table architecture, next step).
  • Some simple php programming activities (just FYI).

Week 5

Topics Covered

Introduction to XML databases (1)

  • Retrieving XML nodes with XPath

Reading

Recall of XML technology (if needed)

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

To be announced

Classroom activities and homework

  • Create or load a valid XML file (XML editor)
  • Retrieve nodes with Xpath
  • Write an XQuery file to retrieve a fragment.
Homework

See homework 4 (part 1)

Week 6

(provisional)

Topics Covered

Introduction to XML databases (2)

  • Use of XML databases, presentation of the eXist XML database
  • Short recall of networking, web services and database connectivity standards
  • The REST API for eXist

Reading

Additional reading (optional)

Classroom activities and homework

  • Play with the eXist database
  • Retrieve documents with the REST interface
  • Add documents through the Java Admin client
Homework

See homework 4 (part 2)

Week 7

(provisional)

Topics Covered

  • XQuery (working with the eXist database - finally)
  • Database to XML Sources (short introduction)
  • Introduction to LDAP databases, authentication systems and address books

Reading

To be announced

Classroom activities and homework

  • Uploading xq files to eXist
  • Integration of an XML data source in a web page.

Week 8

Topics Covered

Exam

(there will be no Wednesday lesson)

Homework and exams overview

Breakdown

(revised version, adapted to small group teaching)

Homework 70%
Final exam 30%

Exams

There will be two exams counting each for 20%:

  • Midterm and final
  • Exams will be paper-based questions.
  • All materials will be allowed.

List of homework

(revised version, adapted to small group)

I will hand out about five homeworks and we will start working on it in class. Typically, a homework will extend over at least two weeks. During the first week you are asked to produce part 1. You then have to add extra features and/or make revisions. Only the final version will be evaluated. However, you may get minus points if you don't turn in part 1 versions.