Since this course was offered for the first time in B term 2004, there is not much information available on the course. I have therefore made the following information available.
At the end of CS2102 last year, the course evaluations were managed by the IDEA system, a pilot WPI project. This information is not available to students yet, but on the back of the pages was a place were students could provide additional comments, which I've graded on a five point scale
+2 | Strong Positive |
+1 | Positive |
0 | Neutral |
-1 | Negative |
-2 | Strong Negative |
Given the 78 comments below, the rating (which I assigned based upon the comments) shows an average of 1/3 with a High deviation
Average | 0.333333
|
Standard Deviation | 1.296015 |
For each ranking above, the totals were:
-2 | 6 |
-1 | 18 |
0 | 18 |
1 | 16 |
2 | 20 |
As you can see, while positive, there was a wide variability in how the course was viewed:
Raw comments from the evaluation forms:
Comment | My Rating |
It's been interesting, I'll give you that. As a result of this course I've gained new appreciation for good old standard C. | 0 |
Definitely remove the 10AM due time for homeworks. Yeah,
we shouldn't wait until last minute, but this school is considered to be
the busiest (i.e., most work) school. Sometimes last minute is all you
get. Keep the Java clinics but throw it in less and less as you go along Don't work yourself too hard, professor; looks like you spend a lot of time on us but not enough of us spend enough time on you. |
1 |
For someone who already knew Java, this class was boring. That is why I didn't come to class often. Other than that, I think you did a great job of teaching the class. One thing I did not like was the fact that comments were such a big part of the homework (60+ points on one assignment) | 0 |
At the end of the course it was a lot better -- more focused on how and why a particular technique works as opposed to "this works" with no real explanation. Homeworks could be a little clearer. Class examples and work very useful. Labs also could have been clearer in the instruction on what to do. | 1 |
I really don't think this course could be any better. The only problem with it was that a lot of people had very different programming backgrounds | 2 |
Concepts were presented in a clear and well-ordered manner. A course is really defined by the professor's relationship to the students; I think this factor made the class very enjoyable and enlightening. Pardon the poor sentences, it's been sometime since I've slept. In conclusion, keep up the good work | 2 |
Start the course using the Java clinics. They help a little at least for the people who've just started taking CS courses when they come to WPI | 1 |
Class did a good job of teaching how to design in Java. The tests were a little rough though | 1 |
Introduce proper documentation early. I lost significant points on HW1 because of documentation. Introduce more java basics earlier (i.e., static, etc.) | 1 |
In general, everything was good. However, for people just coming in from CS1101, jumping into OOP like C++ or Java isn't easy. I had no problems because I know C++. I only suggest that there should be a pre-requisite or requirement for this course except for CS1101/1102. People should come to the course with C++/Java background so that the class average can go up | 1 |
Examples are great. The java clinics were very useful/helpful |
1 |
Tie in the homeworks to the lectures or vice versa | 0 |
I am unsure. Things seemed ok, though others appeared not to find it so | 0 |
I heard many folks complain about being taught concepts of design in a language they didn't yet understand. I can't think of any easy way to solve this other than explaining the basic methods and objects/primitives of java at the very start of the course. | 0 |
Really good professor. Probably need to stress more general syntax and core material before moving on | 2 |
Even though the course was scaled back, not having a Java background made the course quite difficult | -1 |
I was fine with the course in general. instructions could be clearer. There could be more Java syntax elements added to the course (i.e., learning Java) | -1 |
Labs were too long for the time frame. Sometimes not enough TAs at office hours. Homework should count more since it's so time consuming. Tests should be easier | -1 |
public class CS2102 { boolean needsImprovement; public CS2102() { |
2 |
I don't have a very familiar background in this subject so this class was not easy for me. However, the way in which this class was taught through examples and clinics really helped me to understand the code and concepts. | 2 |
Don't change anything. Everything was good | 2 |
I want my money back for the book | -1 |
Too much detail left to be determined by the student. Makes HW and exams extremely hard and time consuming. A lot of the HW questions are too hard because it involves too much non-CS factual knowledge. Spent a few hours to understand problems before coding. | -1 |
This course is not well designed for people who have not seen Java before. I took a year of Java in high school, so I'm all set, but two of my friends NR'd because they had no previous Java experience. Although in his course we only learned a few things I hadn't seen before in APCS, perhaps an intro Java course and a OODC course of a high level than this one could be offered? | -2 |
I was under the impression that the course was taught assuming the student already knew java and that this was a problem for many people | -2 |
I think the importance of Object-oriented programming
comes up in big projects such as the tic tac toe lab. That's why a final
graded project just like the one we had done with scheme would have been
nice. Also on some homeworks we could have been given a working project with lots of files without documentation and be asked to add new functionality to it. That way, one can appreciate the real value of commenting the code. |
1 |
Put restrictions that are on the message board on the wrb site and link to the website from the message board | 0 |
One thing I would change about this course is that I would make HW assignments worth more than the exams. I feel that one learns more by doing the HW assignments than by taking the 50 minute exams | -1 |
On the whole it was a well-done course. The speed up until the first exam was perfect. The only thing I disliked were the clinics, which seemed like erroneous remedial material that people should have learned on their own. In the future, just take less BS from students who want to nitpick and whine about every single irrelevant detail. During today's lecture, in particular, I felt like we lost a lot of time to minor nuances that a little common sense or basic thought/reasoning would have answered. Otherwise, great work. Just keep ???? forward in the future | 2 |
Since we have many TAs and PLAs, I recommend for the first week of this course to be under something like extra hours (office hours) for basics in Java. I believe it's a good idea because lots of students that are taking this course (like me) have never had Java experience. | 0 |
We needed to learn Java before we learned Java concepts. This should be a higher level course that we should take after learning how to program in Java | 0 |
The only problem for me were the homework assignments. I learned to do them early in A term and wasn't able to apply this in this course as the assignments were evaluated by the students over a few days until they were really clear. Perhaps talking to the SAs before assigning them would help. Also the TAs weren't really answering their emails about grading problems. That took too much time | -1 |
Do Java clinic at the beginning of the course. Take time in class to show how java.util.* should be used for homeworks. it is too important to let the students do on their own. Post second dilberty gallery. Don't have a pre-req reading for the course HW scheduled to finish night HW is due. Assign the readings before then. | -1 |
The one 'negative' comment I can offer is that the HW
assignments needed constant refinement causing me to always start it 2-3
days after it was assigned. I'm assuming it is because this is a new
course and next time it will be better. Aside from that you were an awesome teacher and I learned A LOT about java and OO. I will definitely look for other classes taught by you in the future |
2 |
Overall an excellent course with excellent teaching. I learned a lot. I did not find the time in class clinics to be as helpful as the lectures. It would be a good idea to explain more clearly what was going to be on the first exam. | 2 |
I did not know Java at all before taking this class. That made the class very difficult in every aspect. There needs to be an intro to Java before this class. Also for the most part, the labs, HWs, lectures and tests had nothing to do with one another. That needs to change. | -1 |
There should be a smoother transition during the first few days of the course for people who don't have any background in object-oriented programming. Other than that I believe the course is well-structured and the professor did a good job | 1 |
I enjoyed working with the prof. in this course. He has
provided us(me) with good answers and maintained a positive attitude
towards the students. When they needed extra help he would alter the
schedule of the week to allow help to be given. If I would be given the
chance I would work with this teacher again (project, research, SA,
etc.). Just one bit of a comment. The course could have covered a bit more material. There should have been also a project to work on instead of one of the exams (or instead of another homework). |
2 |
I really enjoyed taking this course, and especially the
transition it made from presenting abstract concepts to using them in
basic problems and further in factual problems. It is a good opportunity
to get the skills needed to complete some of the java core every day. Professor Heineman is an excellent teacher, as he manages to make everything understood to all who are interested, and as well keeping the ones with a more broader knowledge of the subject interested in the course material. |
2 |
The original idea behind the concept of the course was
good. The only missing component that would have made it possible to
continue in that direction would have been more specific references to
useful java websites that are good guides to learning syntax. if
concepts are to be taught in class the following might be of use and
would help students make the transitions from more syntax-oriented
backgrounds to the design-oriented one. * Direct links on www.cs.wpi.edu/~heineman to a couple of good java syntax websites with lots of elementary examples. * Possible handouts in the first days of the course with the basic operators, casting and other concepts that are to be taught. This sheet would then serve as a small reference manual while programming in the first week and would save a lot of time that was otherwise spent on browsing the web and then finding more complex code than one needs. This would also alleviate the pressure on the SAs and TAs which have to answer and explain the same basic operations over and over because students come to them as a resource. |
2 |
This course was spectacular. Every single class was
well-organized easy to follow and informative. I was truly impressed
with each lecture as well as your commitment and substantial effort. The
fact that you take the time to answer all questions and address all
concerns at any time is remarkable; I have attended courses where the
professor either ignores or glosses over student questions. I know I am only singing praises here, but it is because this was the best course I have ever taken in terms of professionalism and organization. Every lecture was smooth and the care and attention to detail put into the course website are apparent. I honestly believe that this course could not get any better than it is -- I feel privileged to have taken it. I have one final remark: The java Clinics were brilliant not so much for the reaffirmation of the information presented (which was still good) but more for the aspect or teamwork within a lecture. Being able to communicate ideas and concerns with a peer and then go over the problem in detail shortly afterward was one of the best and most fruitful parts of the course. |
2 |
This course seemed almost build for people with serious
java or cs background. However, as an incoming freshman with no
programming background [other than] CS1101's scheme, this course was
beyond difficult. I've spent so much time getting help as have many
others in this course, that it has paid off a bit. Unfortunately, this
was putting in more time than WPI recommended for any given class. The
workload may have been decent for people who know Java, but foir the
group that came out of the scheme class, it was next to impossible to
keep up. While the work I put in has made it possible to pass this
course, i am unable to keep a passing grade in an easier course due to
my time constraints. In my opinion, this course should not be taught right after scheme, period. There must be something in between so that people with no CS background do not have to seriously reconsider their choice of a major. While I can easily grasp the concepts given, I have no ideas how to go about coding them. I am seriously concerned that I will not be able to continue in this major if all CS classes take this one's approach. |
-2 |
I needed more exercises to be ready for the tests and I
know many people were like me. The feedback forms we filled had a whole
section about sample tests and questions, as I needed to exercise more,
professor has decided to not giving sample questions but only giving the
topics after that he didn't even give the topics. I think many people dropped this course because they were disappointed about what they got in the tests/HWs. This is because they didn't exercise enough. Each homework wouldn't be done without a TA. You try on your own, but after a few steps you stop because you don't know how to respond to the question. you go to the TA. and (s)he does it for you. So what do you gain form it? TAs or SAs are so tired, they cannot help each of us as much as we need. The book isn't helpful a tall, you have to know the stuff in order to understand the book, it isn't helping as a backing up instrument. I think the only thing that helped me learning was trying to catch a TA or SA when there was no one in the help session and ask him/her teach me the topic. And I could rarely do this because the help sessions were usually full of people. |
-2 |
I learned a lot about object-oriented design and programming from this course, however it was very hard for some topics and concepts to click. I have had no prior object-oriented programming experience because my high school had offered no such courses. I felt as if I was at a distinct disadvantage as many other students had prior experience and the course seemed geared towards them. I have spent the majority of my weekends and my free time trying to play catch up and just grasp the concepts, hoping to end up with a C. However, I thought my effort was worth at least a B. It would be nice if they had an alternate or extension class to this course (perhaps going over java concepts for 21 hours each week on top of the regular course material) for those who have only had experience with scheme. | -2 |
The course needs to be slower in the beginning rather than in the middle (i.e., with the clinics). I found the concepts in the beginning of the book too abstract. | -1 |
I've already known Java for a few years so I didn't expect to learn as must as most others, but I do wish a bit more time had been spent on general, conceptual topics | -1 |
Seems to assume you know C++ or Java than backed off and
overcompensated this made the course very difficult for those who had
never programmed before, and dull for those who had OO before. Perhaps there should be two versions of this course, or a course in purely java as a suggested 'jumping point' for those who had never programmed before to take before OO design. Also, the teaching schedule seemed to encourage procrastination. Many times you were giving critical information for a HW1 or HW2 two days before due-date on a multi-week assignment. This encourages last minute rushes to do the assignment in one night which does not really benefit anybody. |
-1 |
This class was really difficult. Yes I learned a lot, but I couldn't keep up and had trouble with Java as a language. I like professor Heineman and I believe he works hard on the course, but the amount of information that came out of this course was simply overwhelming. I believe this course is just two courses one on abstraction and design, and the other on Java -- crammed into one insane super course. | -2 |
I felt that this course started off at a pace that would have been very difficult for someone with no prior java background. However, I think that it was quickly realized and the pace was improved. The clinics would have been more helpful earlier in the course. | 0 |
First a comment on the CS curriculum: I took CS
1005/2005 last year and the recommendation was to take 1102/2102. I did
not and just took CS2102 and I feel like that was the right decision.
2005 adequately prepared me for this course so 1102 would have been a
waste. It's good to see Java being taught. I had some previous Java experience, but still learned a lot in this course. I liked HW4 and will enjoy HW5. I would much rather design from scratch but that is just a personal preference. I liked that you not only asked for feedback part-way through the course, but you paid attention to it and adjusted. Thank you, I enjoyed this course. |
2 |
Would have been GREAT except fundamental problem of course being undecided on whether it's teaching Java or teaching OOP (which essentially required prior knowledge or java to be able to move on to the OOP concepts). Given enough time, someone with little java experience could catch up with course, but would require just about 14 weeks... Teacher is GREAT. Incredible energy level and unparalleled responsiveness to students | +2 |
Great course! I would have preferred the grading to be distributed differently, though. We spend many, many hours on HW assignments and learn a great deal. Exams are quick repetitive and ????. Why are exams worth so much? And what is an abstract function? :) | 2 |
Considering how much is involved in the course and how essential it is for CS students, I think the department should consider working in a 14 week class like the Math department does with MA 1020. Java clinics at the beginning not the middle. This was a great course and I am looking forward to taking more courses with you. | 2 |
Many of the first year students who took this course had trouble with the Java syntax. Most of them only came into the course knowing Scheme taught in CS1101/1102. in future courses, it would be a good idea to spend time teaching java syntax. | 0 |
Not much to say, really. I think the course will get better over a few more iterations. The one thing I would bring up would be that it didn't seem as though the course worked too well for people without prior knowledge of OO programming, although I cannot say how this would be improved as it wasn't a problem for me. | 1 |
Class taught towards CS majors alienating people like myself who took this course to satisfy requirements. I did well on the HW but the tests were difficult and brought down my grade even though I feel I had a good grasp of the concepts and material. | 0 |
This was a decent course overall. The labs were a waste of time. HWs and lectures were geared towards students with sufficient java background, making it difficult for non majors to stay on track. CS1101 is useless for this class. Professor is over-passionate about work | 1 |
I struggled a lot wit this course, I may not pass. but I don't feel it was your fault. I have put a lot of time in with office hours and the subject is still very confusing to me. Book wasn't helpful. | -1 |
The possibility of choosing between projects would be nice (as far as HW goes). Although fun, HWs could be more challenging (as far as coding goes) | 0 |
Clinics seemed like a waste of time for all . Maybe if
TAs went around with you, things would go faster. If I had not taken CS2005 already, this class would have been extremely difficult. |
-1 |
More time should be taken to teach Java syntax so people from CS1101 don't drown. Allow or encourage HW partners. More/better practice exams | -1 |
Professor Heineman was excellent, went above and beyond
in course organization and help. Discussion boards, HW setup, course all exceptionally helpful. The clinics should be redone though -- didn't find helpful |
2 |
I found the class to move very fast and there was a lot of information that you presumed we knew. I also found it difficult to take notes, and when you did write things on the board, they were not clear. | -1 |
This class was way too easy for upperclassmen and quite difficult for freshmen. Hopefully, the new CS curriculum will balance itself out, and next-time around this will be a freshmen course. you need to remember that most of these people have never written real code before (Scheme doesn't count) | 0 |
I think the backgrounds of the other students in the course were too diverse, some of us had years of programming while others had a term or none at all. This made the class too easy for some & too hard for others, although I think you handled it well | 1 |
I think after the feedback from the first test, the java
language was taught a lot more in class and as a result the HWs became
slightly easier. However, the difficult for a 2K level course seemed extraordinarily high. But I feel that I learned a good amount about programming |
1 |
TA/SA comments on HWs was poor. 2-3 lines of comments does not help us program. TA/SA should write what they are thinking while they grade HWs |
-1 |
I really liked this class. The only thing I would change is having the lecture partners from the beginning of the course and spending more time in the beginning teaching Java instead of theory. | 1 |
HW partner would have made learning easier | 0 |
Teacher was overall excellent. Really did a great job teaching us on how Java works at its core and overall how object-oriented programming works. | 2 |
First day of course, tell all the ECEs that they don't want to be here; CS 2005 & discrete math are easier. If only I had done that... | -1 |
Very well done class. I enjoyed HWs. | 2 |
Java clinics are key | 0 |
Very good class, but sometimes the HW descriptions were a little vague (REALLY VAGUE). Fix that and it's golden | 1 |
A little more clarity with HW instructions wouldn't hurt :) | 1 |
It was hard at first without knowing the Java syntax. It would be better to introduce the proper way to code in Java early on rather than tossing ideas our left and right. | 0 |
Do the clinics at the beginning of the term | 0 |
HW due too quickly HWs are too hard to complete in short time exams are okay pushing HW, last minute is ludicrous. Let us sleep! |
0 |