subject

Profile

Prose Simian

Prose Simian
Rainforest
Bug-Chewing
Masters Degree

Programming Foundations with Python

Written 3 years ago
I just worked through this course (excluding the final project) over a couple of days. I agree with the other review that the paid version could be a worthwhile introduction to object orientation, for someone with a little Python experience but found it marred by some design decisions (see pros and cons).

IIRC this course was aimed to close a gap between udacity's CS101 and later courses (specifically Steve Huffman's web development course, CS253: https://www.udacity.com/course/cs253)

If so, a) the level is sorely mis-pitched, CS101: CS101 is faster paced, and conceptually harder.

b) after CS101, aside from a bit of exposure to inheritance, students probably mostly need some practice. The free version of course -unless you do project of your own- is too short to contribute much to that. (Rice's IIPP is far better in this respect.)

So sans project, this course may not be so helpful to someone with introductory Python experience.

Pros:

- careful, patient explanations of object orientation

- attention to verbal and visual cues so you know where it's going

- encouragement to read the docs, with a little background & interpretation of what you just read, to makes things less intimidating.

Cons:

- over-reliance on the external motivation of posting what you've done on the forums (which are effectively dead - like all the udacity forums, particularly since the dispensed with free certificates)

- over-reliance on extraneous elements, which allow the code to do something 'cool' but add unneccessary work/complexity.*

- at one point, displaying this complexity to the user, advising him/her to try to understand it**

- failure to develop some concepts within easy reach of what was covered.***



* Is it fair to make students jump through the hoops of registering for twilio, to send an SMS to a smartphone before discarding this example a few segments later?

** Specifically this:

https://s3.amazonaws.com/udacity-hosted-downloads/ud036/fresh_tomatoes.py

Is someone with introductory Python really supposed to grasp this melange of html + css+ javascript (inc bootstrap.js) + python (leveraging regexes, which aren't introduced in this course)?

*** Demonstrates calling the parent class method for init, but not in an overloaded child method; an obvious extension that would take seconds to explain.
My rating
Prose Simian partially completed this course, spending 6 hours a week on it and found the course difficulty to be easy.

Data Analysis and Statistical Inference

Written 3 years ago
I've had plenty (cough) of time to forget the basic statistical inference I did at high school. This was a great refresher (if a little repetitive - hypothesis tests vary mainly in relatively minor-seeming details). With a little prior exposure, it's not too time consuming. But at the same time it never degenerated - in the way of much stat inf pedagogy - into a pure exercise in plugging numbers into formulae; some questions were demanding enough to require significant headscratching and envelope scribbling

And judging by the quality of the materials (video, detailed learning objectives plus references to an open textbook - more or less optional given the copious lecture material and summary "learning objectives") & reactions in the forums, it's a great introduction for people without previous exposure to the topic, with the added bonus of a gentle introduction to R (via the excellent datacamp website should you prefer).

Thanks to Dr Mine, there is now no excuse for statistical illiteracy.

No.

Ex.

Cuse.

(Update: DASI has two tracks - with and without a project and R labs. The project is supposed to be necessary for a distinction, but I just discovered that with a high enough grade on the exams/quizzes, it isn't :)
My rating
Prose Simian completed this course, spending 4 hours a week on it and found the course difficulty to be easy.

Machine Learning

Written 3 years ago
Prof Ng simplifies ML as much as possible - and no more. In the complex arena of ML, that still leaves things fairly complex... But thanks to this course (which I'm 90% of the way through) I feel like I'll have a sufficient intuitive grasp of ML for vaguely sensible use of the many prebuilt libraries now available in the field.

This course should also provide a framework for coping with the remaining complexity entailed by deeper study, and motivation to brush up on the related mathematical tools, where necessary.

On the downside, there are some avoidable glitches in the course materials. For someone like me, new to Matlab/Octave, these significantly increase the time requirement for the coding assignments - which are clearly intended to be pretty simple if you know what you're supposed to be doing. This adds to the already high frustration level learning a new programming language/environment can entail. And presumably the course's attrition rate - a shame, because even with these flaws it's really very well done.

Deep Learning can wait Prof Ng - this deserves your attention! ML for the people!
My rating
Prose Simian partially completed this course, spending 7 hours a week on it and found the course difficulty to be medium.

UT.7.01x: Foundations of Data Analysis

Written 3 years ago
Impressions based on five (of 13) weeks materials: with a couple of caveats, this looks set to be a good intro to statistics, and particularly for getting used to using R for basic data analysis. The labs are lengthier, and more incremental than those accompanying DASI* (which I just completed). R-wise you get:

- a video showing you what to do,

- a pre-lab, essentially providing the code and detailed instrucions, with forgiving grading,

- a lab with leaa detailed instructions and harder grading - one try.

- often a quite briefly worded question based on the same data and type of analysis in the problem set.

This way you get to use the same R commands several times, with increasing independence. Not stressful & the repetition helps you pick up the commands, syntax etc.

MOOC MAKERS: THIS IS HOW INTRO COURSES SHOULD BE DONE.

Minor caveats:

1) forums are on PIAzza**. Initially I thought this was a pure PIA - EdX *has* forums. I'm now more equivocal: Piazza's forum-wiki hybrid works quite well. But regardless, you'll need to sign up & remember yet another login to use the forums...

2) too much reliance on written materials in some weeks: pdfs of texts from ck12.org, totalled 84 pages in week 2, buta averaged less. Lecture coverage is clear and engaging, but relatively brief & perhaps not enough for someone new to the subject to pick it up from. If you're familiar with the material, much of the reading may be optional. If not, and don't have a convenient/comfortable way to read/take notes (probably a tablet) this course may not be for you.

A Piazza poll indicated the MOOCmates agreed week 2's reading was excessive, but there's was less (~30 pages) set for weeks 3-5

*https://www.class-central.com/mooc/1349/coursera-data-analysis-and-statistical-inference

** https://piazza.com
My rating
Prose Simian is taking this course right now, spending 4 hours a week on it and found the course difficulty to be easy.

DCO042 - Python For Informatics

Written 3 years ago
Probably the gentlest introduction to programming for adults possible - so especially suitable for someone who feels a bit intimidated by computers &/programming - with a very helpful forum and a forgiving grading policy. Four stars because although it's well taught - Dr Chuck is really very good at explaining things* - it doesn't cover so much. But the relaxed pace makes it unlikely someone will 'hit the wall'- as can happen in faster-paced courses.

After a bit of Codecademy, Udacity's CS101 & Rice's IIPP - which both ramp up the difficulty more quickly - could be good followups.

*Seriously! He's got a 10 min video about Bayes' Theorem on youtube that finally enabled me to understand how to use it - after explanations in several other MOOC just left me confused.
My rating
Prose Simian completed this course, spending 1 hours a week on it and found the course difficulty to be very easy.

Exploratory Data Analysis

Written 3 years ago
A painful, dull offline course on plotting & clustering in R slapped online with minimal conversion like the rest of JHU's execrable Data Science specialisation*. Hard only due to the appalling pedagogy. (Have these guys heard of labs? Apparently not...)

*Which, tragically, is apparently one of Coursera's top moneyspinners. Sigh.
My rating
Prose Simian completed this course, spending 4 hours a week on it and found the course difficulty to be hard.

Mathematical Biostatistics Boot Camp 1

Written 3 years ago
Based on module 1 (of 4) pros:

- pretty well-explained despite quite complex subject matter

- quiz 1 was reasonable in difficulty

- ungraded practice homeworks

- 3 attempts for quizzes (reduces exam stress a bit)

- helpful CTAs

Cons:

- some lectures a bit long

- Prof Caffo digresses a bit in some

- the biggie: not enough practice questions (160 inc h/w & quizzes for whole course)

Perhaps very bright people can get a firm grasp of introductory math stats with only 160 practice questions in total (& worked solutions for only 80 of these). I don't think I can, but regardless this has the makings of a good refresher/intro if you have access to a textbook with more solved questions - I'm looking for a cheapo old edition right now!
My rating
Prose Simian is taking this course right now, spending 5 hours a week on it and found the course difficulty to be medium.

Preparing for the AP* Calculus AB and BC Exams (Part 2 - Integral Calculus)

Written 3 years ago
Based on first week: a little rough around the edges (no slides, quizzes timed, for no apparent reason) & not in itself a great way to learn AP (or UK A Level) integral calculus from scratch, but looks good for a refresher.
My rating
Prose Simian is taking this course right now, spending 2 hours a week on it and found the course difficulty to be easy.

StatLearning: Statistical Learning

Written 3 years ago
Good book, terrible MOOC.

First of all: huge kudos to Hastie and Tibshirani for their contributions to the field, and making their seminal books freely available. None of this is directed personally at them - it's difficult to design a good MOOC. Problems with this one:

- it's basically just a series of lectures presenting the ideas from the book

- without prior familiarity, or lengthy reading, these probably aren't adequate for groking the concepts

- the 'assessment' is less than cursory (a few sudden-death MCQs per week)

- the questions and content for the week are sometimes... loose.

- there's no real opportunity to practice concepts in a concrete way with feedback.

I'll certainly watch the lectures. But these have made their way to youtube, and the 'MOOC parts' weren't worth the signup on Stanford OpenEdu. :(
My rating
Prose Simian is taking this course right now, spending 4 hours a week on it and found the course difficulty to be medium.

Algorithmic Thinking (Part 1)

Written 3 years ago
Good course - comparable to the same professors' IIPP, but a little rougher round the edges - with a fairly challenging final project. One weakness was treatment of the relevant maths, which was a little sketchy.

Rated 1 (& not reviewed at greater length) because it was cynically switched to pay only - and the material split over two courses - with no warning. :(

My rating
Prose Simian completed this course, spending 7 hours a week on it and found the course difficulty to be medium.

Data Mining with Weka

Written 3 years ago
Pros:

- very clear, engaging lectures delivered by Prof Witten

- interesting data sets and quizzes

- practical emphasis course on *doing* data mining

- Weka software GUI-based & fairly easy to use

Cons:

- a little bit Weka specific, leaving a substantial learning curve if you need to use other tools.

Overall very interesting, helpful and thoroughly enjoyable. I plan to retake it and do the follow on course at the next opportunity.
My rating
Prose Simian completed this course, spending 4 hours a week on it and found the course difficulty to be easy.

Introduction to Computer Science and Programming Using Python

Written 3 years ago
This is a well-crafted, fast-paced introduction to Computer Science, though a little dry at times. I think it's based on the introductory 'CS for non CS majors' course at MIT.

The pace, relative complexity of some of the subject matter* and difficulty of a few of the exercises - I'm not a gifted programmer and I found a couple fairly challenging despite some background - might make it better suited as a second (or third) course for some, despite using Python (perhaps the easiest programming language to pick up). Rice's IIP or Udacity's CS101 - which I'd both done earlier - would both be good preparation (or fallback options, if you try this and find it too hard).

I just completed the final exam, which is untimed (you get a long weekend to complete it) & accounts for 25% of the grade). I seemed to test a pretty representative selection of the material, at a level comparable in difficulty to the homeworks.

*It includes introductory material on object orientation (including inheritance), recursion, data structures (trees) and algorithms (including big O notation, tree search).
My rating
Prose Simian completed this course, spending 6 hours a week on it and found the course difficulty to be medium.

Coding the Matrix: Linear Algebra through Computer Science Applications

Written 3 years ago
Now finished, I remain torn about this course. But I've bumped it up to four stars.

Positives:

- using Python

- having to use doctests (yes, seriously, I didn't really understand the funny comments preceded by >>> before this :s)

- building my own sparse simple matrix and vector classes

- GF2 ( = "binary arithmetic without the carry digit" when this hayseed finally figured it out)

- carefully crafted material and lectures

- linking lin alg concepts to applications (my faves: perspective correction, and factorising big numbers)

- multiple interpretations of matrix multiplication

- Prof Klein and TAs extremely active and helpful on forums

Negatives:

- no (freely available) text to go to for clarification

- lectures a little fast-paced

- several times lectures omitted steps, which left me agonising about whether I really understood what was going on for hours.

- quite a few errors in lectures

- abrupt changes in volume of lecture audio

- problems with submitting answers (grader tests are different to the doctests provided, and - because some of us didn't know the grader test case was available by running it with a flag - passing the doctests but failing the grader lead to a horrible sinking feeling)

- horrible marking scheme (pass/ distinction thresholds are applied by section, with lowest dropped, not to overall average. 20% late submission penalty made getting a distinction if more than one section was late was impossible, even with 100% unadjusted.)

perhaps just for me

- difficulty grokking proofs in lecture form (perhaps I just need to write them down & think about them more)

- using Python 3.x is a bit of a pain.

Overall, a somewhat flawed execution of an otherwise excellent idea. Unfortunately with flaws that made an already tricky subject quite a bit harder - so I hope they can be ironed out over repeated iterations.

But interesting, a MOOC I feel proud to have completed. Looking forward to retaking it - to make sure I really 'get it' - and the promised follow-ups from Prof Klein.

(EDIT: but not for quite a while; from the forum: "The follow-on course has not been scheduled yet. I'm not yet sure when it will run. I will announce on the codingthematrix mailing list. It will likely not be for at least a year due to an upcoming big project on my part.")

My rating
Prose Simian completed this course, spending 9 hours a week on it and found the course difficulty to be hard.

Applied Regression Analysis

Written 2 years ago
Applied regression courses are thin on the ground. And this course promises a follow up focusing on logistic regression. So despite misgivings about using Stata, the proprietary stats package the course uses (and provides a short term license for), I decided to give it a try.

Based on Prof Lemeshow's forum comments, the course is pitched at post-graduate level. I've seem regression before at this level, but my knowledge is extremely rusty (with a slight derust treatment applied in the form of Duke's excellent "Data Analysis and Statistical Inference" MOOC a few months back.)

I'm about half way through week 2 of this course, but "week 1" was mainly about installing Stata (more on that below). So these impressions are preliminary (in particular the 'easy' rating since obviously the first part is something of a stats review).

Installation on Stata on Linux was not straightforward, because the original instructions were 6 versions out of date. (Stata is on v13, the instructions were for v7!) Fortunately some better instructions including a critical workaround have now been posted on the forum. I hope these get adopted officially, because the debacle cost me several hours.

Prof Lemeshow says he teaches using Stata because it only takes a few hours to pick up. I'm yet to be convinced that it's significantly easier than R (in REPL mode). But I'm keeping an open mind.

The lectures are clearly recorded in class & lightly edited. Prof Lemeshow is a patient, good humoured teacher. But even this early on a glaring omission in the code shown during the lectures has made it impossible to follow along - without refering to the forum.

These kinds of rough edges, if repeated can be very time consuming and frustrating, leading to high drop out rates. Faced with more choices, I'd look elsewhere. But let's see if I can make it through the first week...

===============================================

EDIT: dropped. Maybe for someone who's recently followed on campus classes & has a textbook on hand, this would be doable. There's no doubt applied stats is hard to teach: because of a vast gap between the complex mathematical underpinnings & thumb in the air practice. But despite good intentions it's not being taught very effectively (in online format) here, at least not for my level of rustiness.
My rating
Prose Simian dropped this course, spending 9 hours a week on it and found the course difficulty to be medium.

R Programming

Written 2 years ago
Finished this. Got a distinction. Hated it. One reason was it's simply badly designed: going from lecture, via (frankly perfunctory, "oh, we need to give them a quiz on something, so let's ask anything vaguely relevant") quiz, to quite complicated programming assignments. If this is indicative of the state of pedagogy at JHU, any reputation JHU students might have stems ENTIRELY from a highly competitive selection/entrance procedure.

But maybe I just wasn't the target audience. The course is for 'experienced programmers'. My smattering of Python was probably not enough. R is a stats language with more fundamental data types than say Python or Java. Confusion over which types were returned or required by which functions was a major headache for me. But this was magnified by the failure of the materials to point out telltale identifiers, and on-forum chats with a few more experienced programmers suggested this was a pitfall for them too, until they worked through supplementary material they dug up for themselves. So... maybe not: even for members of the target audience the course per se was deficient.

In short: however talented the JHU team may be as data scientists, researchers, and on-campus teachers, like many of their MOOCs this is a half-hearted, pegagogically-incompetent, cynical attempt to cash in on the data science boom.

Which sadly, appears to have paid off.
My rating
Prose Simian completed this course, spending 12 hours a week on it and found the course difficulty to be hard.

Intro to HTML and CSS

Written 2 years ago
I went through 95%* of this in about 8-9 hours total. It's... so so. A bit of a whistle stop tour of html & CSS, which left me feeling like I'd got it figured out, until I ran into roadblocks trying to do apparently simple things. Perhaps I missed them, perhaps Udacity let these details slip though the gaps (while focussing on the important stuff: house-style, pep-talks and humour...) A couple of examples:

- you do the earlier project before learning (almost in passing) how to apply multiple classes to one element.

- only towards the end does anyone mention the order of the CSS links in the element affects how they're applied.

That said, I got my pages into reasonable shape, and I'm glad I stuck with it to the final section, and Jacques Favreux's walk-through of converting a mockup to into a responsive web page using Bootstrap, which were the hightlght of the show, and full of tips (not to mention clarifying my two sticking points from the previous para.)

So... overall not too bad if a little more frustrating than absolutely necessary. If you don't mind a learning-by-doing approach, overall a reasonable place to get your feet wet with html/css, and responsive web design (via Bootstrap).

*Everything apart from implementing a modal, right at the end.
My rating
Prose Simian completed this course, spending 9 hours a week on it and found the course difficulty to be medium.

How to Use Git and GitHub

Written 2 years ago
I started Udacity's CS253* recently & about 1/3 of the way in realised: 'I need some way to keep all these different files synchronised or my tiny brain will be fried by the end of this'. So I decided to bite the bullet and finally 'learn Git'. I'd previously watched a few youtube tutorials. But a gnawing sense that I didn't quite grok it was still keeping me from using Git with my own projects.

Could "How to Use Git and GitHub" be a solution. It turns out: yes. This course has less of Udacity's (signature) pointless quirkiness, and more than most of (what I've seen of) Udacity's usual in terms of patient explanation, conceptual framework, and opportunities to practice. (In this case fixing broken code with immediate effects on gameplay in a couple of Javascript games. A great choice because you see the impact whether you know Javascript or not.)

This opportunity to practice on someone else's code seems to have been what I was missing. It makes the experience basically stress-free: mess up and you can just delete the folder, clone the repo, git init and try again. And you know exactly when you've got it right: your git output matches what was expected. So I'm feeling like I'll be confident enough to use Git on the remainder of CS253 by the end.

Some minor caveats:

- I did end up with doing a bug-fix (to bullet delay in Asteroids) in "detached Head" state. Easy enough to work out how to fix that with a quick Google, but perhaps the clarity of instructions isn't quite 100%.

- More thought could have gone into the (very similar) colours indicating different types of relationships on the concept maps.

- As with most Udacity courses, important text gets obscured by the youtube UI when the video is paused. (Doh...)

- The audio volume is seriously inconsistent between tracks.

But overall, Ms Buckey and Ms Spikes have done a great job in putting the course together, and also gone above and beyond in the forums (and on GitHub, where I was surprised to see a pull request approved just now). So they get a 5 for this one.

You go geek girls!

*https://www.class-central.com/mooc/324/udacity-web-development
My rating
Prose Simian completed this course, spending 6 hours a week on it and found the course difficulty to be easy.

More Data Mining with Weka

Written 2 years ago
Another well thought-out Weka course from Waikato covering further areas of data mining (association rules, clustering, text classification, cost-sensitive techniques), of Weka (experimenter & knowledge flow interfaces) and of the data mining evaluation process (ROC, learning curves).

Assessments are fiddly, with a strong applied emphasis, but not too hard.

Current session closes 15/4/16, with an 'Advanced' follow-up course scheduled for late April (per Dr Witten's forum comments)
My rating
Prose Simian completed this course, spending 4 hours a week on it and found the course difficulty to be medium.