Evaluation Comments
Course:Data Structures and Algorithms in Java
            (CSC-383-801)

Quarter:Winter 11/12
Time: Th 17:45 - 21:00
Location: Loop Campus
James Riely PhD

Associate Professor
jriely@cs.depaul.edu
Instructor homepage

Select a Page:  
Summary     1       2       3       4       5       6       7       8       9       
10     11     

What are the major strengths and weaknesses of the instructor?


1.   Prof. Riely is brilliant, and at the same time does not hesitate to say if there's something he doesn't know.
2.   Strength: Makes the course challenging but this way you learn the subject better. Knows the subjects well. Weakness: Had not taught the course in a while. Difficultly gauging student understanding levels. After first exam seems to go over new subjects longer in hopes everyone was truly understanding since the first exam grades were a reflection that not all students were keeping up.
3.   Professor Riely is really excited about the material and presents it in a fun and engaging way.
4.   James took time to research a good book for this class, since the previous one got bad reviews. He explains the material well and takes time to answer questions during and after class. James doesn't relate the material to real world. For example when one would use a particular data structure and doing a comparison of a Queue we implemented in class vs a Queue provided by Java API.
5.   Strengths:-Energy level and interest in the subject matter remained high throughout the entire course.-Excellent level of knowledge.Weakness:-I didn't like the google groups initially because of the high # of emails. I have a job, wife, two kids etc. and the time it took to parse through the emails was debilitating. But I did learn to adapt eventually.
6.   I was excited about this class coming in, that changed with the teacher. The teach knows the material. But had unrealistic expectations of the students given the level he teaches at. A lot is implied or left open-ended for the student to decipher. This relates to explanations, as well as homework assignments. Had the difficulty of the assignments been more consistent and straightforward I would still be excited about this class.
7.   Seemed extremely disorganized and unprepared. Homework assignments were always ill-defined, with every one requiring something to ask the instructor a question to clarify what was wanted. Course materials were difficult to find since there was no organization whatsoever (simply emails back and forth) and it was very frustrating to try and find anything.Lectures were good, and while the slides were organized, they were never made available to us. It would be nice if the teacher used a system like COL or something to keep track of everything for the class instead of just emails.
8.   James hasn't taught this class in a number of years, but he knows the material well. I'm impressed by how well he knows Java. I like his enthusiasm for the topic, and I think his teaching style is effective in conveying the material.
9.   He knows exactly what he's talking about and know when the book may be a bit outdated, also knowing when things can be done a bit more efficiently than how the book shows them.
10.   A strenght is definitely his passion for the course content which comes accross clearly. He is enthusiastic and energetic. Weakness, while always available to answer questions I feel there was a quick assumption made that all content was equally graspped by all students. The amount of time I spent trying to understand the material so that HW can be accomplished was ridiculous. By a large margin the toughest course I've taken.
11.   Strengths: Instructor is well versed in the subject matter and up to very fluent in the language. He was able to help with all questions asked.Weakness: due to the new book and first time in a while that he taught this course the semester felt pieced together and at times hard to see the connection between parts.

What aspects of this course were most beneficial to you?


1.   The online discussions were extremely helpful; I wouldn't be able to finish my homework without them!
2.   It critical to know the basis for structures used by all programming languages.
3.   The lectures and homework assignments combined to reinforce the concepts and practical application of the algorithms and data structures we studied.
4.   I found basic understanding of measuring performance useful, although I felt we went overboard when started going into too much detail. I think understanding of queues and stacks is useful. Priority Heaps and Binary trees will most likely come in handy later on in my career.I also found basic collection techniques very useful; implementation of interfaces, using Iterator, Comarable and Comparator interface. Although I wish we would have spent more time on those.
5.   I always came out of class feeling like I learned a ton. The homework drove home the topics as well.The textbook was probably one of the best I've used.
6.   study of algorithms, order of growth
7.   Having a better understanding of data structures.
8.   Both the programming and the theory were important to me. I increased my knowledge about Java and Eclipse - and I learned about data structures and algorithms. I just wished there was time to go into more detail - even including the mathematical proofs. As it is, we really are covering less than half the textbook.
9.   The use of a Google Group was good for when the questions and their objectives were unclear from what the book stated.
10.   The amount of coding in the HW assisgnments forced a certain level of comfort with how i know look at code. The google board was instrumental in sharing ideas or getting direction on hw assignments.
11.   I was thrown in to decipher code that is more complicated than anything I have done so far(I am a beginner after all) and there was a lot that I learned through the semester.

What do you suggest to improve this course?


