review comment

[COMS W3134] Data Structures in Java

Departments: Computer Science

Professors: David Elson, Shlomo Hershkop, and Alexander Pasik

May 08, 2012

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

From everything I can tell, he's a very different teach when teaching Data Structures and when teaching AI. I've heard and read so much about how he doesn't actually teach in AI, but for Data Structures that was certainly not true -- over the course of the semester we covered a lot of material even if it's less than you would in some other Data Structure sections. It is true that he only ends up coming to class about 2/3 of the time since there's 4 quizzes, 4 review sessions, and 1 final. When he's there though, he's very passionate and often quite amusing. I also found that between the lectures and the programming assignments I came out with a very thorough understanding of what he covered. Beware though that his programming style is extremely bizarre so you may pick up some weird habits.

The quizzes were kind of mini-midterms -- they took the whole class but only counted for 10% of your grade and only covered 3-4 lectures worth of material. Of the 10 points, 7 usually entailed coding and the others were either on theory or definitions.

Since most of the class doesn't have a CS background (since the class isn't for the major) he spends a decent amount of time reviewing basics although if you really never understood Java at all, you'll be in trouble. One last plus about Pasik is that he's very organized: he puts up the class-by-class syllabus and all the homework assignments weeks before the semester even starts so the expectations for the class are unambiguous.

Workload:

5 programming assignments (10% each and he takes half of your lowest grade and counts it as extra credit) + 4 quizzes (10% each) + 1 final on the last day of class (20%). The assignments can be tough but are never impossible if you're comfortable programming.

May 03, 2011

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

Great guy, really gets excited about the content. I don't know how someone could get so worked up about recursion and binary trees, but it made the class a bit more interesting I guess. I didn't pay attention most of the time, but when I did, he was pretty clear and the content was relevant to our assignments and midterms.

In the end, I feel like I learned a lot about data structures, although if you are an IEOR major, there isn't a high chance you will use it again.

Workload:

6 programming assignments, 2 midterms, and a final on the last day of class. Pretty manageable, although each programming assignment could take you a while if you get stuck.

June 01, 2010

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

This class was crazy hard, but Professor Pasik is a good teacher and did his best to guide you along. As a student with no natural ability for Comp Sci I managed to survive the class, and in the end I learned a lot. Make no mistake this is an extremely difficult class, but is also rewarding. Pasik focuses on programming a lot more than other professors that teach the class. Overall do not take this class lightly, but if you want to be challenged and learn A LOT than I definitely recommend him for Data Structures. If your just looking to get through the class than you should take the class with a different professor.

Workload:

Intense. 60% of the grade is programming. Hard programming. 6 programming assignments worth 10 pts each. 2 midterm and 1 final. midterms = 15pts each, final =20 pts. **class totals to 110 pts, its basically 10 extra credit points

May 25, 2010

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

This class is a joke. Go to class, everyone says. And it is true, you should go to class if you really want to understand the material.

What he does in class is he just goes over the coding that is on courseworks, first in general and then looking at the code itself. So for say, the linked lists, he would first explain what linked lists are, and then go over it in code. Of course, you really don't even need to take any notes, since if all you do is pay attention, you'll understand how the structures work and then you can just read the code to refine it even more.
He also let us out more than twenty minutes early multiple times, because that's how clear he makes the material.

