Live data from Hacker News

Learn SQL Interactively on Khan Academy

cs-blog.khanacademy.org

71–80 of 89 posts

Re: Learn SQL Interactively on Khan Academy

#71

It's great to see KA getting involved in teaching SQL - I really think there's too little SQL literacy out there amongst devs in general. I created http://pgexercises.com a while back, which goes up to some relatively tougher exercises. I'd be very happy to help out with KA's effort if it would be useful. Email is in my profile.

Oh, nice! I'll add that to our final article in the course, for folks that want to learn PostGres. I'm hoping this course is a starting off point for people, and they can get more advanced with non-KA resources.

Re: Learn SQL Interactively on Khan Academy

#72
post #2

This is great! I created http://sqlteaching.com , so it's wonderful to see Khan Academy's take. If anyone from KA would like to chat with me about SQL tutorials or anything else in general, feel free to reach out- rhc2104@columbia.edu

Hey. Thanks for this, it's absolutely fantastic.

Been using SQL for a while now but never got the hang of joins and could never find an easy guide for them. This was the simplest explanation I could find.

Re: Learn SQL Interactively on Khan Academy

#73

Could somebody confirm that SQLite is used to the course? By the way, this seems great!

Yep, confirmed. Here's a blog post by Brian who implemented the SQLite support in our editor: http://www.brianbondy.com/blog/id/168/sql-on-khan-academy-en...

Thanks pamelafox

Re: Learn SQL Interactively on Khan Academy

#74

This is great... but I am torn because, as someone who has spent a lot of time with databases, I feel like there are many mistakes that can lead to confusion. First, it's not teaching standard SQL, it appears to be teaching MySQL. That means any user who tries out any other system will immediately run into confusing error messages about the double quotes. Not ideal, and totally unnecessary -- sticking to standard SQL…

These are all artifacts from the fact that the implementation is based on SQLite, which does things this way.

Re: Learn SQL Interactively on Khan Academy

#76
post #56
post #48

So far my experience is that getting a SQL query correct is fairly easy and usually fun but that the real difficulty, e.g., for SQL Server, is for the rest: (1) Installation. Grim. Barbed wire enema. Wiped out my Windows boot partition requiring that I reinstall everything starting with the Windows DVD. (2) Security. The stuff with users , logins , etc. and nearly everything in SQL Server Management Studio was clear…

I haven't found that stuff overly difficult so far. http://downloadsqlserverexpress.com/ is a nice source to install SQL Server and Management Studio from, which also has a link to a blog post kinda mocking how ridiculously hard it is to find the installer on the Microsoft website. I also find it odd just how long it takes to install, versus Postgresql on Windows installing in like 5 minutes I think. I'm not sure wha…

Many thanks. Your post is a keeper.

I've got SQL Server working now with notes on how I did it and with some simple text files with SQL commands to be run with the Microsoft SQLCMD.EXE for setting security. For the connection string, I found something that is working and, of course, have it documented, saved, etc. To define the tables and columns, I have that also as just simple text in a file run with SQLCMD.EXE.

To keep SQL Server installation problems from ruining my boot main partition, finally I am good at using NTBACKUP to get a clean backup and know how to restore it. So, before doing anything like a SQL Server install, I will use NTBACKUP to save the main boot partition. If SQL Server messes up, then, boom, I will just restore the boot partition and start over with the SQL Server install.

The worst time with SQL Server installs it wasn't clear what the heck to click on, ended up with two versions installed side by side, tried to uninstall one, and ended up with a sick SQL Server that wouldn't do even the simplest things.

Another time I wanted SQL Server to use a database from an earlier install, and trying to do this got SQL Server sick. Trying to uninstall and reinstall ruined my boot partition.

But, as soon as I can get the other work done, I will get the first server computer for my "server farm", install some recent versions of Windows Server, SQL Server, IIS, etc. and go live. Then, with Windows Server, etc., I will be back into system management again.

Today I am fixing a bug in my Web site: I have two Web pages where they use

server.transfer