1.   Have homework graded in a more timely manner and have the graders provide a bit more detail or suggestions.
2.   Please make sure to clearly define all requirements of homework. Do not make requirement changes too close date of submission. Possibly an earlier exam for the instructor to better gauge student understanding of the subjects already taught.
4.   1. Pace of the class picked up towards the end, which is the hardest part of the class. Should be vice versa.2. Homework problems were extreme. I spent on average 20 hours a week on my homework, excluding reading time. I felt that the problems were great, but there were too many of them. On average it would take me 3-4 hours on a single problem and sometimes we had to do two different versions of it. I would definitively say to decrease the amount of homework. By week 7 I was burnt out and I still have 4 more years of school.3. Exercise problems from the book are not very clear. You're never sure of what exactly they want from you. On almost every homework assignment, a student would ask to clarify the problem. I would recommend for James to write the exercise problems himself.4. I like the book, it explains for the most part everything well, it has good site... However, it's lacking in one department. The book abbreviates its variables. For example: - st for Stack - q for Queue - N for size.I would not recommend for James to waste his time formatting the book's code, since he already does a lot. Just a comment that maybe James can send to the book's author's.
5.   There were a TON of emails from the google groups i had to go through. But, I also found they added value at times. It just turned out to take up more time then I expected.
6.   When Homework explanation was literal and straightforward I valued the homework. It was certainly inconsistent, at times I wish assignments had not been tangential to the material. This makes it difficult to truly be comfortable with a topic.
7.   A syllabus should be required for any class. Also, maybe focus on how to make algorithms better. Understanding how sorting works is great, but implementations of these is repetitive and a task that doesn't really help (and has already be solved over and over again). I think giving students poorly optimized algorithms and having them fix them would be better learning and more realistic to the problems that will need to be solved. Also learning more about big O notation instead of the teacher saying 'you don't need to know this'.
8.   I really hate these invidual desk-seats in CDM. Why don't we have tables like in Lewis? I need more space to lay out my textbook, papers, PC.
9.   Maybe create discussions for each of the questions when the homework is assigned so that clarification on any problems people have questions about is organized and easily accessed.
11.   While I learned more.. some times it was challenging and I felt I hit a dead end.. A clearer walk through and possibly more interactive examples and coding together in class could have helped with this.

Comment on the grading procedures and exams


1.   The grading procedures, IMHO, are fine, just the explanations need to be clearer, like how many points each homework assignment is worth, etc. Really wish the mid-term could have been explained a bit more ahead of time in terms of what format it would be, how much code would be required to write, etc.
2.   Maybe too many questions on the first exam for the length of time we had to complete. Better explanation of why points were missed on homework and exams.
4.   1. I disagree with in class exams for programming classes. I think it should be a final project and a take home. If someone wants to waste their time and money to cheat, it's their loss.2. I felt the mid-term was detrimental for this class. We wasted week 6 on a mid-term and half of week 7 on reviewing it. Time could have been better spend on slowing down the pace of this class. I would definitely say to remove the mid-term completely.3. I felt the time given for the mid-term was too short. I wasn't able to finish one of my problems. Also, i felt in a rush the whole time and this was reflected in my grade.4. I felt the mid-term questions were poorly chosen, given the time and format of the tests. The problems utilized data structures we studies. However, the solutions needed time. If James decides to keep the mid-term, he should either give us more time or make sure the problems tests student's ability to use data structures, not figure out how to solve a problem.
5.   Totally fine. Everything was graded in a fair and timely manner.
6.   The curve should say something about inconsistency in the class. The midterm was in my opinion as difficult as a homework assignment, but expected to be done in 2 hours. We usually get a week for homework problems
7.   Grading seemed fair. The exam featured things we did not talk about at all in class (or in any of the reading) which did not seem fair.
8.   I thought the midterm was hard. I do all my programming on the computer in an IDE, which tells me all the stupid things I need to correct. Taking a test where I have to write code without the computer is asking me to jump from the plane without a parachute. It's testing me in a way that I haven't practiced or built up skills on.
9.   I can't really say anything. The grading was always done before the next class; and (at the time of writing) there's only been one exam, and I would've preferred to have taken the final before I talk about how hard the "exams" were overall.
10.   The timed exams resulted in a hurried approach that could have had an impact on the final grade. Not sure what the point of a timed exam is. Sure, the information is either known or not [known]; however, some may work at a slower pace than others time pressure did not seem conducise to determining onces understanding of the content.
11.   They are hard, but teacher has tried to be fair at times which was nice. Just wish that topics specific to the midterm would have been better pointed out so that I would have been a little more prepare.. felt there were a few too many curve balls/tricky questions for us beginning programmers.

Other comments?


1.   This is probably the single most difficult course I've ever taken in my life. I don't blame Prof. Riely - he's an excellent instructor; it's the material. If I'm not at work, I'm working on the homework or catching up on the reading. I've even take time off work just to work on homework (and this is the only class I'm taking!).
2.   Would take a course with this instructor again because I know I will know the material correctly.
5.   I look forward to taking more courses from this instructor. I feel like a learned a lot.
6.   I spent a great deal of time outside this class getting homework problems to work/run. essentially just getting up to speed. This makes it difficult to ask a specific question because first I need to have a linked list implemented and working correctly before I can experiment or ask specific questions. to me, this is time spent tinkering and not time spent working with the material LEARNING. I believe this is because of poor explanations, ambigious directions, and inconsistency. This led me to feel as if I was taking the class on my own without help. This is because its difficult to ask a specific question if you cannot get the program to run. This type of issue occurred frequently. Final note, this class would have been difficult but realistic had the tutors in tutor lab assigned to this course been of any help. I know this is not the teachers responsibility, but that was a huge let down. This is difficult material, of 10 attempts to get help with material from this course 0 were helpful. So again at times in this course specifically with homework there is no where to turn for help. This is a terrible feeling and is in my opinion not time well spent.
7.   The teacher's lack of organization was appalling. It seemed very unprofessional and I felt like I wasn't getting what I signed up for. The homework (seemingly hastily pulled from the book) always had significant problems that made it insolvable. It would have been nice if the teacher had tried doing the homework before assigning it to us. This was a really disappointing class.
8.   I liked that the textbook has a good website, for slides, code examples, errata. The textbook itself was ok, but I don't have a competing textbook to compare it against. For the most part I felt like the textbook conveyed the material well. However, there were times when I wanted to read another author's explanation of something, because I wasn't understanding it from this author.
9.   None.
10.   Prof. Riely's enthusiasm was infectious - an approach very much appreciated for a course that could have otherwise been much more difficult to sit through. Certainly would seek him out on other courses.