So what makes this class a total joke? First, he assigns six homeworks. They aren't hard at all, and if you have a comp sci-major friend, they're actually easy. They don't take all that much time to do, and best thing, they're worth 50% of your final grade. 50% for six homeworks? Yup, he takes the "lowest" grade (you should be getting 10's on all the homeworks anyway) and adds it on as extra credit. If you have good enough friends, you should be getting ten points extra credit. Not only that, but on two of the assignments he had two MORE ways of getting extra credit: one was a simple, two line code, and the other was a bit tougher but still very doable, and he gave three points each for a grand total of sixteen points extra credit max. And note, these are on the HOMEWORKS, not on the tests that actually test your knowledge.

The tests make up the rest of your grade. Two midterms worth 15% each (15 points each) and a final worth 20% (20 points). They were also jokish. On each midterm he made sure to put at least one problem where you have to code, and one problem where it's a freebie 3 points if you went to class and listened (simple things like 'what is the time complexity of heapsort'). The final was a bit different: one tough problem, one very very easy problem (his freebie question worth 6 points, everyone should have gotten this one) and one coding (practically the same as the code in class). Even more, because all his midterms are point-based (they're out of 15 points), it's not like other classes where it's out of 100 and then scaled. What you get is how many points you add onto your final score, but with your sixteen points extra credit, you technically don't even have to take a midterm and you'll still get an A+. But even if you do, you're practically guaranteed an A+ unless you really don't know java, in which case you'll just get an A. He practically guarantees that everyone gets at least 7/15 points, so at most, if you aren't that good at java, you'll get 14/30 from the midterms. The final was much harder, but the TAs said that they graded generously, so you should probably get at least a 13/20 on the final, so that's 27/50, and then you add the free points from extra credit, and you get a 77/100, but then you add the extra credit and voila, you're back at a 93/100, and you get an A for doing so badly on the tests.

Don't be scared when, in the first day of class he complains about grade inflation and describes how one standard deviation above the mean is a B and two standards is an A, because really, with that much extra credit (and the ease of this class), at least half the class got A-range grades.

Workload:

Six assignments (not hard at all), two midterms (pretty easy), final (you should get at least 10 points)

May 13, 2010

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

Like everyone else said, go to class! There's no textbook and it's at 6:10 so it's not like you're skipping a morning class to sleep. Pasik is an excellent lecturer and if you go to class, the material is very clear. I had no programming experience before college, and I didn't do amazing in 1004 and I got a freakin A+ in this class! (HOLY CRAP!!!)

He LOVES recursion. Definitely try to learn it because it really opens your mind about programming. Also, learn a bit of LISP before hand because Pasik basically programs in LISP but in the Java language. It'll be a lot less overwhelming when you meet recursion for the first time.

His grading style is very interesting. He curves to a B- but there's a decent amount of extra credit to be learned. The TAs are super nice so if you have trouble with the assignments (AKA not enough experience with Java like me), they are really helpful.

Keys to success:
GO TO CLASS. Seriously, try not to miss any lectures.
Start the assignments early. (I have stayed up to 4am debugging. It was terrible.)

Workload:

6 Assignments, lowest grade "extra credit"
2 exams, both fair
1 final, cumulative

Other reviewers have explained the curve.

May 04, 2010

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

I liked Doctor Pasik's class. It seemed I have a better programming talent than my peers, so take this review with a grain of salt.

You must go to lecture in order to do well; there is no course textbook. He's taught this course many times, so he knows what he's doing. There is a mad steep learning curve, starting with recursion. Once you get this, however, his code becomes a lot easier to understand. For each data structure, there is an abstract understanding of it, and there is a programming understanding. The conceptual understanding is more important; the programming is only important in the assignments (and he posts all his code on Courseworks anyway). His conceptual explanations makes use of diagrams, so recommend taking notes on pencil and paper. His explanation of each data structure is very systematic in this way.

Doctor Pasik is very approachable, but only after class (he has no office hours). He always stays to answer all questions the students have; you can often get hints on the assignments this way. Additionally, he has lots of insight into the rest of computer science, and potentially a networking contact, depending on your desired industry.

The assignments can be difficult; however, you never have to work from the ground up (except the last one). You take his code from Courseworks, and using those basic methods, you build the rest of the methods to complete the assignment. Again, these additional methods require a conceptual understanding of what you are doing.

His grading style is interesting. There are 60 points worth of assignments (6 assignments, 10 points each), and 50 points worth of tests. To calculate the curve, he will take the 5 highest scores from everyone's assignments and the 50 points from the tests and calculate the average from that (curved to a B-). Then he'll add on the raw points from the 6th assignment to the score, boosting everyone's grades.

