STUDENTS' RATINGS/COMMENTS ON MODULE



Faculty:  SCHOOL OF COMPUTING Academic Year:  2005/2006
Department:  COMPUTER SCIENCE Semester:  2
Module:  DATA STRUCTURES AND ALGORITHMS -  CS1102C

QnItems EvaluatedModule Avg ScoreNos Responded




1Overall opinion of the module. 3.074258
2Grade likely to get for the module. 3.949254
3Difficulty level of the module. 4.019258

QN\SCORE

5

4

3

2

1







Qn 1:  Overall opinion of the module.

Excellent

Good

Satisfactory

Unsatisfactory

Poor

Qn 2:  Grade likely to get for the module.

A

B

C

D

F

Qn 3:  Difficulty level of the module.

Very Difficult

Difficult

Average

Easy

Very Easy


Frequency Distribution (Qn 1:  Students' Overall Opinion on the module)

Nos. of Respondents(% of Respondents)


|






ITEM\SCORE

|

Excellent

Good

Satisfactory

Unsatisfactory

Poor


|






Module

|

13 (5.04%)

74 (28.68%)

105 (40.70%)

51 (19.77%)

15 (5.81%)

Module at Same Level (Dept)

|

169 (9.98%)

683 (40.32%)

629 (37.13%)

162 (9.56%)

51 (3.01%)

Module at Same Level (Fac)

|

281 (9.40%)

1280 (42.82%)

1169 (39.11%)

201 (6.72%)

58 (1.94%)


Frequency Distribution (Qn 2:  Grades likely to get for the module)

Nos. of Respondents(% of Respondents)


|






ITEM\SCORE

|

A

B

C

D

F


|






Module

|

65 (25.59%)

125 (49.21%)

52 (20.47%)

10 (3.94%)

2 (.79%)

Module at Same Level (Dept)

|

377 (23.19%)

781 (48.03%)

369 (22.69%)

88 (5.41%)

11 (.68%)

Module at Same Level (Fac)

|

589 (20.62%)

1572 (55.02%)

588 (20.58%)

96 (3.36%)

12 (.42%)


Frequency Distribution (Qn 3:  Difficulty level of the module)

Nos. of Respondents(% of Respondents)


|






ITEM\SCORE

|

Very Difficult

Difficult

Average

Easy

Very Easy


|






Module

|

64 (24.81%)

139 (53.88%)

51 (19.77%)

4 (1.55%)

0 (.00%)

Module at Same Level (Dept)

|

335 (19.76%)

794 (46.84%)

500 (29.50%)

56 (3.30%)

10 (.59%)

Module at Same Level (Fac)

|

392 (13.11%)

1185 (39.65%)

1272 (42.56%)

123 (4.12%)

17 (.57%)


Q1.  Please comment on the strengths and weaknesses of the module, and suggest possible improvements.
1.Strict marking; interesting subject
2.Algorithm is taught clearly in this module. But it will be better if more non-graded exercises are provided.
3.The syllabus is quite good but the problems given for execise are not many
4.I think it is nicely planned out but I thought the notes could be a little more comprehensive.
5.Use of Course Marker for Labouratory session is slow and redundant. Should not include Practical exam could instead implement such that all lab assignment be marked for CA consideration.
6.This module has very good lecturers and teaching assistant. However, more time is needed to really understand some of the concepts taught.
7.The PE could be improvised further.
8.Its difficult to write the codes for the various ADT because thses were not taught during lessons.
9.lost mid-way. do not know the direction for this module.
10.PE is unfair
11.Strengths: interesting contents Weakness: practical exam
12.none
13.it would help if the introduction to C++ in the beginning of the module is more comprehensive.
14.Overall it's ok, but a mentality that this course is different compared to CS 1101C needs to be reiterated.
15.Should not solely base exams/test/practical exams on the prescribed textbook.
16.Concentration on structures without learning much about the language. very heavy picking up the language and "grammar" on our own.
17.Messy organisation. (eg. labs and schedule of release of tutorials)
18.very poor coordination and facilitation
19.Focus more on the practical part of C++ as I realise we are quite weak in the practical.
20.THe weekly labs are good pratice.
21.1) Explore alternative methods to evaluate lab work as the current CourseMarker system is not end-user friendly, especially since there is too much lag when accessing it. 2) If possible, stagger the starting times for practical exam to reduce network congestion.
22.CourseMarker needs improvement.
23.The lecturers did not give a clear indication what we are expected to learn from this module. Is it to understand how to use ADT data structures? I find that we were not exposed to much actual C++ implementations or are we expected to derive it by ourselves? Overall, I think the syllabus are taught without much plan and focus. Another major issue is regarding the practical exam conducted on 7th April. It was plagued with many technical difficulties that resulted us in having less time to work with and the undue restrictions imposed on us impromptu. I hope they will sort the problems thoroughly for future batches taking this module.
24.webcast made available would be preferable as students could go through difficult lectures again for revision
25.Too many topics squeezed together, very heavy workload with labs every week. Practical examination was an total failure with numerous gliches in the system. Practical exam component should be scrapped and replaced with other alternatives. As with CS1101C, this module breeds disgut towards programming.
26.Lectures were unclear and there were lots of mistakes in the lecture slides.
27.Webcast should be made available as this is a hard topic. Students can go back and view the webcasts to revise. More examples should be provided for further understanding.
28.Module is generally time consuming and takes up alot of time, especially for people taking 6 modules. PE is good and shud include a higher percentage.
29.the way PE is conducted needs improvement, CM needs an upgrade too.
30.the PE is totally in a mess and it is certainly very unfair to alot of students esp. to those who could not log in till a much much later time and to those who lost their works due to the shut down of the system w/o being warmed and it happened even when we were promised time extention...
31.No comments
32.Its difficult for me to understand,as I have not done C++ before
33.Its really good. But i think they can go a bit more in detail in some of the topics.
34.the basics of C++ is needed for this module according to me. so some improvelemts can be done in this regards. a student like me who is very much new to a programming language like C++ may feel the module to be tuffer.
35.The major weakness is the way they conduct the PE!!!!.They could be more organised
36.It is more of theory. Not enough codings.
37.Interesting in general
38.Please improve on the PE systems.
39.Practical Exam environment should be improved.
40.The system failures during the PE, very distressing to students affected. Please have a proper protocol next time and be prepared for such occurences.
41.Lecturers are friendly. But the module info esp regarding test and exam is very little. Lack of info for students to prep for exam and test.
42.the lecturers can go in more detail and can be more articulate
43.There are too much graphs and less code or explanation in the lecture notes. For example, for the Tree lecture notes and especially avl tree, almost all of slides are picture, not many explanations.
44.It's ok to study but hte module should have more labs.
45.The module touches on critical material without overstressing the students. I think it is just the right mix. However, more hands-on coding and some additional aspects of the language (C++) should be covered. I think it would be better if students took C++ rather than C in the first semester.
46.strengths are that the lecturers are trying their utmost to provide a good scheme to teach this module, but not very easy to do so.
47.The module provides students with fundamental knowledge about data structure and algorithm. It is very interesting. However, I think we should have more practice and exercises.
48.strength is the vast course structure. very good. should give a lot o [ractie for the students. the ecturers dun hav the past year paers.how pathetic is it ?
49.too qualitative, needs more labs
50.Trying to squeeze in too much information in too little time! C++ is a very complicated language and it's hard to get a good graps of it in such a short time
51.it's able to cover a great amount of topics within such a short semester
52.The Pratical Examination part of this paper is beyond the acceptable range. It was not properly setup to a high extent and we were incorrectly informed of how it was going to be. If it were not for this improperly setup practical examinations, this module would have been considered among the best. A better setup of the practical examination is highly desirable. Though the forum is active, more elaborate answers from the lecturers would be better.
53.Still too much focus given on the coding of programs instead of focusing more on algorithms... The module name IS Data Structures & Algorithms, not Programming in C++... This shown by the questions in midterm that require coding and also the weightage of practicals which add up to 25%...
54.There is lots of things to learn. The lecturer tried to explain the course to us, but obviously they failed. And the questions of the exam, especially PE, is not covered in the lecture. Many of us never expected it, so we did really bad.
55.The module is quite packed with the assumption of all the students have the basic of C++.
56.No clear about what we should read!
57.The classes are too compact so that we cannot really understand well
58.Nice efforts to make the lessons more interesting. However, do try to improve communication skills.
59.NIL
60.Very poor administration. Real need for improvement.
61.explain more on the code!
62.The C++ language should be taught from a easier level. Thus students without programming background( who are the majority) can have a better foundation and better understanding of the module.
63.Too many things. Cannot go in depth for every topics. The tutorials questions does not much help in understanding the topics. CS1101C was much better. The lab sessions are not good enough to help to understand the specific topics taught. This module should be separated into 2 separated modules. Either that or during the holidays there should be an intensive bridging course which will teach all the basic coding. Right from scratch.
64.feel hard
65.it helps us think systematically, however, it can be made less abstract.
66.should teach C++ basic code writing
67.the lectures are rather useless in teaching the basic code writing which is sadly the most difficult part for most of us.
68.i think the teacher could give more substantial notes in details, for example, a sample code for a program.
69.poorly organised syllabus
70.I find it difficult to understand most of what the lecturers have taught. Besides, I strongly request for webcasting as I seriously need to study webcasted lectures for exams.
71.It is very messy at the beginning but nonetherless things get worked out at the end. I heard that is much simpler compared to our senior one. Possible improvements would be more structured course rather than messy. Lecturer command of language could be improved greatly.Most of us have problems with basic C++ language such as exception, pointer and class.
72.Very poorly designed.
73.Strengths: Timetable and tutorial times are well adhered to with no backlog of topics. Weaknesses: From lectures, tutorials and labs, it is not always clear what is in the syllabus or not. Textbook seems useless because too much of it is not covered and lecture notes sometimes differ from textbook. Practical exam was bad because of server problems and unfamiliar program used for coding. Improvements: Lecturers should come up with their own complete notes, with focus on what they want to teach. Then students can be sure of what to study and have less confusion about what is in the syllabus. Scrap the textbook since it is too wordy and too wide syllabus. For practical exam, maybe divide into two sessions with quarantine time. That way less server problems. Or simply give more graded labs if a more reliable system is not available. Also, teach one standard method of lab interface, either all CM or all vim, etc. This way, students can be sure that standard way always works instead of learning so many different interfaces.
74.more usage examples of the methods could be given
75.The lecturers mat provide studets more baisc concepts of coding.
76.difficult,make it easier
77.nice module
78.This module give students a good understanding of OOP, which will be quite useful in the future.
79.Nice module
80.too abstract, lack of practice better if there r more consultation
81.lab marking system not good, the coursemarker. Especially in PE.
82.lectures are too brief.
83.very difficult. should teach something about C++ before this one
84.i think labs should be more.. and pe be better.
85.Lecture Notes are too easy, no practical examples
86.Generally speaking, the teaching of this module is acceptable, but there is still room to improve. For example, the lecturers need to be more precise so that everything taught is correct and we are not going to be misled. The practical examination should also be organized more carefully.
87.The software and webpages of this module are not very user-friendly.
88.control of time need to improve
89.This module teaches you one thing and is fond of testing the other. You never know what is important. Improvement: Please test whatever you teach and please teach whatever you are going to test. That is the way to test students' learning ability.
90.The lab section gave us a lot of practice, however can arrange it better: like grade every lab but reduce the total number of labs.
91.Highly disorganized and mismanaged and difficult to understand the lecturers english.
92.This module can be very productive if efforts are put in administration and teaching.
93.I think there should be one lecturer throughout as you tend to get used to his style of teaching. Otherwise both lecturers are go0d.
94.Strength is the textbook that has been recomended.Its a very good textbookw hich uses simple english words to explain complicated concepts.Thereby its easy to clearly understand the concepts. Well the software system used inthe labs is a huge weakness.It has never been working properly and the created lot of problems during the PE exam. Lecture notes are not very clear and need more vivd descriptions of the concept. Webcast is highly recommended for this module. Also improve the coursemarker system.
95.Strengths : The provided book is good Weaknesses: The course marker gives trouble.
96.quite good
97.N.A
98.knowledge about c is not required that much we did not get enough time to practise our c plus plus programming skills we should have thoroughly done c plus plus last semester and applied that knowledge on data structures and arrays this semester.
99.Cheng Holun ==Good Huang Zhiyong==Bad (I mean very very bad)
100.Poor teaching methods. especially for the second lecturer.
101.The jump from cs1101c to cs1102c is very huge. Students seem to be expected to be proficient with coding based on what we have learnt in cs1101c, which may however be inaccurate. True, algorithms are the main focus of the module. However, not every student has become that powerful in programming to convert algorithms immediately into codes. The grace period given for us students to work on our labs definitely is a plus point instead of what we had for cs1101c (24 hours). This extra time has definitely made the learning more fruitful.
102.Can't even understand what the lecturer is talking bout. He do not know what he is teaching. Change lecturer for a start.
103.Without C++ background, the first 2-3 weeks of lecture gave the feeling that nothing is taught at all/no idea what was going on; C++ bridging course hardly helped, in retrospect. The format of the labs/PE eases this difficulty by providing the basic structure of the C++ coding, but makes one wonder what the first 2-3 weeks of data structures lectures was good for.
104.Difficulty adapting to C++ language as it is not officially taught.
105.The module is very abstract and difficult to understand.
106.i gave unsatisfactory originally.. but.. i think can be improve in a certain way.. the delivery of the lecture..(maybe can see how the other lecture lecturing the same group control the class..)
107.5mc module. need more time for self revision.
108.Should put more emphasis on c++ techniques apart from the algorithms.
109.The lecturers are very patient with the students. I appreciate what that had done for us. Providing help after lectures and in the ivle forum indeed benefits alot of students. They should keep up the good work.
110.very difficult lab session, didnt know bout consultation until Dr Huang told us in week 8. should tell earlier. also lab allocation should be done through cors rather than science fac intranet as it is 1st come 1st serve
111.Generally quite interesting. However, very difficult for students without much computing background to understand the lessons fast enough as compared to their counterparts in CPE (who usually had strong computing background).
112.Give actual coding and not pseudo-code as many students are weak in programming.
113.got to learn alot of things outside curriculum time
114.Module isn't hard, but the administration is just horrid. I've never seen such poor management before. This module made me reconsider engineering on a whole.
115.The module expected us to have a strong foundation in the syntax of C++ so there was no lessons on the language. However, most of the students have absolutely no background in C++, and the module in CS1101C did not help much as C++ syntax is almost totally different. Thus it was very difficult to cope with the more complex stuff whilst trying to learn the syntax.
116.Strength: Interesting module Weakness: Hard to understand
117.using a different prog language from cs1101 to teach data struture hampers the effectiveness of the course
118.abstract content and concepts makes the course very difficult as a whole. could be improved if the lecturers could explain better. practical exam was very frustrating as the computer system was not consistent and the had to learn how to use the new program to do the practical. could be improved if such technical glitches are minimised so as not to demoralise students.
119.Strength: The module helps in training logical thinking. Weakness: A lot have to be learnt in a short period of time. Though it can be seen as a form of challenge, I feel that the more time is needed to fully understand the topics covered.
120.Give more practices, such as give us access to past year labs.
121.more explanation on the applications of what we learn is needed. we learn trees, avl trees etc.. but what are they used for?
122.Terrible organisation, particularly the practical exam. Normal lectures and tutorials are always uploaded at the last minute.
123.Perhaps extra time could be spent for tutorials
124.Poor management and lecturers. Lousy system of doing online labs AS COMPARED to CS1101C.
125.Very poor lecturer.
126.The lecture notes are not comprehensive. The lectures are not comprehensive either. There could be wedcast so that I can play back again and again just to understand what the lecturer is trying to say. The practical examination(PE) is totally disappointing. There were so many hicupps! We were using some unknown(to us) program to program. This is totally unfair. The connection was so horrible. The TAs were unprepared for the PE. The whole module is an utter disappointment.
127.pace too fast, too many things need to learn
128.provide more basic working examples.
129.not very user-friendly
130.I felt that the amount of information taught in this module given the number of lecture hours is certainly not enough. Not only did we need to know C++ standard coding, but we also need to learn on the different type of data structures in this course. I would suggest 4 hours of lecture a week with 2 tutorial sessions - 1 for brushing up of C++ environment and the other for data structures.
131.This module presumes a student is incredibly proficient in the basic programming methodologies of C/C++. Invariably, I don't think this module should start off at such an advanced level to the point that worked examples in lecture notes often do not include the full programming codes to demonstrate its use.
132.Please revise the notes to give a better description.
133.Interesting module. However, there are several hipcups throughout the semester, such as the coursemarker set up and PE problem, which could have been avoided if the lecturers have better prepared for them. The course marker has proved quite inefficient during the PE, suggestion would be to abolish the CM for submittion during the PE to avoid unnecessary panic in students. Furthermore, TA's during the PE seems rather unprepared for the exam as well as not knowledgable in handling the connection problems, perhaps they could be better prepared to aid the lecturers in the event of massive connection problems.
134.Strength of this module is teaching of many advance algorithm of C++ programming. But this ended up to be its weakness as well. The Learning curve is too steep. NUS failed to recognised that many local students do not have programming background. C programming in the first sem do give us a little back ground. But somehow, it is still different. C programming may be similiar to C++. But they have to understand that there are a lot of difference between them too. I believe many students will agree with this. If NUS really feel that their EEE students shld have the basic of C++. Isn't it more proper to teach them C++ methology in sem 1 and follow by C++ algorithm and data structure in sem2?
135.lectures can be improved. PE test was a horrible experience.
136.The coursemarker has posed a lot of problems during our course. This erroneous program malfunctioned frequently during the practical exams, and has thus affected our performance during the exam. I suggest the coursemarker to be taken out from the next cs1102c.
137.The practical examinations need to be improve, as the systems of the PE is not similar to the normal System we used for during practices
138.Need to Emphasize more C++ coding
139.Though the module teaches great techniques on data structures, it expects students to have in-depth knowledge regarding C++. One solution might be to recommend reference books which can teach students about the new programming codes or teach some basic codes at beginning of the modules.
140.There are quite a few instances where there are mistakes in the notes.And moreover, the lecturer does not get the message across sometimes either because he spent too little time on an important part..or he speaked too fast.Probably it is the way he phrases his sentences. I think students have to spend alot of time reading up to understand the subject
141.The stuff taught to us is insufficient compared to the stuff tested us. Its just disappointing when you put in effort to see it all gone to waste.
142.too tough, pace going too fast. lecturer assumes everyone has programming background.
143.Nil
144.What is taught in lectures are all theory work. We need practical examples. Exactly how things are supposed to work, not pseudo-codes all the time. The theories are easy to understand, the implementation and debugging kills interest for a lot of people. It just doesn't work.
145.improvements can be made for the practical exams, it was a mess on the actual day.
146.it widen my idea on programming
147.Nil
148.The module is well structured, and the data structures taught are line with similar courses taught in other universities worldwide. Thus, I do not doubt the standard of the lessons. However, it can be a little hectic at times, and one HUGE problem I have with the module is that a large chunk of it requires reading the prescribed textbook. I found out that I needed the textbook for the final exam and practical exam, and bought the book specially for the practical, which I feel is a waste of money (it costs $36.50). If I had known that they would not include all the syllabus requirements into the lecture notes, I would have bought the textbook early into the semester, but to learn that that the lecture notes are insufficient only later on is disappointing. Another problem is that the coursemarker system is problematic and had taken up much of my time debugging missing spaces in the output. Perhaps a system that only 'marks' the logic, i.e. correct logic flow and expected value output. As a course on technology, I expected some high-tech facilities like webcasts or downloadable lectures, something like MA1506. Sadly, the the facility with the highest level of technology was the coursemarker system. Overall, I feel that CS1102c could work on the practical labs aspect. The lecturers are humble, professional and willing to listen to our complaints and feedbacks, which is comforting to those who get overly irritated with their buggy codes.
149.It would probably be better if the fundamentals such as templates, classes and probably the language was emphasized before going in-depth.
150.Weakness - NO webcast
151.heavy workload!
152.not enough exercises to help students understand the module.
153.Too much psuedocode and insufficient actual code discussion.
154.i) A better system is definitely needed for lab sessions instead of the present coursemarker. It does not reflect well on NUS to have the same system problems every semester with nothing done about it. Sorry does not cure everything, and major improvements are definitely required to cater for all the students in the module. Else it makes no point for people having trouble to log in and a 2 hour practical exam becoming a 3 hour exam. ii) Example on how to do the practical exam should be clearer. Nobody knew the editor Vim cannot be used, and have to adapt to a new editor at the exam itself. This is unfair. iii) Lecturers are not doing much work in this module. Instead the lab TAs and the other tutors are spending more of their time on setting tutorial questions and exam questions.
155.it was a great jump fr cs1101c to cs1102c and and we are expect to go and learn by ourselves most of the syntax. The coursemarker has caused much frustration due to the slow response time.
156.This module lacks actual coding analysis required for C++.
157.the last few lectures were too rushed. could have been more relaxed. Else there should atleast be webcast lectures.
158.lecturers are very helpful, interesting module
159.To me, this module is a very important module because it teaches us the very fundamentals of data structures. This module teaches us very important concepts in data structures and I feel that it would very useful for higher level learning. Practical Exam!! Use other programs other than CM when students want to submit their programmes!! Make sure VIM is workable!!! MANY students use VIM to code for their weekly labs!! so that students won't have a hard time adapting to C++ dev or pico during the stressful environment of PE!! Every account should be timed seperately. Means pple with different log in times will have different log out times!! so that nobody will be disadvantaged!!
160.more sample answers for us to refer to....more detailed explanation
161.Teach more of the basics and refer more closely to the textbook.
162.i think proper codes shd be given, and having less typo errors in the lecture notes. Also, make available pass year exam papers and practical exam questions.
163.there was a long break at the start, due to CNY, then a lot of topics taught after. perhaps if it could have been spread out better, it would help next time.
164.Well the module is aimed for students who are already good in programming or have some prior experience with the subject...definitely not for people who are learning programming for the first time...So the question is that as a student of NUS, am I supposed to know programming from before or is the university suppose to teach me the subject from the core??
165.Less concentration on coding and more on data structures
166.stress more on the application part rather than just implementation of data structures
167.more theory based question must be released in order to help the student perform well in their final assesment.

The National University of Singapore has used reasonable endeavours to ensure that the information posted on this Web-site is correct at the time of posting. However, the University gives no warranty and accepts no liability for the accuracy or the completeness of the information provided.

In providing such student feedback, the University does not in any way, expressly or implicitly, endorse the views expressed or the contents thereof.