Profile

Karthik Puthraya
Student
- 5 reviews
- 5 completed
Brilliant practical introduction to Algorithms. I did this course along with
the theoretical Algorithms course by Prof. Roughgarden. These courses
complement each other wonderfully and I strongly recommend both these courses.
In the process of this course, I got to learn Java. My programming background
was limited to C++ and some Matlab before I took this course. Prof. Sedgewick
is a very likable teacher and course material is top-notch. Everything is very
well-planned and the programming assignments drive the concepts right home.
The forums are lively and TAs very helpful. Two thumbs up and looking forward
to the Part 2 of this course!
I signed up for this course to help me better prepare for graduate studies
which I will begin a couple of months. Lacking a formal background in
theoretical topics of Computer Science, I found this course immensely useful.
I did this course concurrently with the Algorithms I course taught by Prof.
Sedgewick. I found this combination, though very hectic, ultimately very
rewarding. The theory being taught in this course was complimented nicely by
the practical Java programming being taught in Prof. Sedgewick's course. I
especially enjoyed Prof. Roughgarden's enthusiasm and teaching style. I don't
have any real complaints about the course. Two thumbs-up and looking forward
to the second part of the course.
I knew undergraduate level math but had the faintest of the ideas about Game
Theory. The subject in general is very interesting and this course is good
mild introduction to the topic. The good things: The course is well-designed
and the instructors are enthusiastic and knowledgeable. The forums are lively
and a lot of real-world game-theoretic interpretations are discussed.
Assignments are not easy and make you think. Weekly Hangouts by the professors
are interesting too. The not-so-great things: I started the course expecting a
very practical course with immediate real-world applicability. However, the
course turned out to be more math than expected. Don't get me wrong, I enjoyed
every bit of the math and the course, however, there were a lot of students
who were considerable disappointed. A lot of the course material, I am afraid,
I will simply forget after a point because I won't get to think of them again.
Good course. However, recommended to only those who wish to pursue the topic
of Game Theory further in their pedagogy.
I did have some background with basics of Linear Algebra. The promised
computer science applications of this course is what I signed up for. Also, I
had just started learning Python, so the fact that Python was the language for
this course was an added bonus. In a nutshell, the course did deliver on that
promise, but failed on almost all other aspects of the course. Pros: \-
Rigorous, non-trivial assignments. Makes you think about foundational first-
principles of linear algebra. \- It shows the power to Python as especially
suited for numerical applications. I am really glad that this course used
Python instead of something like Matlab/Octave. \- Good call on splitting the
course into two parts. The advanced follow-up course will be offered sometime
in the future. I think this was a very good call. Otherwise the fraction of
people dropping out of this course would have been much higher. Cons: \-
Grader. Oh, the grader. Absolutely ruthless grader. A course which is supposed
to take 4-5 hours a week ends up taking 7-10 hrs because you are trying to
debug some really mundane grader related issues. In the process, you're
learning neither Linear Algebra nor Python. Also, the fact that feedback given
when you submit an incorrect answer are absolutely useless. I expect a CS
course to be a little more foolproof. However, I think this issue won't be as
bad in the next versions of the course. \- Prof. Klein, though very
enthusiastic and knowledgeable about the course material, is just reading off
of the slides most of the time. In fact, I ended up reading the proofs of the
lemmas myself directly off of the slides to save time. \- The programming
knowledge required to complete the course if ill-advised. Beginner programmers
will find it hard to cope with the rigour of the course. So, beware! All in
all, I am happy with the course, but I wish I had signed up for the second
offering of the course instead of the debut offering. Would have saved me a
considerable amount of time.
No prior experience in the core subject matter. I did have experience in
Matlab programming and knew a fair bit of probability and statistics. The
good: Excellent survey of existing ML techniques. The course is peppered with
very useful tips and tricks to real-life scenarios. The assignments are
thorough and Prof. Ng's enthusiasm for the subject is very evident. The class
forums were also very lively and added to the overall experience of the
course. The bad: The assignments are too watered-down and usually involve the
student adding <10 lines of code to complete the assignments. All the heavy-
work programming is already done and given as a template. This is my only
major complaint about the course. The major emphasis of the course was to get
the student to start using ML techniques without spending much time to
understand the fundamentals. In fact, I think this aspect was heavily
emphasized. Unfortunately, not all of have a day-job where we use ML to solve
everyday problems. Someone like me who likes the mathematical rigour will be a
little disappointed. To compensate for this, I did the full-fledged version of
the Stanford course along with this where Andrew goes through all the math
which is skipped in the Coursera version. All in all, a very good intro course
and a MOOC done right.