Learning Design

Recently, I took a course called Fundamentals of Design at Code School. It’s an interesting course, but it’s a bit of a whirlwind — I think they could have a whole design track instead of just one course. (This course is part of their HTML/CSS track, but it isn’t really about coding and feels out of place there.)

The course introduces three main areas of design: Continue reading “Learning Design”

Every Student Should Learn to Code (Bonus: Learning Dvorak)

This video popped up on my radar this morning:

Sorry for not posting lately! Things have been pretty busy, and yesterday I challenged myself to relearn the Dvorak keyboard. All of a sudden, I’m a painfully slow typist. But I have promised to stick it out for another day or two, to see if I can get up to speed…

If you are looking for resources to learn Dvorak, I recommend the ABCD tutorial. A nice site for practicing words once you have learned the layout is Dvorak.nl. And there is a lot of information (and links) at The World of Stuff.

Resources for Learning SQL

I have spent the past couple weeks working on the SQL lesson for my database class. For the first (of four) practice sets on SQL commands, I felt like SQL was really kicking my butt. I didn’t have a good grasp of all the commands and how to put them together.

The lectures on SQL in my class were very … dry. They mostly consisted of the professor introducing a new command and then demonstrating how it worked, over and over, in different queries. There weren’t any breaks for us to try little problems. And there wasn’t any overview that helped us learn how to break down a problem. I imagined something like, “If you’re trying to find this kind of information, think about using this combination of commands,” or perhaps, “You need to find this information. Can you imagine how to build up to the right query? Start by formulating the query for X.” Instead, the lectures went more like this: “Let’s learn the JOIN command; here is how it works for this query. And here is how it works for this query. And here is how …”

After watching nine different lectures about SQL commands, I wasn’t always sure where to look for information about the specific problem I was trying to solve. So I turned to teh intarwebs. I found two really nice resources:

Continue reading “Resources for Learning SQL”

Using Relational Algebra to Select Based on Query Results

The title of this post is a bit misleading, but it just goes to show how important it is to ask the right question. The other day, I was working on a challenge homework problem that basically proposed this challenge:

Use relational algebra to find all schools that offer every class Spanish majors want to take.

(The actual problem was different, but I don’t want future students to find the answer just by searching for the homework question!) Assume we have two relations:

  • Relation S: A list of schools and the classes they offer.
  • Relation C: A list of students, their majors, and the classes they want to take.

At first, all I could imagine was that I needed to find every class Spanish majors wanted to take, and then use the results of that query to iterate over the list of schools. I couldn’t think of a different way to approach the problem … until I thought back to the approach I used in the maximum value problem I discussed yesterday. Continue reading “Using Relational Algebra to Select Based on Query Results”