Hugh Darwen
University of Warwick 
Department of Computer Science
Visiting lecturer

Office hours:  None, but arrangements can be made if you approach me after a lecture or by e-mail to hughdarwen@gmail.com


CONTENTS
CS252 Course Material
CS253 Course Material
Ideas for Projects (3rd/4th year, M.Sc., ...) 
  The Third Manifesto


CS252 Course Material

Updates made during 2009 presentation:
15 December 2009:
Added solutions to course work assignment 2009.
20 November 2009:
Added solutions to Worksheet 4 and exercises in lecture 9.
02 November 2009:
Revision to Lecture 9, Slide 19, and also the notes for that slide.
30 October 2009:
Added solutions to Worksheet 3 and exercises in lectures 4-6.
19 October 2009:
Added solutions to Worksheet 1 and exercises in lectures 1-3.  Also, corrected the error in the notes for Lecture 4, Slide 10 (as mentioned in the lecture).
14 October 2009:
Added exercise on user-defined types to Worksheet #4.
13 October 2009:
Minor corrections to Lecture 3, Slide 4, and also the notes for that slide.
12 October 2009:
Corrections to Lecture 2, Slides 14 and 15, to conform with Rel.
06 October 2009:
Correction to Lecture 1, Slide 16.
05 October 2009:
The errors in Hugh's book mentioned on 03 September have all been corrected but three new ones have come to light (see here).  If you find some more, do please report them to me!
03 September 2009:
Added link to Hugh's book (a free download) based on his CS252 lectures.  Also added an errata.

We are using a new version of Rel.  In case of any problems you may wish to study the Rel forum at http://shark.armchair.mb.ca/~dave/relforum/index.php, in the section named Report a Bug.

Lecture handouts (PDF) Slides (PPT) Notes keyed to slides (PDF)
0. Preface Slides 0
1. Introduction Slides 1 Notes 1
2. Values, Types, Variables, Operators Slides 2 Notes 2
3. Predicates and Propositions Slides 3 Notes 3
4. Relational Algebra, Part I   Slides 4 Notes 4
5. Relational Algebra, Part II Slides 5 Notes 5
6. Relational Algebra, Part III  Slides 6 Notes 6
7. Constraints and Updating   Slides 7 Notes 7
8. Database Design Issues I Slides 8 Notes 8
9. Database Design Issues II Slides 9 Notes 9
Worksheets (PDF) Worksheet solutions Solutions to lecture exercises
1. Exercises using Rel I  WS1 Solutions Exercises in lectures 1-3
3. Exercises using Rel II  WS3 Solutions Exercises in lectures 4-6
4. Exercises using Rel III WS4 Solutions Exercises in lecture 9
Solutions to course work exercises
Download Rel    
     
Tutorial D reference material 
(from Databases, Types, and The Relational Model, by C.J. Date and Hugh Darwen)
   
Description (Chapter 5 of the book)
not all of it needed for CS252!
Grammar in alphabetical order (Appendix I) Relational operator semantics (Appendix A)
     
Additional Material    
Hugh's book based on CS252, a free download from BookBoon.com Errata for this book
Questions on CS252 submitted by students, with Hugh's answers.  Feel free to add to this list!
Notes on SQL-style "subqueries" in Tutorial D
(beyond the scope of CS252 really)
  Why Performance Is Irrelevant (and therefore doesn't need to be considered in any of the exercises!)
Expected Learning Outcomes (to assist with exam preparation)   SQL counterparts of various Tutorial D relational operators.

Back to top


CS253 Course Material

Updates made during 2008 presentation:
Watch this space!

Lecture handouts (PDF) Slides (PPT) Notes keyed to slides (PDF)
How to Handle Missing Information Without Using NULL Slides Notes
Temporal Data and The Relational Model Slides Notes
The Askew Wall (SQL and The Relational Model) Slides Notes
     
Additional Material    
Hints regarding exam questions on Hugh's lectures 
Exercises on Temporal Data    
Past exam questions    

Back to top


Ideas for Projects (3rd/4th year, M.Sc., ...)

Various people around the world are engaged in prototype or "proof of concept" projects connected with The Third Manifesto (TTM).  A list of such projects is given on the projects page of the TTM web site.  One such project is Rel, the implementation of Tutorial D that we use for exercises and coursework in CS252.  Another is MighTyD, a 4th-year undergraduate project undertaken in 2005-6 by a team from this university and extended by a 3rd-year student in 2006-7.  Ingres D is a recent and very welcome addition, involving making a well-known industrial DBMS that already "speaks" two languages acquire a third one (based heavily on Tutorial D).

Owners of the following projects have expressed interest in collaborating with students, especially students who have attended modules CS252 or CS253 on further enhancements to their projects:

Ingres D
Rel
SIRA_PRISE
(its creator, Erwin Smout, has several suggestions, including evaluation)
Duro
Muldis Rosetta
Dee
MighTyD
(one original team member probably available for collaboration)

Further information on each one can be found at the aforementioned web page.

An additional opportunity exists, probably more appropriate for M.Sc. projects, in connection with Ingres.  Ingres is an SQL implementation recently made available as open source by its present owners, Ingres Corporation.  I am currently in discussion with contacts at this organisation who would like to see the existence of a TTM-conforming language interface as an alternative to SQL.  (Ingres was originally developed in the 1970s with a language called Quel, claimed to be significantly "more relational" than SQL.  The SQL interface was added later for obvious commercial reasons.)

I would offer to participate in the role of "customer" for any students undertaking projects inspired by The Third Manifesto.

Back to top

Material on FD analysis