

Google Code University - franze
http://code.google.com/edu/courses.html

======
davidmathers
From Introduction to Databases and MySQL:

 _Such keys make it possible to relate the tables to one another, so we can,
for example, find the customer information given a key value in the order
table. A foreign key is a key used to link two tables together. Typically you
take the primary key field from one table (customer) and insert it into the
other table (order) where it becomes a foreign key (it remains a primary key
in the original (customer) table). This type of structure is called a
relational database: we have multiple tables that connect to one another via
keys._

It's really jarring to see such wrongness published under the banner of
"Google Code University." I've come to terms with the fact that in the minds
of most web/MySQL programmers the term "relational database" means
graph/network database. But I still don't expect to see it published by the
denizens of a top engineering firm that hires only the best and brightest.

~~~
CodeMage
If you look closely enough, they didn't say anything incorrect. The name
"relational database" is the correct name for the structure they describe.
Their description might not be precise, but it's accurate.

Yes, the common misconception is that the word "relational" has to do with
relationships between the tables, where in fact it comes from the mathematical
concept of relations. However, the text you quoted doesn't claim anywhere that
the word "relational" has to do with relationships between tables.

~~~
davidmathers
_the text you quoted doesn't claim anywhere that the word "relational" has to
do with relationships between tables_

Hmm, I disagree.

 _This type of structure is called a relational database: we have multiple
tables that connect to one another via keys_

The emphasis here is on the connections rather than the tables. Why say
"multiple tables"?

In writing for beginners the author should just say something truthy like: "A
relational database is a database where all data is stored in values of an
algebraic data type called a 'relation'. SQL uses the word 'table' instead of
'relation', but the two words mean roughly the same thing."

~~~
CodeMage
This is why I used the word "claim". The sentence you quoted can be
_construed_ to imply that relational databases are relational because of the
relationships between tables, but it certainly does not _claim_ that.

I'm not merely nitpicking here, I'm trying to explain that what you perceive
as the author's mistake is, in fact, your interpretation. I do, however,
completely agree with you in that the text would have been better if the
author phrased it in such a way as to deliberately avoid the possibility of
that particular interpretation.

------
giu
It's an awesome collection of resources, really! I've worked my way through
Google's Python Class ([https://code.google.com/intl/de/edu/languages/google-
python-...](https://code.google.com/intl/de/edu/languages/google-python-
class/index.html)) for a crash course in Python, and it helped me quite a lot
so far.

~~~
nextparadigms
I did those, too. You should check out thenewboston's programming tutorials on
Youtube. They are awesome.

<http://www.youtube.com/user/thenewboston> or <http://www.thenewboston.com/>

------
fractalcat
I found myself in a startup last year with web applications to write and no
idea how to write them; a colleague pointed me to GCU. I didn't find it very
useful at the time, but in retrospect this was simply because I don't have the
attention span to watch videos and the textual content is pretty basic and
limited.

------
jeffreymcmanus
Dear web sites comprised of videos of lectures: videos of lectures are not
"courses" or "universities". In fact, the lecture is arguably the least
valuable part of a course or a university. Stop degrading the value of online
learning by pretending you're a university. Thanks.

~~~
brianpan
Wrong side of the bed? They didn't say it was an accredited university.
Learning is learning.

 _heads over to watch some videos_

~~~
jeffreymcmanus
So I'm allowed to throw together just anything and call it a university,
that's OK with you? All right.

~~~
brianpan
It's the internet. I won't stop you. But, honestly, are you really calling
this online resource of educational videos a _bad_ thing....because they dared
call it a university?!

No one is saying, hey future students, good news! You don't need to go to
university anymore because of code.google.com/edu!

~~~
jeffreymcmanus
I didn't call it a bad thing. I said it was purporting to be something that it
isn't.

------
nickik
Cool, didn't know there was so much stuff on distributed systems on there. (I
have like 100h of Videos I want to watch Interduction to Algorithems,
Multicore stuff, compiler courses and much more)

~~~
spacemanaki
What videos do you have on compilers? I looked around a few months ago for a
complete compilers course in video form but came up lacking.

~~~
nickik
I searched for a long time to heres my list: (I only watched half of the
Washington ones)

Washington Universaty:
[http://freevideolectures.com/Course/2827/CSEP-501-Compiler-C...](http://freevideolectures.com/Course/2827/CSEP-501-Compiler-
Construction)

MIT: (not all lectures) [http://ocw.mit.edu/courses/electrical-engineering-
and-comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-035-computer-language-engineering-sma-5502-fall-2005/lecture-notes/)

Edinburgh: Advanced Compiler stuff
<http://groups.inf.ed.ac.uk/vision/VIDEO/2007/CO/index.html>

Berkley:
[http://webcast.berkeley.edu/course_details_new.php?seriesid=...](http://webcast.berkeley.edu/course_details_new.php?seriesid=2011-B-26554&semesterid=2011-B)

~~~
spacemanaki
Thanks a lot!

------
arocks
Would have been much more convenient if they had converted all these Word
documents to a more multimedia-rich web format

------
singular
Aha! I didn't realise they had resources on algorithms, very nice, nice to
have some overview slides on the fundamentals.

------
swannodette
I find it humorous that the Programming Languages list only covers imperative
languages that are roughly similar in design.

Scheme mentioned here, [http://code.google.com/edu/submissions/ucberkeley-
parallelis...](http://code.google.com/edu/submissions/ucberkeley-
parallelism/index.html)

The following link,
[http://code.google.com/edu/languages/index.html#_java_racede...](http://code.google.com/edu/languages/index.html#_java_racedetect),
is even more fascinating. _It shows how to detect race conditions in
concurrent Java programs_. What does it use? JChord? What is JChord built on?
_Datalog implemented via Binary Decision Diagrams!_

Yet no classes on Logic Programming.

~~~
nandemo
It's written by Google. It's only natural that the material covers programming
languages used at Google.

------
giis
thanks for the useful link :D

------
wyclif
Has this not been submitted to HN many times before?

~~~
giu
I've queried Google for an old submission of GCU on HN, and the top comment of
the first found submission[0] (which is 250 days old) is by you complaining
that GCU has been submitted many times before. What a coincidence :)

[0] <http://news.ycombinator.com/item?id=1654440>

~~~
wyclif
Thanks, but there's nothing wrong with my memory. That only puts a fine point
on my comment: how many times does GCU have to be submitted before everyone
here "gets it"?

~~~
melling
Someone answered that question in the old post too by saying that every 6
months doesn't hurt. People will stop upvoting if they think it's old news.
Lots of stories get resubmitted on HN. The audience is probably growing. Lots
of new people weren't here 250 days ago?

~~~
jlind
This. I wasn't here 250 days ago and I'm always glad to find another solid
programming resource. I wasn't the first and surely won't be the last.

Besides, this type of link isn't necessarily a "news" story that will become
outdated.

