udacity and coursera – python editor, peer reviewing and complaining

Since I last blogged on the topic, I’ve taken an additional course from udacity and coursera. While I did learn from both courses, I took them largely because I wanted to see how they would handle certain aspects.

Udacity – CS 253 – Web Application Engineering (aka building a blog taught by a founder of reddit)

Feature #1 – a good inline Python editor made the interactive quizzes fun.  The homework got me to practice Python a lot to which was nice.  And there was exposure to a Python MVC framework for those interested although it wasn’t required.  It was also interesting to see what college students are taught about the web “these days.”  More emphasis on performance/scalability/ideas then 10 years ago when I graduated.

The time commitment wasn’t large.  The lectures were short snippets and easy to fit in.  The assignments were easy – probably because I already am a web developer – albeit not in Python.

The forums were good (stack exchange style).  Udacity structures things so the quizzes/assignments don’t count and are “self paced.”   They offer final exams every hexa-semester which is what counts toward the “certification.”  I find it more fun to stay with the initial offering because you get the benefit of discussion with other students exploring together.

Coursera – Human Computer Interaction

Feature #2 – Peer review/grading.  This was nice in that you got to see how others attempted the assignments.  And get feedback from real people.  It also lets the assignments go deeper since they don’t need to be reviewed by a computer.

The style of the course was similar to the SAAS one  with the addition of peer review and the removal of a required book.  Oh and the assignments were significantly longer.

Feature #3 – complaining

This isn’t new.  I blogged about it in March.  Both classes this time around had more complaining than in the past classes I have taken in this model.  Why?

  • Udacity – The inability to get a google app engine account internationally and ignoring the pre-requiste (Python) by students than annoyed they couldn’t follow the lectures were the big ones.
  • Coursera – Oh boy.  Where to begin.  Many people don’t like deadlines.  They don’t like peer review.  They want exceptions when the instructors said don’t ask for exceptions.  They are overly concerned about grades. There was too much work.  (This I think could have been communicated better.)   There were also plenty of constructive people in the forums.  Which meant reading through complaints to get to the good parts.

Anti-complaining

I wrote the following essay and posted in the coursera forum in response to “I don’t want to interview/take photos of my three test subjects and you are making me drop the course.”  As of today, it has 70 upvotes.  And a day or two after I posted the essay, photos were extra credit.  Which implies the staff do monitor the forums for legitimate comments.

Don’t. Here’s why – it reads like a flow chart. Higher options are better. The theme is to see how close you can come to the goal.

  1. Can you observe/interview three people and just not take a photo? Awesome! You’ve learned everything the instructors want you to learn. You just don’t have evidence of the fact you did it. But from a learning point of view, you are set!
  2. Can you interview one person in person? Can you interview a person online and take a picture of the screen? – If so, great. You still get some of the experience of observing/interviewing someone. And you get to do the brainstorming/finding inspiration based on real observations. Granted it isn’t as complete an experience as if you do the full assignment, but it is more of an experience than if you drop the class.
  3. Can you interview someone on the phone? Can you seek out a couple of volunteers in the forum to observe online or interview on the phone or even ask questions in the forum? – If so, great. You still get some of the experience of observing/interviewing someone. And you get to do the brainstorming/finding inspiration based on real observations. Granted it isn’t as complete an experience as if you do the full assignment, but it is more of an experience than if you drop the class.
  4. Are you so busy you can’t talk to a soul? Or maybe you are reading this on June 2nd and it is too late? Skip the observation step and move on to brainstorming phase. – Granted you miss a third of assignment. But you learn more about brainstorming for HCI and HCI inspiration than if you drop the class.

But wait you say. A requirement of the assignment is to observe and take photos as evidence. Well, let me ask you this – does the act of taking a photo make you learn more? Of course not. For observing, you do learn by really doing it. If you can’t meet the assignment criteria, getting as close as you can means you learn as much as you can.

Ok. But what about my grade you ask? This is a free online class. We are all enrolled because we want to learn. You don’t learn less because you’ve gotten a low score on one assignment. And as an added bonus, this class is essentially pass/fail. If you get about 80% or so, you get a certificate of accomplishment. Projects are 67% of that. This means that the decision to not provide photos or observe three people is at most 4-5% of your grade. Do well at everything else and you still have a pass on the studio track. Don’t do well enough on everything else and you have the apprentice track and a heck of a lot of knowledge and experience.

