Hacker News new | ask | show | jobs
by danjoc 3601 days ago
https://www.coursera.org/about/terms/honorcode

I will not make solutions to homework, quizzes, exams, projects, and other assignments available to anyone else (except to the extent an assignment explicitly permits sharing solutions). This includes both solutions written by me, as well as any solutions provided by the course staff or others.

3 comments

None of the material in these posts could be used directly to complete assignments for the class. I suppose someone could attempt to "back-port" some of the Python code to Octave, but if you're going to that much trouble it's probably easier to just solve it in Octave in the first place.
I took the course a while back and most of the assignments were just straight copying pasting from the pdf or translating some math formula into octave and never more than 10 lines of code. It's so spoon-fed already I don't see why anyone would want to cheat by porting it from python.
Having taken the myself, I couldn't agree more.

The class is meant to introduce one to machine learning. As such, the problems are usually fairly simple and one wouldn't need to cheat unless all one is attempting to do it to solve those without looking at either the leture videos or slides.

(Translating from Python to Octave might, on the other hand, require more effort in comparison to implementing the solutions in Octave.)

I know I'm just burning karma here, but this really triggers me.

Andrew Ng gives you a free introductory course in one of the hottest topics in computing, and in exchange asks you not to do one thing. And you do that one thing. I have my solutions in octave, and it would be really convenient for me to back them up on github, but I keep them on a usb stick for this very reason. I am respecting the man's wishes who was so kind as to teach me about machine learning.

You should take them down if you don't have the explicit permission to share them as the honor code states. You don't have explicit permission, do you?

Since you linked to the honor code, can you point to anything in these blog posts that qualifies - in the context of completing the class - as "solutions to homework, quizzes, exams, projects, and other assignments"? Could anything I provided be directly used to "cheat" and finish the class without doing the work?

And just as a practical matter, there are dozens of github repos with literal (as in copy, paste, submit, done) solutions to these problems already available.

You're certainly free to disagree, but I do not view this as violating either the spirit or the intent of the honor code. This content has been out for years and is not in any way novel or unique. It's simply another vector through which the material can be learned, possibly opening it up to an even wider audience. Which is, I believe, what Andrew's goal was all along.

These are direct solutions to the exercises. I took the class some time ago and also did it in python.
As far as I can remember you can't submit assignments in Python, can you? Or maybe you did it in Python first, and then ported in Octave before submitting? If so, how did it work out for you? At first I thought I wanted to go down the same path (because I'm comfortable with Python but not with Octave) but then concluded it was too much trouble backporting everything.
As far as I can remember you can't submit assignments in Python, can you?

When I took the class earlier this year, the answer was - effectively - "no". I mean, yeah, you could do some trickery with calling Python from Octave using whatever FFI Octave has, or you could possibly reverse engineer the protocol they use to talk from your code to the upstream server... but anybody doing all that would be doing more work that just completing the assignments in Octave to begin with.

There exist implementations of an interface between Python and the Coursera grading server.

https://github.com/mstampfer/Coursera-Stanford-ML-Python is an example.

Of course somebody would have reverse engineered the protocol already. Oh well. I still think most people would find it easier to just do the assignments themselves than deal with all this, but I'll grant that there's "always one in every crowd" as they say.
We have Pytave. You don't need FFI anymore. Or rather, we wrote the FFI for you. Write your code in Scipy and Octave sees Octave-shaped objects in return.
The course itself uses Octave; the OP just ported the code to Python.
From what I remember of the course, it was itself mostly "porting" code (well, formulas) from the textbook to Octave/Matlab.
Yes and Octave/Matlab is not that far from "standard" mathematical notation anyway... But the exercises were still useful as they helped me remembering the concepts.
They were supposed to be free so they blinked first