Workload:

6 assignments, due about once every three weeks. Once you actually plan out what you're going to do, they don't take that long. 50% + up to 10 extra points
2 midterms, 15% each.
1 in-class final, 20% (on last day of class).

April 24, 2009

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java and [COMS W4701] Artificial Intelligence

Pasik is an interesting and fun guy. It does help to be the right kind of student (interactive, awake, asking questions). He usually doesn't have a text book and doesn't do much on the board or with notes. He basically talks to you. Attendance is absolutely essential. If you show up every day and pay attention, you can't help but get an A, because he explains everything. If you skip classes, and you don't already know the material, then you're in trouble.

While I like him as a Professor, he's not the strongest when it comes to math or theory. He's a pretty practical guy. That works for him though, especially in data structures, which is a practical course. His coding skills are very well practiced. If you want your code to be clear, modular, and work the first time, watch him go through code. If he posts code online, take it and put it in your coding base. It's really well written code.

By the way, he loves recursion... really loves it. The main thing I learned from him was how to write concise, elegant, semantically clear, recursive code.

Little things to note:
1. He will not accept anything late. He assigns things extremely far in advance. Get them done.

2. Make sure you really get the material. Since he lectures well, the average scores on the tests tend to be pretty high (at least in my experience). So if you want an A, you need to do well on the tests.

3. The tests are really straight-forward (no surprises), but they might require you to actually know what you're doing (not just get the gist). He will make you write code snippets on the spot on exams.

Workload:

Data Structures: 5 or 6 programming assignments. All quick and easy. Midterm and Final.

Artificial Intelligence. An easy project, then a hard project, then a really hard project, then a group project. In hindsight, the third project shouldn't have been THAT hard, but you really need to understand lisp by that point in the semester. Midterm and final.

December 18, 2008

Elson, David Silver_nugget
[COMS W3134] Data Structures in Java

Elson is a phd student but is a good professor overall. Not a class for computer science majors, but this class is a lot of work. Elson does his best to make it manageable, he knows that most of the class struggles with the programming sections, so he gives you late days and tries to help with the homework. Overall, a hard class that takes a lot of time, but if you are good at computer science, this should be no sweat. If not, then watch out.

Workload:

Heavy, very heavy. Five assignments(theory and programming) that take about 10-12 hrs each assignment. Midterm which is long, and final which is more reasonable.

March 11, 2008

Elson, David Silver_nugget
[COMS W3134] Data Structures in Java

Though this is David Elson's first semester teaching, I think he's done an outstanding job of it. I've always marveled at why I seem to enjoy classes taught by graduate students better than I do classes taught by actual professors, but I think it is because graduate students are more understanding of how to lead a class of undergrads in such a way that they will be interested and entertained.

David Elson has two qualities that really qualify him as an excellent teacher, 1) excellent English and ability to explain concepts and 2) a wicked sense of humor.

I have never missed a Data Structures class because of this; this was true of Chris Murphy's 1004 class I took last semester, too. David Elson really CARED that the students are learning the material -- he explains things clearly, does relevant examples, cracks corny jokes, and always tries to encourage class participation (a noble endeavor indeed!). His availability is also extremely flexible -- he answers emails even at excruciating times like 2 AM on a Friday or Saturday night, which really helps for the people who chronically try to complete hw assignments two days before the due date. The homework assignments started out rather tedious and long, but David took into account the class's complaints / suggestions and lessened the workload to really help us learn the implementations of data structures instead of spending 40 hours struggling with other irrelevant code. I love his programming assignments -- thought they were totally relevant and even FUN, dare I say. This is one of the few classes I ENJOY doing work for.

All in all, I thought Data Structures would be the death of me this semester, but I ended up loving it and learning far more than I thought I would. Thank you, David!!!

Workload:

see other review for breakdown. I should mention there was quite a bit of extra credit (mostly extra programming!), and if you do it all, it can be helpful enough to push you 1/3 of a letter grade higher =)