to send a user from one to the other, and I have a fairly elaborate session state to be saved in one page and restored in the next one (instead of Redis, wrote my own session state store with just de/serialization from/to byte strings of instances of my session state class and two collection classes). But going between the two pages I must have coded when half asleep and didn't get quite right. So fixing that now. Also putting in lots of documentation to make it clear just what is going on.

My wisdom in building a Web site with ASP.NET: Start with the class for the session state you want for your site. That is, concentrate on this data, with essentially global scope. The first crucial work is just being really clear on just what the session state data is to be.

The second most important thing is to be clear on just how ViewState works. ViewState is useful and can save some coding.

Third, in positioning things on the Web page, maybe make good use of instances of the class Place Holder.

Fourth, have clearly in mind all the data that is available from a post back -- some of that data can be useful.

Fifth, make good use of the ability to write data to the log file.

Last, have clearly in mind when routines

Page_Init

Page_Load

the button click routines

Page_Unload

etc. run.

After that, just keep it all simple and clear for the user.

Re: Learn SQL Interactively on Khan Academy

#77
post #32

Earlier quoted context omitted.

This is a question for English.StackExchange. http://english.stackexchange.com/questions/5265/an-sql-serve... http://english.stackexchange.com/questions/1016/do-you-use-a... That said... As a native English speaker, I can infer your pronunciation from which of the options of "a" and "an" you decide to use. FWIW, "an" is appropriate for any word starting with a vowel sound (whether or not it actually starts with a vow…

On some level, I think you can still apply the "starts with a vowel" rule for SQL, since in this case "S" is really standing in for "ess" (assuming you're not saying "sequel", which I've never gotten into the habit of doing).

It's even simpler. The "starts with a vowel" rule is about pronunciation. The spelling is entirely orthogonal. If you pronounce "SQL" as "Ess-cue-ell", it's "an". If you pronounce it as "sequel", it's "a".

Aside: the reason "an" is also sometimes used for word starting with an "h" is that the "h" in those cases is silent and the pronounciation therefore starts with a vowel (following the silent "h"). There are some style guides that recommend using "an" for words where the "h" isn't silent (or "a" for words where it is) but they're just being intentionally obtrusive.

Re: Learn SQL Interactively on Khan Academy

#78
post #4

Wow, KA hits another one in the outfield! The audio that highlights part of the code is awesome (much better than watching a passive video), and the fact that everything can be executed in real time is awesome. Good job!

Thanks! That environment is all open source, if you're ever looking for some OSS bugs to tackle :-) https://github.com/Khan/live-editor

Is the recording and playback of course content part open sourced somewhere?

Re: Learn SQL Interactively on Khan Academy

#79
post #10

Earlier quoted context omitted.

Serious question...what kind of developer can you be without knowing SQL?

Big Data Developers can use Spark, Cascdading or Pig to do pretty advanced data warehouse, analytics, ETL tasks. Web app developers accessing databases can use an ORM e.g. Hibernate to abstract away the SQL layer or use JSON to query MongoDB, CouchDB etc. You could write every application under the sun without knowing a single bit of SQL.

One can't seriously use an ORM without knowing SQL, because they all come with their own proprietary incomplete wrapper language (HQL, etc.). ORM simplicity breaks down the moment you push them even slightly hard.

Big data analytics is increasingly done with Hive's SQL dialect, or Impala, or Hawq. Beyond all of these, relational data modelling is an essential skill for anyone building server side applications if you have to deal with information management, whether you use SQL or not.

Re: Learn SQL Interactively on Khan Academy

#80
post #78

Earlier quoted context omitted.

Thanks! That environment is all open source, if you're ever looking for some OSS bugs to tackle :-) https://github.com/Khan/live-editor

Is the recording and playback of course content part open sourced somewhere?

The recording part is there as well, in particular https://github.com/Khan/live-editor/blob/master/js/ui/record... These slides give a little high level overview of that: https://speakerdeck.com/pamelafox/teaching-programming-onlin... (slide 26)
Post reply on HN