Finally, think back to school. Suppose you were in an English class where everyone had to see a play. You had to work or couldn’t afford to see the show. You did poorly on the one assignment, but tried your best at everything else. And you passed. Coursera is even better because the grade doesn’t count!

I always liked my “pass no credit” classes best because I got to learn without having to think about my grade.

Don’t fret. Don’t drop the class. Knowledge is the reward here.

no more sysdeo tomcat launcher on eclipse juno

I missed testing something big in my Eclipse Juno (4.2) review.  I tried out features and editors but didn’t actually start up my web app.  When I did that I, learned that Sysdeo doesn’t work with Juno.  And by that, I mean the icons don’t display and their website doesn’t say anything about Eclipse 4.2 support.  It didn’t say anything about Indigo (3.7) support either but Eclipse hadn’t changed enough to matter.

Which finally forced me to try out WTP’s server’s review.  It’s a lot like Rational Application Developer.  You have the Server view and right click to stop/start.  It’s fine, but I’ll miss the one click start a bit.

How to configure

  1. Add a new server runtime.
  2. Point it to already installed Tomcat 7 – /usr/local/apache-tomcat-7.0.14
  3. In server view, double click the server
  4. Change server location to “Use Tomcat installation” (we have CodeRanch configured to use the expanded war and be deployed to webapps automatically.)

How it works

It’s fine.  No complaints.  Not significantly harder than Sysdeo.  In fact, it is more similar to my work machine.  Sysdeo was a good ride for many years though.

eclipse juno (4.2) review

After my little adventure with Java 7, downloading Eclipse and configuring it was a non-event.

Downloading

The download site is smart enough to pick up on the fact that I am on a Mac and default to presenting me with choices of packages/bits for my OS.  I have to choose between Eclipse for JEE developers and Eclipse for Java developers.  The former has web tools and JEE tools.  The later has eGit and Maven.  It sounds easier to install eGit and Maven after so I chose the JEE edition.  It’s a 200MB download so I need to allow half an hour for download.  Time to do something else for a while.

Plugins

My plugin list is similar to what I installed for Eclipse 3.7 (Indigo).  In fact this year, I didn’t install them one at a time. I used the suggestion in last year’s blog comments and did:

  1. import > install > from existing installation
  2. Pointed to old eclipse
  3. Eclipse then gave me a list of what plugins I had installed and asked which I wanted.
  4. Accepted all the licenses and everything got downloaded/installed together.

Very cool! [last year I couldn’t do this because my Eclipse 3.6 was on a different computer]

The significant plugins I use: (I’ve installed a couple others over the past year and migrated those, but I’m not that attached to them.)

Plugin Purpose
Sysdeo Tomcat integration [correction – Sysdeo no longer works in Juno]
Ecl Emma Code coverage
PMD Static analysis
Subversive To access Subversion repositories
Groovy Groovy project/editor and console
m2Eclipse Maven – which I use more to play for downloading jar dependencies than for actually building
Freemarker IDE Freemarker syntax highlighting and macro assistance.

What excites me

  1. Java 7 support in an IDE.
  2. I really like that you can just start typing the method/field name when in quick outline (ctrl/cmd o) and quick hierarchy (ctrl/cmd t) pop-ups.
  3. Detecting resource leaks of Closeable/Autocloseable resources.  This is awesome because it helps with “old code” too. The common IO/JDBC resources now implement the relevant interfaces.  And the warning is smart enough to pick up on these!
  4. The global search bar gives you quick access to almost any Eclipse feature.  So if I type in “SVN”, I can go right to the SVN repositories view.
  5. When you drag a pane from one part of the IDE to the other, there is a green trim showing where it will wind up.

What frustrates me

  1. Detached editors (open in a new window) look really cool, but they feel awkward to use.  The way to open in detached mod is to drag outside the workbench.  Since I’m usually in full screen mode, this means drag to the OS icons at bottom.  Which is fine – I can get used to that.  The help says you can also get it by clicking “detached” in the menu you get when right clicking the part’s tab.  I don’t get anything by right clicking other than the option to close.
  2. This isn’t new, but HTML formatting is still not what I’d expect. Multiple HTML tags format on the same line and then split before the first attribute.  This isn’t new and it isn’t any worse than previous versions of Eclipse.  Which means I’ve gotten used to it on some level.

What I’m neutral on

  1. Very bright/white windowing – it’s fine, but going to take some getting used to.
  2. Code Recommenders – Intelligent code completion.  I think I’m only neutral because I haven’t gotten to try.  The concept looks really cool