December 17, 2007

Elson, David Silver_nugget
[COMS W3134] Data Structures in Java

I thought David was hysterical. A PhD candidate with a sense of humor as keen as his is rare. Well, some people loved him. Others thought he was a bit aloof.

What was best about him was his analogies and drawings.
He makes sure the class knows what is going on before proceeding. Most people, however, don't want to raise their hands.

Very approachable with fascinating stories to tell I highly recommend you take this course with Elson. For a point of reference, if you took AP Comp Sci AB in high school you'll be fine until the last week where he studies things like NP completeness.

Workload:

Light but the programming sections were a pain even for people who knew java. The Theory was also a pain at times but overall wasn't must of a problem. I wish I had gone to the TA's for more help though. 50% HW, 20% Midterm, 30% Final. All easy but the HW, as stated earlier, is tedious. You'll get the concepts far before you work out the bugs in your code.

May 04, 2007

Hershkop, Shlomo
[COMS W3134] Data Structures in Java

A mixed review. Shlomo can be condescending at times, friendly and joking around at other times. The class is apparently easier than with other professors. Sometimes his jokes are terrible but at least he tries. Involves the class as much as possible but he'll shoot you down if you have the wrong answer, and he'll even manage to make you look stupid if you have the right answer! Probably not the best way to teach a class. Also he's pretty absent minded.

Workload:

Tests fairly hard but open book and notes, Homeworks were progressively longer but do-able. Don't expect grades back any time soon though.

December 22, 2006

Pasik, Alexander Silver_nugget
[COMS W3134] Data Structures in Java

Please keep in mind that this review is more than 5 years old.

Pasik is the best professor by far I have had in the Computer Science department and was my favorite professor I've taken so far overall as well. He made his class very interesting and made it easy to do the assignments just on his notes, as he did not seem to like the book that much (I never even opened it up) If you go to class, to me it seems like the class is a breeze, but seemed like more than half of the class did not show up for his lectures and thus complained it was too hard. With and excellent professor, fairly easy grading and very fair tests, and a ton of extra credit, I don't see how anyone would pass up the chance to take a class with him.

Workload:

5 Assignments and 2 midterms, each worth 10 points. He also had an extra credit assignment and final, each worth another 10, though were graded a lot harder. Overall, workload was very fair for a comp sci class, ranging anywhere from 2 to 5 hours an assignment(though prob more if you have no clue what you are doing) and were graded fairly easily.

Directory Data

Dept/Subj Directory Course Professor Year Semester Time Section
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2012 Spring MW / 6:10- 7:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2012 Fall MW / 5:40- 6:55 PM 1
COMS / COMS COMS COMS S3134: Data Structures in Java Shlomo Hershkop 2012 Summer TR / 6:15- 9:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2011 Spring MW / 6:10- 7:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2010 Spring MW / 6:10- 7:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Shlomo Hershkop 2010 Fall MW / 11:00-12:15 PM 1
COMS / COMS COMS COMS S3134: Data Structures in Java Shlomo Hershkop 2010 Summer TR / 6:15- 9:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2009 Spring MW / 6:10- 7:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Bert Huang 2009 Fall TR / 5:40- 6:55 PM 1
COMS / COMS COMS COMS S3134: Data Structures in Java Shlomo Hershkop 2009 Summer TR / 6:15- 9:25 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java David Elson 2008 Fall TR / 5:40- 6:55 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java 2007 Fall TR / 5:40- 6:55 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Alexander Pasik 2006 Fall TR / 5:40- 6:55 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java 2005 Fall TR / 11:00-12:15 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Janak Parekh 2004 Fall TR / 11:00-12:15 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Janak Parekh 2003 Fall TR / 11:00-12:15 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java Theodore Diament 2002 Fall TR / 2:40- 3:55 PM 1
COMS / COMS COMS COMS W3134: Data Structures in Java 2001 Fall TR / 11:00-12:15 PM 1