Help:COAP-3180: Difference between revisions
m (hw2) |
mNo edit summary |
||
Line 104: | Line 104: | ||
* Configuration of a portal in a WAMP system or with an [[web hosting service]] | * Configuration of a portal in a WAMP system or with an [[web hosting service]] | ||
* We strongly suggest to work with [[Joomla]]. If you think that you need another application, please discuss it with the instructor. | * We strongly suggest to work with [[Joomla]]. If you think that you need another application, please discuss it with the instructor. | ||
* For all practical tips, see the See [[Help:COAP-3180/ | * For all practical tips, see the See [[Help:COAP-3180/hw2|homework 2]] page | ||
Software: | Software: |
Revision as of 17:04, 4 November 2007
<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:
- Use simple Web 2.0 database services
- Manipulate data using SQL operations and create simple SQL databases in a DBMS.
- 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.
- Generate a very simple web application that can connect to a database management system (DBMS) through an ODBC API.
- Understand/recall XML basics, like converting text files to XML, editing an XML file using a schema and displaying XML data.
- Be able to query and update XML data files and XML Databases using XQuery and XQuery Update.
- 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
- Internet, the WWW and web databases
- Slides: http://tecfa.unige.ch/guides/te/files/webdatabases-intro.pdf (PDF, copies of the slides distributed in class)
(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
- Take an account with Zoho:
- Create a database with Zoho Creator
Classroom activity 2: Pageflakes
- Create an account with Pageflakes: :
- http://student.pageflakes.com/ (variant for students)
- http://www.pageflakes.com (variant for all other, the only difference is the initial choice of widgets, pick either one ....)
- 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 ?
- Types of Databases and database Models (short overview)
- 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 I suggest that you have a look at the following articles. Reading is not mandatory, but may help you understand some concepts and issues.
- Web Hosting Service (Wikipedia)
- Shared web hosting service
- LAMP (software bundle) (Wikipedia) - WAMP (this wiki)
- MySQL
Classroom activities and homework
- Configuration of a portal in a WAMP system or with an web hosting service
- We strongly suggest to work with Joomla. If you think that you need another application, please discuss it with the instructor.
- For all practical tips, see the See homework 2 page
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
(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
Classroom activities and 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
Classroom activities and 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
Classroom activities and 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
Classroom activities and 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
Classroom activities and 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 overview
Breakdown
Homework (six best) | 60% |
Midterm and Final exams | 40% |
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
I will hand out one homework/week and we will start working on it in class.