> On Tue, 8 Nov 2005, Tyler Strickland wrote: >> At no time was a specific database mentioned or a query actually >> performed. All was theory. It was good theory, but when I actually >> wanted to start working with databases I found I didn't know much at all. >> I could design a solid fourth-normal-form database, but beyond that I was >> pretty lost. > > That was the impression I was given of the BYU database classes. Now I > want to make explicit that I think this is *exactly* what BYU database > classes *should* be teaching. Theory theory theory. The mathematical > models. Ideas and concepts.
To answer the question about the state of BYU's CS 452 class: My experience with BYU's CS 452 was a bit different than some of the other posters. We did focus heavily on theory, all the way up to 5th Normal Form, Prolog, and other "deep theory" stuff. However, our lab assignments consisted of some serious Oracle SQL. We were given English statements like "Find all the flights that do such and such after leaving through two consecutive airports in New York with a crew of less than 7." They were non-trivial. During the course of the semester, we had to craft about 60 hairy Oracle SQL statements (mostly SELECTs), including recursive SQL. That said, we didn't really get a stab at database design, even though we had to create several E-R diagrams (which incidentally, I think are pretty worthless). I had done a lot of Postgres and MySQL work prior to the class, but it still challenged me on a practical level. What I thought was missing from the class was an assignment requiring us to design a database given a set of requirements and write code to interface into the database. And then, to really test our metal: Change the requirements for a subsequent assignment and see how flexible our designs were. Now *that* would have been real world. At the same time, it would have taught us the importance of data integrity, constraints, normal forms, etc. --Dave /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */