Hacker News new | past | comments | ask | show | jobs | submit login
Enrollment for Stanford's online DB class now open (db-class.org)
147 points by roger_lee on Sept 25, 2011 | hide | past | favorite | 37 comments



To answer a few of the database questions that keep popping up in this thread:

1. Is it worth understanding relational algebra? Yes. Definitely. It's not that hard, there's more or less a one-to-one mapping of relational algebra to SQL. Relational algebra is both a useful mathematical tool and indispensable when trying to understand query optimization. Relational algebra is also necessary to be able to read pretty much any of the database literature, if that's one of your goals. (Just be thankful you don't have to learn Relational Calculus or Datalog.)

2. Is it worth learning XML features like XML DTDs, XPath, XML Schema, and XQuery? Yes, definitely. I don't like XML, but there are tons of places where you can use XPath. (The most interesting thing about XQuery is probably how similar it is to SQL, though.)

3. Is it worth learning about SQL triggers? Probably. Ultimately, the web development world is split between people for whom separation of concerns means doing more in the database, and those for whom separation of concerns means doing less in the database. If you think doing validation and transactions in the database is sensible, triggers are also a sensible thing to learn about. However, people like DHH disagree and want validation in your app server with a dumber backend.

4. Is this vocational training? Well, this is the first in a three class sequence at Stanford. This class is mostly about schema and query languages, so in some sense, it's the most useful to practitioners (or at least, non-DBA practitioners). The second class is about systems and implementation (on-disk layout, indexing structures, query optimization). In the third class, students either learn about distributed databases or actually build their own from scratch. However, schema and query languages have enough theory behind them, and enough generality, that I wouldn't consider it any more vocational training than a class on compilers.


Do you happen to know if the other two classes in this series will be available online as well?


Unknown.

However, the three classes are intended to match up with Database Systems: The Complete Book (which, in the interests of full disclosure, is written partly by my former advisor). If you want to learn the material from the second class, I would just read the book. I've actually read the book cover to cover, and I think it's one of the best textbooks for that purpose. There are tons of examples everywhere, it's pretty talkative, and there is very little pretension (insert Russell/Norvig complaint here). On the other hand, some portion of the Internet seems to take the opposite view (e.g., some people just view the talkativeness as repetition).


Fantastic, thanks for the info!



When do these officially start?


10 october for the ai-class, probably around the same date for the others classes.


Just as a reminder for folks, there's a spreadsheet of HN readers who are taking part in the classes at http://bit.ly/pLCRzg

There are 120+ HNers on there so you might find folks nearby you'd like to get in touch with.

Edit: Obviously, if you're doing any of the courses feel free to add your details too


I have always known that the "right" way of presenting dates is as "2011-09-25 23:52" for the sake of sorting. This spreadsheet has prompted me to think that the "right" way of presenting locations is actually "USA, NY, New York[, Streetname 1234]" for the same reason.


I'm inclined to agree. It was unordered before but looks like someone sorted it by location.


The problem with the new sorting is that it easily shows who's in the same city, but doesn't show who's in the same state. Yonkers, NY is not far from NYC, but is very far alphabetically.


I just realised that my previous post may have been a bit ambiguous. Just for completeness, what I meant was that the spreadsheet was previously unsorted (people would add their details at the bottom) and that someone came along and sorted it by location (presumably to make it easier for people to find each other). However, the sorting doesn't really solve the problem, as you correctly describe.

I made a new column and started adding details in reverse (e.g USA, NY). Admittedly I got a little bored so I didn't do everyone. Re-sorting on that column (if it's ever completed) would solve your problem.


I watched the first 6 videos and I have to say it is a bit boring. It feels more like vocational education on using man made contraptions than a university course. I was hoping for a course on how databases work: indexing structures (B-trees, COLAs), query optimizers, transactions, column vs row storage, etc.


I took this class from Prof. Widom at Stanford. It was...meh.

Are SQL triggers still relevant? How much relational algebra do you really need to know? I think I've used this stuff maybe once since then.


To answer your questions ...

1. Yes, they are. They're very useful for certain things. For example, want to update your fulltext index in Postgres after certain table cells change or when new rows are inserted? You'll need to use a trigger.

2. Knowing more rather than less is probably a good thing. Understanding the underlying model of relational data will help you build SQL databases that make sense given the data you're working with.

Of course, you won't use SQL in every project or job, but it's awfully useful. Ignore the hype that NoSQL is the wave of the future. It may be a wave of the future but so is SQL.


I love the course. But I'll admit, the XML section; I was fighting to stay awake.

And relational algebra? Com'on...


I haven't signed up for the DB class so I'm wondering: what's up with the relational algebra?


There's a section on it. My first reaction was "Good god.. NO!!!! Not relational algebra!".

After a cup of coffee I made through the 2 videos.


I don't get how to read the answer choices for this question:

<!DOCTYPE A [ <!ELEMENT A (B+, C)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (B?, D)> <!ELEMENT D (#PCDATA)> ]> Which of the following sequences of opening and closing tags matches this DTD? Note: In actual XML, opening and closing tags would be enclosed in angle brackets, and some elements might have text subelements. This quiz focuses on the element sequencing and interleaving specified by the DTD.

What does this mean for example? A B /B B /B C B /B D /D D /D /C /A


<A> <B> </B> <B> </B> etc.


Any idea why the AI class website looks so different to the ML and DB classes? It doesn't even use the same TLD, let alone have the same style.


It looks like the ML class is up too http://ml-class.org


Is it clear whether these open courses will be repeated in the future or if they are mainly tests before starting to charge ? It is wonderful that they are freely available but can it really be a permanent thing and what does Stanford gain ?


Stanford is a corporate trust charged with educating the public. These classes are in service to that. Isn't that enough?


It is more than enough. I am just surprised that this is doable at universities where "proper" students pay serious money for getting a degree.


Can I follow the advanced track at my own pace without being forced to participation? The advanced track of all of these classes seem to require participation, which I can't guarantee on their timeline right now.. (yay startup life!)


The XML quiz is quite annoying since it requires checking each answer against the DTD, but the DTD + answers are too big to fit on one screen even on a big monitor, so you keep needing to scroll back and forth.


I've tried searching for a list of Stanford's online open enrollment courses and haven't found anything. Is there a website that details their course offerings and a list of planned courses?


Love that you can speed up the videos to 1.5x (in the Flash version).

Don't love the Flash.

Like that an HTML5 alternative is offered for iPads, etc.


As I got told in the email as I enrolled–"The class will run from October 10 to December 12".


Yup, but also note this (from the home page, once you've logged in to the class):

The class has not yet officially started, but in this pre-launch period, you can begin looking at the first week of content so that you can see what's coming and get a head start.

Since there's already quite a lot of video uploaded (and three quizzes/assignments), I'm happy to get started early.


Hm, I meant it more to indicate when it ended ;)—also, the option to view the lessons at 1.2x speed is a godsend.


Yes, I am a huge fan of 1.2x speed. I find it easier to concentrate when the information is coming at me a little bit faster.


Enrolled in DB class, wish i could join AI too.


cool class even though I failed my EE qual session with Prof Widom :)


Awesome, thank you for posting this.


Thanks man this is an ultra cool subject!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: