Skip to main content

Survey Results



Course Survey Results


Nodar   Sitchinava
  TA: ${survey.ta} :
  ICS311, Spring 2025

Campus: University of Hawaii at Manoa Course: ICS 311 - Algorithms
Department:   Information& Computer Sciences Crn (Section):   82942 (002)    
TA: Elijah Saloma


1.   Global appraisal: Overall how would you rate this INSTRUCTOR?

Mean N-Size Std Dev   Very Poor (1)  Poor (2)  Average (3)  Good (4)  Very Good (5) 
4.58 24 0.58   0(0%) 0(0%) 1(4%) 8(33%) 15(63%)
2.   Considering everything, how would you rate the GA/TA’s sections of this COURSE?

Mean N-Size Std Dev   Very Poor (1)  Poor (2)  Average (3)  Good (4)  Excellent (5) 
4.54 24 0.51   0(0%) 0(0%) 0(0%) 11(46%) 13(54%)
3.   Considering everything, how would you rate the LAB for this course?

Mean N-Size Std Dev   Very Poor (1)  Poor (2)  Average (3)  Good (4)  Excellent (5) 
4.0 22 0.62   0(0%) 0(0%) 4(18%) 14(64%) 4(18%)

4.   What did you find most valuable and helpful about the instructor?
He's always making us think for ourselves, encouraging us to not use AI to cheat or get work done to just get a grade and pass the course.
smart and know everything.
He is very caring about students actually learning the concepts and will give good examples and explanations if asked.
Office hours were where I gained most of my understanding and really put the pieces together
He genuinely wanted us to learn what is being taught and didn't want us to just repeat what we were reading, but to actually comprehend and ingrain the content so that we wouldn't forget it and be able to aptly recall content we learned. Nodari pushed us to try our best and be the best self we could be.
The fact he had elijah
The instructor is extremely knowledge in the course content and will gladly answer any questions students have. I also like how he encourages office hours since he knows the content is difficult. The instructor also makes the students work for the answer while guiding us to get it. I found this valuable because it isn't learning if you just look at the answer straight away. Struggling is part of the learning.
His passion for helping students understand such a hard subject.
He helped us struggle, and open our eyes to our weaknesses. This class has given me a new mindset on coding as you have to really understand what you are doing and not just copy pasting something else you saw. As long as you can understand why something is the way it is, you can apply it to many different things and use it for pattern recognition.
Their insistence that their students actually understand what they're doing and don't luck into the correct answer. The summary of the textbook notes are extremely helpful.
He wants us to fully understand the contents. He emphasized that it is more important to understand than to just memorize.
The instructor makes every effort to help us understand instead of memorizing the material. He is always open to questions and will explain as many times until you understand.
He is good at explaining the mechanics of algorithms and how/why they work.
The instructor is very knowledgable on the subject and cares about how you are learning the material
The instructor gives time for students to think about problems. This is valuable and helpful because student can practice their thinking skill and the ability to find solution to problems themselves.
No
Most Valuable: - Always available to answer your questions / confusions. - Breaks down challenging concepts in a way that makes it easy to understand
He wants to help us understand the material.
Nodari seems to care for the students and that is a great thing in any instructor. He finds it very important that we actually know what we are doing and stresses good values/life lessons.
What I found most helpful about Nodari is that he doesn't give you the answers straight out, but he will give you questions that will lead you up to the answer. This way you are understanding how the answer was formed and could understand similar problems with it. I also kind of like how if Nodari gives you a question and if you can't seem to answer it, he will rephrase and break it down to you in a way so that you will understand. He will do things like draw pictures, give you vague descriptions, and sometimes hints to help answer his question. It was interesting how sometimes during the lecture, when nobody answered his question, he would just stay silent until someone answered, which was also kind of funny.
Nodari was always able to explain things and answer questions in a way that made sense, even for complex subjects, which is a very uncommon skill.


5.   What did you find least valuable and helpful about the instructor?
i dont like the class structure, where you have to learn by yourself before class.
Sometimes comments on group progress of in-class exercises confuse us more.
The fact that weekly peer evaluations are a part of the grading criteria. I don't think a group member forgetting to submit a peer evaluation should affect my grade. I think it should be similar to how homework notes require an average of 2 to pass in that you must pass a certain threshold of peer evaluation points to pass.
N/A
Wasnt enough elijah
Nothing.
How little Nodari will lecture, due to the fact that he does not believe in lectures.
At times, I felt lost and was not getting anywhere with the problems in class. I get that everyone is different and everyone learns differently, but maybe a way to provide more helpful hints to get a kickstart on the task at hand.
I do think the homeworks don't necessarily need to be as long or as difficult as they are.
He kept tricking the students by telling us something and then saying that we have to doubt even the instructor, which is true because the instructor could be wrong sometimes. But did he really have to do it on purpose? I understand that it's one of his teaching method but there could be a better way.
I think the least helpful part about the instructor is the expectation that we had rigorous knowledge of discrete math. Including more review material, particularly for reading and understanding logical and mathematical proofs/notation, would help students understand the level of expectation for the class and be more adequately prepared.
The instructor is willing to answer students' questions and give examples.
No
Sometimes towards the end of his sentences, he speaks extremely soft.
Nodari is a great instructor.
There was nothing I found least valuable about Nodari since he is very knowledgeable in the field, and I can tell he is very passionate about teaching, giving us helpful resources, and even arranging the course so that he and the TAs/ATAs office hours are spread out each day throughout the week so there is no excuse that you were unable to seek help.

6.   The instructor is fair and objective in evaluating students.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.54 24 0.51   0(0%) 0(0%) 0(0%) 11(46%) 13(54%)
7.   The instructor is well prepared and organized.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.63 24 0.49   0(0%) 0(0%) 0(0%) 9(38%) 15(63%)

8.   Which aspect of the course were most valuable?
Lectures are the most valuable because it helps us learn more insight into the topics
learning different algorithms.
Utilize the questions in the beginning of class. Office hours are a must if you are struggling. Good notes will help (notes are required).
Office hours and Q&A at beginning of class
I think the constant pressure that was put onto me was the most valuable aspect of this course. I had to work on this class nearly everyday because of how much work we are given and it was quite a bit to do, but it also challenged me to study better and to really test my understanding of the content. It also helped that Nodari did not want us to give up and is passionate about teaching us.
Elijah
It challenges you in a way that, I think, is different from most courses. The course tests your understanding of the material and not whether you memorized something. I found this the most valuable because if you understand the material, then you can apply your knowledge to problems you have not seen before, and you can't really do that if you just memorized the answer to a specific problem.
The in class group exercises were helpful in both understanding the process to doing the homework as well as being able to discuss the problems with classmates.
Getting the reality check
Getting hands on practice and running through problems rather than sitting through lecture.
The rigour in gaining the skills and knowledge, then putting them to the test.
Understanding algorithms.
The emphasis on specificity and proofs.
The in-class team exercises were a good place for students to discuss their ideas with each-other and subsequently reinforce or correct their understanding of the topics.
Working through practice problems after learning the material
The most valuable aspect of the course is that it lets us think deeply about the course materials, which helps us to understand them, and it lets us to solve problems on our own, which enhances our ability to solve problems. This is valuable because the skills to solve problems that we learn from this course serves as examples that helps us to solve problems we may encounter in the future, which can be completely different from what we learned. I like this course because I have chance to learn to solve problems that I have completely no idea of how to solve in the past, and I have chance to learn some approaches of solve problems that I have not know before.
No
The whole course is valuable because it will fundamentally change the way you think about how you code and solve a problem. I think what makes this valuable is the fact that the professor requires you to challenge himself, the book, and the notes so that you understand why things are the way they are.
The most valuable aspect of this course was it allowed me to unlock a different way of thinking about certain problems. This different way allows me to really make sure that I know what I am doing and deters me from spending time on trivial things.
I really like the additional screencasts that Nodari provided, since even though they are long and boring (I was mostly sleeping for most of them), I was kind of able to understand the concept somewhat, since it is more like a different perspective compared to the given screencasts. I really liked how the notes are graded, in which even though they don't affect our grades, another requirement is that you need to take good notes to pass as well. It helped me force to learn the concept instead of putting it on the back burner and even helped me prepare for the daily quizzes at the start of each lecture.
Being forced to find answers to hard problems and to do complex discrete math helped a lot.


9.   Which aspect of the course were least valuable?
knowing how to proof in detail.
Student on student evaluation being apart of grade.
N/A
I think the homework was probably the least valuable, mainly for my situation though because the homework took me quite a bit of time to complete and on top of that we had notes due two of the days throughout the week and then the homework was due on Friday. It was quite difficult completing all of the homework on top of all the other work I was given from other classes and so some of them I ended up not finishing and didn’t have a chance to try and attempt.
Everything but Elijah
I barely have any problems with the course, but if I had to pick something, it would be that the notes have to be in Cornell Style. I think this is an issue because every student learns differently, which includes how they take notes, so restricting notes to Cornell Style possibly does more harm than good.
The mental problems that follow
N/A
There could be more resources to prepare for the exams.
Nothing
I did not like submitting homework on paper, especially for problems with writing code or long proofs/justification, but I understand it can make grading and feedback easier.
The mandatory notes
The course teaches us many useful algorithms and problems that we will likely to use in the future.
NO
The least valuable aspect of this course is having to learn all of the material on your own. I feel that some people do not like to learn that way and personally, lectures in class would have helped me a lot more.
Reading the textbook overall was the least valuable since I would be reading most of it, and still would not understand what the chapter was about. I would just usually follow the screencast along with the lecture notes, and if both were confusing, I would use the screencast to follow along with the textbook. After the first midterm, I started to rely just on the lecture notes since they provide a nice summary of the chapter. If a concept was vague in the summary, then that is where I would use the textbook instead of reading the whole thing, understanding very little, and overall wasting time.
I thought that having to produce written notes in a particular format was not usually worthwhile. My time was unfortunately quite limited this semester and so producing written notes in the expected format often prevented me from having time to go into screencasts and other resources, which I think would have benefited me much more.


10.   Other comments?
please help us understand the material better by giving us a short lecture for every class, and students can learn more in detail by themselves after class. i know that some people might be lazy and will not study at home, so having a lecture at the end of the class about the next class material might work.
I highly recommend this class and instructor to anyone who wants to learn and do well in the field of Computer Science.
This class will take up a lot of time. You will teach yourself almost everything Have a strong prerequisite background You will decide if you want to continue as an ICS Major with this class alone. Homework due every Friday, they will take you almost a day to complete Two midterms and the final Don't waste your time. Good luck.
I feel that the weekly structure of this class does a good job at encouraging students to learn the material.
This course is the hardest ICS course that I took up until now, but it is the ICS course that I learned the most.
No
Nodari is a really great professor and very knowledgeable in his field. Even though I understand somewhat from this course, it was one of the few courses that I really don't mind retaking it again to understand more of algorithms.
I thought that having a homework assignment due both before and after midterm 1 was too much and the amount of time I was able to put into those was far less than the other homework assignments. Some of the homework assignments in this class took me incredible amounts of time. I was stuck on one in particular for an entire 20 hours, though I cannot remember exactly which one anymore. Overall I thought this was the best and most useful class I have taken from the ICS department so far.

11.   The instructor was open to comments and questions.

Mean N-Size Std Dev   Rarely (1)  Sometimes (2)  Frequently (3)  Generally (4)  Almost Always (5) 
4.83 24 0.48   0(0%) 0(0%) 1(4%) 2(8%) 21(88%)
12.   The course was a valuable contribution to my education.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.83 24 0.38   0(0%) 0(0%) 0(0%) 4(17%) 20(83%)
13.   I learned a lot in this course.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.71 24 0.55   0(0%) 0(0%) 1(4%) 5(21%) 18(75%)
14.   The instructor treated students with respect.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.58 24 0.58   0(0%) 0(0%) 1(4%) 8(33%) 15(63%)
15.   The instructor demonstrated knowledge of the course content.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.79 24 0.41   0(0%) 0(0%) 0(0%) 5(21%) 19(79%)
16.   This course challenged me intellectually.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.92 24 0.28   0(0%) 0(0%) 0(0%) 2(8%) 22(92%)
17.   The instructor both sets high standards and helps students achieve them.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.75 24 0.44   0(0%) 0(0%) 0(0%) 6(25%) 18(75%)
18.   The instructor was available for consultation.

Mean N-Size Std Dev   Strongly Disagree (1)  Disagree (2)  Neutral (3)  Agree (4)  Strongly Agree (5) 
4.67 24 0.48   0(0%) 0(0%) 0(0%) 8(33%) 16(67%)
19.   Considering everything, how would you rate this COURSE?

Mean N-Size Std Dev   Very Poor (1)  Poor (2)  Average (3)  Good (4)  Excellent (5) 
4.5 24 0.59   0(0%) 0(0%) 1(4%) 10(42%) 13(54%)
20.   What was the format of this class? online synchronous (class scheduled for particular days and times) online asynchronous (class conducted online - no scheduled class meeting)

Mean N-Size Std Dev   Online Synchronous ()  Online Asynchronous ()  In Person ()  Hybrid: In Person and Online Synchronous ()  Hybrid: In Person and Online Asynchronous ()  Hybrid: Online Synchronous and Asynchronous ()  Other () 
0.0 24 0.0   0(0%) 0(0%) 21(88%) 0(0%) 1(4%) 0(0%) 2(8%)

21.   If you answered 'Other' for the question above, please specify.
It is a flipped classroom meaning you watch lecture videos and read the specified chapters (learn on your own) before classes and then during class is class exercises to practice new concepts.
More Elijah pls
N/A


22.   What changes would you make in the lectures?
i hope that there would be some kind of lecture in class, even 30 mintues would be very helpful.
I think the lectures are fine as they are.
Use another student randomizer for weekly groups as it felt like I had the same people in my groups multiple times while I never grouped with half the class.
I would make no changes in the lectures whatsoever.
I think we could use more time in the classworks.
I thought the lectures were alright, the flipped classroom style definitely helped me learn a lot more than a traditional style of teaching.
None, keep elijah though
If talking about the learning materials students take notes on outside of class, nothing. I think they serve their purpose. If talking about the normal day-to-day happenings in class, also nothing. I like how the Professor asks us if we have any questions regarding the topic of the day, which is followed by a quiz to make sure we studied. I also like the problem solving in class because it keeps our brains engaged.
There are no lectures, unless you go to office hours
For the lectures, I believe it is good that we are just working on in class exercises and taking quizzes at the beginning because it forces us to actually learn the content before hand, and come to class with a baseline knowledge. However, I feel like whenever we get stumped, we spend so much time on one problem and don't have much time to get to the others. I get that the struggle is what helps us learn, but maybe push us more in the right direction that way we can actually complete the problems, then we can review them and apply them towards the hw where we would spend much more time on.
I appreciate when the professor addresses the questions he had on the topic when he was a student if no one else asks them. The in-class exercises are good but student participation is somewhat painful for those who aren't afraid to answer. A way to increase other students participation would be good.
Nothing.
Instead of the current 2 lectures a week for 1hr45min, I would have maybe 3 or 4 lectures a week for 55 min. This would spread out the material into more chunks so that we have more time to comprehend and reduce our load every class. It can also reduce our mental fatigue from reviewing large chunks of material and then solving mentally intensive problems in class.
I would not change it. The structure is good right now, the only problem is that the exercises are never completed in-class. I do not believe that there is any part of the lecture schedule that should be sacrificed to allocate additional time for exercise completion, however.
I would like to see practice problems for exams
I would not make any change to the lecture. The current lecture format is good.
Maybe the quiz should be taken at the end of the class so the students have a deeper understanding of this class.
None, I think the lectures are good as is.
I do not believe in the class structure. I think that lectures about the course material should be done in class and the teacher should be teaching the lecture during our class time. As a student, I find it difficult to have to basically completely understand all of the material on my own and be prepared enough to do practice exercises in class.
Overall, there is nothing I would change in the lectures because I kind of liked the inverted classroom and paired up with two other people to solve problems relating to the concept. One slight adjustment would be the seating assignments. I am not sure how the seating assignments are arranged, but I felt that when I get paired with students who know the concept well, they usually just type the answers on the doc without explaining it, and I would have to spend the majority of the time just asking question on how they came to this conclusion. Having the seating assignments arranged so that it is optimized in a way like based on midterms, exams, and quizzes, you will be assigned to students on your level rather than students who are doing well. That way, you would be able to be at your own pace, and even learn the exercise problems as well.
Often during the in class exercises, my group would get completely stuck on how to approach a problem. I feel like learning could be improved by including more concrete examples in the reading, if possible.


23.   What advice would you give to students, who might be taking this course in the future?
Always be sure to be prepared and learn as much as you can in and out of lectures. Given the fast pace of this course, it is especially important to give yourself sufficient time so that not only you get your work done, but also learn efficiently and effectively--especially given the fact that this course incorporates multiple, prerequisite courses' materials, giving you sufficient basics to understand the material of this course. So, if you have not been learning or paying attention as much as you should have before, this course will keep kicking you down until you can truly understand and effectively use them. After all, if you're someone looking into becoming a computer scientist--i.e. software engineer, cyber security analyst, etc.--the content that this course teaches are only the simplistic ideas in the broader field as a whole. Moreover, if you think you can use AI to code, why bother becoming one in the first place if you're not willing to apply yourself and become better than AI?
do not take a lot of classes while taking this class.
If you do not remember topics from discrete math, in the first week review them or drop the class. Ask questions at the beginning of class. Submit homework early for extra credit (can be 1 question or the full homework). Take good notes on readings and video lectures. Make sure you are able to explain your work on the in-class exercises.
DO NOT FALL BEHIND. Start everything earlier than you normally would as some assignments and readings seem deceptively short, but can require a decent chunk of time. Utilize ALL the resources made available whether office hours or past HW solutions to gain a better understanding of the material. If you do use generative AI like professor ChatGPT, don't ask it for answers, but use it in ways beneficial to learning. I used it to simplify certain passages from the textbook, walk me through solutions in the book, and give me practice problems leading up to exams. Treat it as a 24/7 tutor not an answer key. Good luck :)
Doing practice questions at home really makes a difference on the exams. Anyone who is motivated to work hard will pass the course.
Definitely take advantage of office hours for the TAs and the instructors. They are offered 4 days of the week and can be very helpful when confused about topics that you are learning. Don't procrastinate on homework and make sure to fully grasp the topics you are learning about because everything builds on top of each other. Be sure that you are also comfortable with content from previous ICS classes as well since those are very important prerequisites in this course.
Don't give up and sell your soul
1) UNDERSTAND the material, NOT regurgitate it 2) Start homework as early as possible 3) Go to office hours if needed 4) Have a mindset change (if not already). Prioritize learning over good grades. Learning will come with good grades, but good grades does not always mean you learned something. 5) Last but not the least, unless you know you absorb material quickly, FOCUS HARD starting on week one.
Familiarize yourself with the material throughout the week, look at the reading material and lecture notes, and also look at the homework problems. It is helpful to be thinking about the concepts you are learning early and diligently. If you do this throughout the semester, the tests will feel like going through the motions You really have to understand the material in order to do well in this class so make sure you spend some time daily working on something for this class.
This class will take up a lot of time. You will teach yourself everything Have a strong prerequisite background If you've taken the Leeward Discrete Math Async classes, you will have a hard time in this class Homework due every Friday, they will take you almost an entire day to complete Two midterms and the final Don't waste your time. Go to every office hour there is. Practice everything Take care of your mental health Good luck.
Ensure your basics are down and you understand discrete math well. A lot of these topics can be difficult to understand at first, but once you understand how it works, the rest is just implementing the basics and being confident in your code. This is where I struggled. I could do well on quizzes, but implementing certain things would be hard and I wish I would have understood the basics a little more coming into this class, especially to do well on the midterms.
Start your notes early. Start homework early. Don't be afraid to be wrong on the homework or in the in class exercises, you're there to learn, you can't do that by cheating or staying quiet.
Instructor uses pressure method to make students learn the contents of the class. It was perfect for ICS 311 because it was hard. But it does not guarantee your mental health. If you know what you're doing, you'll be fine.
Have good knowledge of discrete math concepts and mathematical language/notation. Put in the time and effort to truly comprehend the material. Cheating on homework does not help your education nor your grades since exams are worth more anyway.
In this class, it is very important to understand how algorithms conceptually work. Taking the extra time to learn this will help you perform better on the in-class quizzes and better collaborate on exercises with your peers. This means that it is crucial to not leave the studying to the last minute, if you want to learn and get good grades.
Start your homework early, have a light schedule for this class, and attend office hours if you don't completely understand something.
Hello, future ICS 311 student! The first advice I give to you is to be familiar with almost all content in the past courses you took. These courses includes, but not limit to, ICS 111, ICS 211, ICS 141, and ICS 241. All contents in these courses are the basic stuffs you must know to not fail ICS 311. Be aware that you will not be given time in ICS 311 to study for content from past course; you will study ICS 311 materials directly. Therefore, be sure you are ready before taking ICS 311. The second advice I give to you is do not be lazy to think, because many course materials require a lot of thinking to be truly understand, and many problems also require a lot of thinking to solve, and understand why some solution work. Furthermore, when doing homework, try think hard and figure out the solution on your own, to practice thinking skill, and your ability to find problem's solution on your own.
No.
Study and always ask questions on topics that you are confused on because he is great at breaking down your confusion and answer in a way that helps you understand why concepts and formulas are the way they are. Another piece of advice is to make friends with people as soon as possible so that way you can study together and work on homework together, so that both of you hold yourselves accountable.
Be prepared to spend a lot of time in this class. Try your best to find questions to ask, so at least u know what you want to know.
My advice that I would give to students who might be taking this course in the future is to make sure that you take a lighter course load if this class is one of the classes you are taking. I saw the advice that was given in the past for this class right before I took this class and did not listen. I was taking on the biggest course load I have ever taken, this class being one of the classes. This class takes up an enormous amount of time. Especially for those of you taking ICS 314 at the same time as this class, make sure that you have an easy schedule for your other classes.
Students who are taking this course in the future are HIGHLY ADVISED to review their discrete math knowledge (ICS 141 and ICS 241). This course relies heavily on discrete math and builds on the assumption that you understand things like sets, proofs, mathematical reasoning, logic, etc. HIGHLY recommend reviewing proof by induction since it is one of the ways to prove correctness within your code. A little side note is that once you have created your code, be ready to prove that it is correct, since the majority of homework and exams give more points on the correctness of your code rather than on designing it. Another piece of advice would be to start the homework early and not cheat on it. It may seem tempting at first since the homework is really hard, but the homework is meant to help you prepare for the exams. The exam is equally as hard as the homework, in which if you did the homework correctly, then you will do good on the exam. Speaking of the homework, if anything is too confusing, don't hesitate to ask for help and attend office hours from Prof Nodari or the TAs/ATAs. There is no going around it; seek help from even your peers to understand the concept and finish the homework. Be prepared to sacrifice your free time (including the weekends) towards this course, since this is a very fast-paced class and you are expected to know the material at the start of each week. Be prepared to do a lot of reading/watching screencasts, taking notes, doing the homework, and going to office hours. It is recommended to take a lighter course load when taking this class, which would mean taking some easier classes since you will be spending a lot, AND I MEAN A LOT, of time on this class (take some asynchronous course if you need to in order to be successful in this course). Overall, if you already know your discrete math stuff, then this class should be easy; if not, start reviewing your discrete math before taking this course, since it is meant to challenge you, think like a coder, and most of all produce bug-free code. When given a problem, understand what the question is asking (draw a picture), write full sentences of pseudocode, refine it until it looks kind of like actual code, then prove it. This is how Nodari wants us in terms of thinking new ways to code and create bug-free code.
Practice, don't just study. Do the extra problems on homework if you can. DON'T take this class and 314 at the same time.