Course Description:
CS 136: Elementary Algorithm Design and Data Abstraction
This course builds on the techniques and patterns learned in CS 135 while making the transition to use of an imperative language. It introduces the design and analysis of algorithms, the management of information, and the programming mechanisms and methodologies required in implementations. Topics discussed include iterative and recursive sorting algorithms; lists, stacks, queues, trees, and their application; abstract data types and their implementations.
Dave's Comments:
Teaching Evaluations:
Number of Respondents: 47 / 119 (39%)
The learning outcomes for this course were clearly identified. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
| 3 | 6 | 21 | 17 |
| 6% | 13% | 45% | 36% |
The course materials and activities helped me to understand the course concepts. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
2 | 3 | 5 | 18 | 19 |
4% | 6% | 11% | 38% | 40% |
The course introduced an appropriate amount of new material. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
3 | 1 | 10 | 16 | 17 |
6% | 2% | 21% | 34% | 36% |
The course content was well-organized and clearly explained. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
3 | 4 | 8 | 16 | 16 |
6% | 9% | 17% | 34% | 34% |
The intended learning outcomes were assessed through my graded work. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
2 | 2 | 8 | 18 | 17 |
4% | 4% | 17% | 38% | 36% |
The assessments contributed to my learning. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
2 | 1 | 8 | 15 | 21 | |
4% | 2% | 17% | 32% | 45% | |
The way in which the course material prepared me for the assessments was fair and appropriate. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
3 | 6 | 10 | 19 | 9 |
6% | 13% | 21% | 40% | 19% |
Feedback on assessments was provided within a reasonable timeframe. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
1 | 4 | 14 | 21 | 7 |
2% | 9% | 30% | 45% | 15% |
Feedback on assessments contributed to my learning. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
1 | 8 | 11 | 20 | 7 |
2% | 17% | 23% | 43% | 15% |
The course environment was supportive and helped me to learn. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
1 | 5 | 13 | 16 | 11 |
2% | 11% | 28% | 35% | 24% |
The course personnel were helpful to students seeking assistance. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
2 | 2 | 9 | 15 | 17 |
4% | 4% | 20% | 33% | 38% |
My interest in this topic was stimulated by this course. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
2 | 6 | 10 | 15 | 14 |
4% | 13% | 21% | 32% | 30% |
The course material and course personnel encouraged me to be engaged with the course. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
3 | 5 | 9 | 18 | 11 |
7% | 11% | 20% | 39% | 24% |
On average, how many hours per week did I spend on this course? |
0 to 5 | 5 to 10 | 10 to 15 | 15 20 | > 20 |
| 3 | 8 | 22 | 14 |
| 6% | 17% | 47% | 30% |
Feedback on assessments was provided within a reasonable timeframe. |
- [Strongly Disagree] Lots of my posts on Piazza is not respond by either ISAs or peers until due time has passed.
The course personnel were helpful to students seeking assistance. |
- [Agree] Agree in some ways, however sometimes when I asked a question (or looked at others questions asked) on Piazza they were answered with almost no details or responses that made it seem like they didn't want to be answering the question at all. Responses on Piazza were also very slow.
- [Strongly Agree] Yes! Professors and TA's are extremely helpful and thoughtful on Piazza and during office hours. Despite an online term, they really planned everything out and put our best interest at heart. They were both encouraging and also challenge us to think through the questions ourselves.
My interest in this topic was stimulated by this course. |
- [Strongly Agree] This course encouraged me to apply to CS. I've not have any experience prior to this course and has always thought of coding as a huge challenge. It still is, however the professors made this course fun, and I began to look forward to assignments from this course every week!
On average, how many hours per week did I spend on this course? |
- [> 20] This course definitely demanded more of my time than my other courses combined. It's a learning curve for me hence the time spent, I don't think that the time is unreasonable. The professors were quick to change after hearing our feedback when the assignments were overwhelming, I really appreciated the understanding and accommodation from the professors and TAs.
Note: This is a complete list of comments I received, listed alphabetically to avoid bias.
The most important thing I learned in this course was: |
- Attention to detail is the key to success in this course.
- Course was soo hard
- CS concept
- Different algorithms/data structures
- Dynamic memory
- Dynamic Programming
- Efficiency
- How Memory Allocation works and how to use data structures
- how to program
- I don't like C
- Learning how to think critically, designing algorithms, being creative and persistent in forming solutions.
- Pointers are very useful - but also very confusing lol
- Programming in C is hard.
- Quotient Group
- The ability to think and apply what we've learned. CS is really a course that needs a lot of attention and mental energy. I learned that we've always been given the materials we need to be successful in the assignment/quizzes, the biggest point is to understand them fully.
- The data structures were super helpful to learn which will be useful in my future courses.
- the importance of office hours
- The way of solving questions
- There is still a lot more I need to learn in computer science.
- Time management, ensuring I have enough time to complet assignments.
- To really own and understand the basics of computer science since everything builds on itself.
What helped me to learn in this course was: |
- Assignments
- Blake
- Course lecture slides, as well as the availability of Piazza throughout this course.
- google
- Nothing, u had to learn everything on your own
- office hours
- Office hours with professor Adrian Reetz, he was extremely helpful and insightful for course content and assignments.
- piazza
- Piazza and the instructors were responsive.
- Professors, lecture slides, tutorials
- Reading the lecture notes and doing the assignments
- Reading the power point slides
- Spending time reading and rereading the course notes.
- The people (including ISA and Prof). More than the content, it was always the office hours that helped me the most in solidifying my concepts. I loved the video lectures especially with the animations at the end. I could tell all the staff worked so hard to make this course a success. A lot of credit goes to the hard work of the TA's who were helpful in clarifying my questions
- The recorded notes and live sessions
- The voice-over lectures and myself
- The voiceover lecture videos I found extremely helpful!
- Tutorial session and Q&A has really helped me to clarify and discover what I was missing in my learning. I've also found the videos helpful as I'm an auditory learner. Piazza was helpful as I was able to see what others had questions on so I can improve my code.
- Tutorials
- YouTube
What changes, if any, would I suggest for this course? |
- A bit less assignment heavy. A lot of assignment questions weekly
- Be better at delivering course content. The voice-over lectures were more useful than the powepoints themselves, but the distribution of the quiz content and assignment content did not lign up. I had to do the section lectures to do the quiz in a given week, but the assignment that week does not cover the new content which adds confusion and stress. The tutorials were also not helpful - they were delayed in being distributed, and the sound was very quiet ; i put up my volume to 100% and it was still slightly above a whisper, making it difficult to hear (and I already have hearing problems). additionally, the tutorials had the structure of lectures which did not make them easy to follow. The point of tutorials are to engage students and promote learning - this is best done synchronously. I would additionally like to speak on the marking - I placed so much time and effort into this course, only to average 50% or less on the assignments because of one bug that failed all the tests. When I reached out for a remark request, the TAs didnt even put in the effort to review my code and give even some part marks for all the work I placed. I am a top-performing student, but I think I'm going to fail this course. I had piazza questions left unanswered before assignment deadlines, mental health issues that prevent me from attending Q&A sessions, and overall this pandemic has made online school difficult - let alone with computer science. I hope that for future semesters, this feedback will be taken into consideration. The effort from the instructors was (somewhat) there, but the execution and passive-aggressive piazza responses were very discouraging.
- Better timing on releasing course material, such as tutorials, as they would almost always be released after the assignment was due. This was extremely inconvenient since these tutorials would help complete the assignment.
- Change Marmoset testing results so that we can see the entire output.
- Further breakdown of concepts
- I did find the quizzes a bit of struggle. It was a good way to test our understanding but sometimes we were tested on minor concepts rather than the major ones. Other than this, I thought the course was well-balanced.
- I find in person courses are helpful because the prof shows us examples of coding in person and explains more than only what are in the slides. With this course, they did not show any examples in Seashell of coding and those would be very helpful.
- I would lower the difficulty of some assignments questions in order for a better opportunity for students to complete all of the weekly assigned questions.
- I would prefer if exams were seashell only or seashell and written portion with Crowdmark where students can upload solutions. I felt Learn was really messy and added more stress/
- Less weighting on the quiz portion
- Lower weightage for mobius quizzes.
- Make the assignment easier, TOO HARD ASSIGNMENT!!!
- Making the assignments shorter or less difficult would have helped me. I found I was spending multiple days on each assignment and I ended up just not finishing a lot of assignments because they were so long/difficult
- More examples of usage of concepts.
- more office hours
- No suggested changes. Good course.
- nothing
- Nothing :)
- Providing more descriptive feedback or error logs in marmoset testing.
- There is an overload of content in this course
- This online version of cs136 is unreasonably hard and difficult.