Yes, it is called the "Eastern Economy Edition". However, if the book is not a standard textbook, the chances of you finding an EEE is slim.
HN user
sshrin
Thanks a lot for the explanation.
Thanks for this explanation. I understood most of it but could you explain why you should normalize using 1/sqrt(n) and why doing so makes the result converge in distribution?
He publishes all of his books at: http://greenteapress.com/
The .appspot.com subdomain tells us his site runs on Google App Engine.
Now, as it happens, I have some experience trying to get Java to compile and run on Google App Engine. Actually, at the outset I thought it was impossible because of the way the sandboxing works on App Engine (writes to the file system are disallowed and the javax.tools. package is not part of their white list). So straightforward approaches such as invoking the Java compiler from code will not work.
Here are various approaches that I have tried and the results:
1. Use Beanshell and approximate Java:
Beanshell is a scripting language for the JVM with Java like syntax. It also has a "strict" mode where it will behave like a strongly typed language.
Pros: you can run this on App Engine and can trust Google Engineers to worry about security of their sandbox. You also get the scalability of App Engine.
Cons: It is not really Java and language features like Generics are not supported. The error messages are also not as useful as what the regular Java compiler outputs.
2. Get users to compile code on their own machines and upload the .class file. Then write a class loader that will load this class and then execute whatever method you need to.
Pros: Works perfectly and no language issues.
Cons: The interactivity is lost to an extent. Also, beginners need to start worrying about installing Java and configuring CLASSPATH etc. from get go.
3. Use an in-memory compiler like Janino. Pros: Works like the Java compiler and error messages are useful.
Cons: it does not support generics and it also does not support other features like the for(String value : values) {} syntax.
4. Use Google App Engine as the front-end and then run a compiler-as-a-service somewhere else (Linode etc.).
Pros: Full language and you are in control.
Cons: You better know how to sandbox the code (chroot / SecurityManager etc).
5. Use Google App Engine as a front-end and outsource compilation and execution to some other service like Ideone.
Pros: Full language support and someone else worries about security issues.
Cons: Expensive (the Ideone API only allows 1000 free submissions per month).
If you know some other method, please let me know. I love trying to see how to make things work on App Engine (I learn quite a bit this way).
(minor edits)
The jobs section claims:
"Our website has over 50,000 monthly hits - programmers from all around the world visit LearnJavaOnline.org to increase their professional programming expertise in the Java programming language."
However, I notice that the domain was registered very recently (on 19-Feb-2013) and there are hardly 15 tutorials on the site and most of these pages are blank.
Edit: looks like this site is just using a template. Please see the OP's response to this comment.
You say 'trig comes up a surprising amount'. It would be great if you could give a few examples of these instances. I have always thought of trigonometry as one of the areas I really enjoyed in school but something I have never used ever since.
Is there a course on udacity that teaches you how to build apps on Google App Engine? They do have one on building web apps but it does not specify which platform they use (if any).
Google has had what they call "Google Apps Script" for quite some time. From the documentation page at https://developers.google.com/apps-script/guide:
"Google Apps Script gives users a new level of control over Google products. Now you can access and control Google Spreadsheets and other products using JavaScript scripts that you write yourself and can share with others. Unlike browser-based JavaScript, the scripts you write run directly on Google servers in order to provide direct access to the products they control.You can also use Google Apps Script from Google Sites."
This online code editor seems to be a new and improved UI for creating / editing apps scripts. That said, this editor isn't proprietary. A quick look at the source shows that they're using CodeMirror (http://codemirror.net/). We've tried out various code editors for unclassroom.com (where I work) and code mirror has been the best to work with in terms of features, ease of use and comprehensive documentation. The second version (CodeMirror2) is really top notch compared to other alternatives out there.
One difference between different linux distros and android is that, in the former case, end users recognize that software written for another distro may not work on their specific OS. In the latter case, however, end users (especially ones that aren't technical) think that they have the same OS (when in reality they all own phones with different levels of API support / compatibility) and are upset when a specific app does not work as expected on their device.
Thanks! Looks like Issue#6 has already been created.
Is there a way to style dynamically inserted <code> blocks (say inserted via an ajax call) after the page loads? I did not see an equivalent of the prettify() function of google-code-prettify that lets you do this. Looks great otherwise.
You are correct that we both teach programming and hence the blog post. That said, we've removed the pay wall for the PHP course and would appreciate your feedback. Thanks!
Sorry about that. We've identified a bug with how we handle the history state. Thanks for pointing out.
Thanks for your feedback. More info here:
http://blog.unclassroom.com/2012/03/getting-on-hn-front-page...
Point taken and thanks for your feedback. We've removed the pay wall for the PHP course for now until we fix the UI.
Thanks and you can also reach me at krishna@unclassroom.com.
We're actually moving to guest login and we will be removing the necessity to login but thanks for your feedback.
The login is required because otherwise we can't save and pre-load the code for you the next time you visit the same activity.
Edit: what I mean to say is the app itself is secure and so is our sandbox that runs the code and this is more of a UI issue that we'll fix immediately by removing the login prompt.
Edit: The paywall is going away as well :).
Great! Just got back from a break to see our site on the front page. Looks like one of our friends Kevin submitted it - thanks dude :).
That said, we're still very much in alpha so please excuse bugs (UI / otherwise) but we'd love your feedback.
You can also directly e-mail me at krishna@unclassroom.com or find out more at http://about.unclassroom.com/.
Also, just to be clear we have nothing to do with codecademy as zds has rightly pointed out in this thread. The title might be misleading so apologies in advance if it is. Unable to change it though.
Would love feedback!
Would a google (oauth) login in additon to Facebook connect solve the problem for most users OR is it necessary to also have an option to register an account?
As far as I know, the Stanford online courses are NOT the same as the ones listed on the SEE page.
They seem to be two different initiatives. I know for sure that the ones on the SEE page are recorded video lectures from the actual live classes.
Ideas for the hackathon at:
Their problem is more likely going to be great content not technology, don't you think?
Hopefully the author meant "life-time savings".
Are you looking to learn a specific framework or just the basic concepts? Have you tried projects at google code for examples?
Yes, I'm aware of that. However, you're talking about staying up-to-date with some project whereas I was referring to getting to know about new projects in your area of interest.
Thanks! Yes, the textbook as a reference frame makes a lot of sense and we do see that come up in user tests.
How would you find out the point at which users are likely to pay?
OP here.
We're an education startup and we want to inspire students to learn programming by making the initial experience fun and engaging.
Two key problems that we're trying to solve are:
a) Make learning to code fun & interesting:
To write interesting code, you need technical skills & domain knowledge. While students are currently taught the basics of programming, the lowest common denominator when it comes to domain knowledge happens to be math and so you have tons of exercises on displaying integers (0 to 100), or printing out the fibonacci sequence etc. This can be boring (not to mention many students already find math to be hard / boring).
We're replacing math with social data that students are intimately aware of (ie. their own social data). So on Code Pal, students will learn a for loop by listing the names of their Facebook friends (as opposed to printing out integers from 0 to 100 or some other similar, potentially boring, exercise).
b) Enable students to work with real world data:
Data in introductory assignments are usually fake and artificially generated. This is a pain for educators (they need to create this data) and it is boring for students. We allow students to work with real data and learn programming in the process. One huge side benefit is that we don't need to tell a student when there is a logic error. For example, if you have 500 friends and your program outputs 499 as the total count, you know there is an error. Another example: we have a Coke versus Pepsi assignment where we teach students the IF statement by asking them to use the number of likes the two drinks have received on FB to determine which drink is more popular.
-------- Addressing privacy: We don't ask for any extra Facebook permissions (except e-mail) and we don't store any data (again except e-mail). We request data from FB every time you run your code (that's the reason we require Facebook login). Also, we don't ask for a stream publish permission and so we can't (and never will) spam your newsfeed.
Will appreciate any feedback & feel free to ask questions.
Can you elaborate on why you think the results will be misleading? Does it have to do with data integrity issues of some sort?
Am really not sure why this app needs offline access to my data. I've developed Facebook apps myself and it is generally important to clearly specify why an app needs offline access unless the reason is obvious (say an iphone client where logging in each time might be a pain).
In most colleges in India, the instructor writes code on the blackboard (entire programs) that the students blindly copy into their notebooks. Then, they memorize these programs before the exam and reproduce them verbatim.
The sad part is students who really learn programming end up being penalized because their solution in the exam will differ from what was originally written on the blackboard (most faculty members are incompetent and therefore have no way of knowing whether a student's answer is correct or not unless it matches that supplied in some sort of an answer key).
The linked document is a scanned notebook from a student in one of the (supposedly) best colleges in South India. One look at that document will tell you volumes about what is wrong with CS education in India.