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: 373 / 1439 (26%)
The learning outcomes for this course were clearly identified. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
7 | 9 | 39 | 165 | 146 |
2% | 2% | 11% | 45% | 40% |
The course materials and activities helped me to understand the course concepts. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
11 | 23 | 47 | 146 | 143 |
3% | 6% | 13% | 39% | 39% |
The course introduced an appropriate amount of new material. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
9 | 12 | 48 | 163 | 138 |
2% | 3% | 13% | 44% | 37% |
The course content was well-organized and clearly explained. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
15 | 17 | 59 | 167 | 111 |
4% | 5% | 16% | 45% | 30% |
The intended learning outcomes were assessed through my graded work. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
14 | 17 | 54 | 183 | 102 |
4% | 5% | 15% | 49% | 28% |
The assessments contributed to my learning. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
11 | 10 | 34 | 158 | 157 | |
3% | 3% | 9% | 43% | 42% | |
The way in which the course material prepared me for the assessments was fair and appropriate. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
21 | 45 | 88 | 126 | 91 |
6% | 12% | 24% | 34% | 25% |
Feedback on assessments was provided within a reasonable timeframe. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
10 | 22 | 93 | 154 | 92 |
3% | 6% | 25% | 42% | 25% |
Feedback on assessments contributed to my learning. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
31 | 55 | 108 | 124 | 48 |
8% | 15% | 30% | 34% | 13% |
The course environment was supportive and helped me to learn. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
16 | 27 | 98 | 153 | 71 |
4% | 7% | 27% | 42% | 19% |
The course personnel were helpful to students seeking assistance. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
14 | 16 | 73 | 165 | 89 |
4% | 4% | 20% | 46% | 25% |
My interest in this topic was stimulated by this course. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
21 | 32 | 59 | 149 | 108 |
6% | 9% | 16% | 40% | 29% |
The course material and course personnel encouraged me to be engaged with the course. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree |
20 | 22 | 94 | 150 | 77 |
6% | 6% | 26% | 41% | 21% |
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 |
6 | 40 | 121 | 117 | 85 |
2% | 11% | 33% | 32% | 23% |
The learning outcomes for this course were clearly identified. |
- [Agree] Clearly identified, but incorrect
- [Strongly Agree] A full slide at the end of each lecture.
- [Strongly Agree] Expectations were outlined clearly in the first lecture and I liked that we built upon old concepts to learn new ones (eg. the lectures often said things like "You will see a different way to do X in Section 10").
The course materials and activities helped me to understand the course concepts. |
- [Agree] Recorded lecture videos were excellent. The slides were also well done but the slide format can be weird to read as notes. No biggie though.
- [Neutral] I felt overwhelmed at the start, I do not know if it was because I was new to CS (won't consider a beginner anymore though) but had only Racket experience, felt a bit hard at the start. Needed a little bit more time for assignments. It took time for me to clearly understand the content, and then try assignment questions.
- [Neutral] The slides alone aren't enough to complete the assignments.
- [Strongly Agree] Slides were very clear, enough examples were given to help with assignment questions and give students a thorough understanding of the applications of course concepts.
The course introduced an appropriate amount of new material. |
- [Disagree] Should have taught more C.
- [Strongly Agree] I enjoyed everything I learned in this course! Although it was challenging at times, the material introduced was certainly manageable for anyone who put a strong effort into understanding the concepts.
The course content was well-organized and clearly explained. |
- [Neutral] Although lectures were optional choices, I think concepts are explained better in synchronous lectures than in the recorded videos.
- [Neutral] The lecture slides are often very difficult to understand. It would be very helpful to have these examples explained. I know these might be covered in the live lectures, but given these are not easy to attend given there timing. Also the recorded lectures barely complement the slides. Why not just record the live lectures? That isn't too hard to do.
- [Strongly Agree] Although I personally rarely used it, I appreciate that there were YouTube voiceovers & hyperlinks in the slides to take students directly to the corresponding timestamp. Very convenient.
- [Strongly Agree] Course website was well organized, and I always knew where to go to access different elements of the course.
The intended learning outcomes were assessed through my graded work. |
- [Agree] While testing is important, felt like too much weighting on edge cases
- [Neutral] I think the assignments this year were a bit time consuming. It was also extremely hard to learn from our mistakes due to the other fast pace math courses. The schedule was course material ON TOP of assignments about the same course material and was due in the same week.
The assessments contributed to my learning. |
- [Agree] The assignments helped me to engage with the material on a deep level but were very long and contributed to a lot of stress which in-turn decreased learning for me (I of course don't learn as well when under stress).
- [Agree] Would have enjoyed more practical assignments
- [Strongly Agree] I learned strictly through assignment trial-by-fire and it worked splendidly
- [Strongly Agree] some of the assignments were hard, but they provided a good learning outcome, however considering 6 courses right now in winter, time managment was a bit problem especially CS assignments too a lot of time to solve
The way in which the course material prepared me for the assessments was fair and appropriate. |
- [Agree] Assignments are challenging but fair!
- [Agree] At times I felt that I needed more guidance then was given. I think A7, 8, 9 were aimed at a good level overall (with the exception of the biggie question). I think A10 is aimed at too high a level. The earlier assignments were a mixed bag of simpler and quicker questions followed by some challenging but do-able questions, and then ending with an extremely challenging question.
- [Agree] Course notes were often very helpful, but sometimes felt a bit lost in some assignments
- [Agree] The assignments were often far too long. I often found myself devoting an entire day of the week for each weekly assignments and still not completing it in that day
- [Disagree] There was almost no support available for learning, apart from reading the slides.
- [Neutral] Certain assignments were a bit too tough for the content of the week.
Feedback on assessments was provided within a reasonable timeframe. |
- [Agree] Typically we could get the feedback of style within a week, but lately the feedback is kind of delayed. (But overall, it is good!)
- [Neutral] This was one of the first courses where I did not receive solutions to the questions which I found hurt my learning (once I got stuck on one question I feel it snowballed throughout the rest of the course). The instructors explained that this is common in upper year courses so although I would prefer seeing where I went wrong I guess it is commonplace/something I will have to get used to.
- [Strongly Agree] Instantly after the due date for the most part
Feedback on assessments contributed to my learning. |
- [Neutral] Didn't feel like too much feedback was given after assignments
- [Neutral] It would have been nice to have slightly more descriptive feedback on failed test-results in marmoset.
- [Neutral] the feedback was good however providing solutions to the questions of the assignment after due date would have helped
- [Neutral] The written feedback was great (i.e, on MarkUs). The marmoset test results are okay, but I never tried to fix my code after seeing all the tests.
- [Strongly Disagree] Feedback is too general and does not offer personalized comments for improvements.
- [Strongly Disagree] it's difficult to improve without being provided full solutions, and office hours were so crowded it wasn't really feasible to go in after an assignment to figure out what went wrong
- [Strongly Disagree] The feedbacks, in this case, mostly marmoset test results, contributed almost nothing to my learning in that it only tells me that I'm wrong but doesn't tell me where or how should I fix it. I understand this is university and we are supoosed to do the majority of learning by ourselves, but this is extremely frustrating. I carefully go through course notes and did everything that I could to avoid having problems in my code while doing the assignments, and I shouldn't only be provided with a bunch of failed tests and be expected to go to office hours or piazza to post every question that I have on my mistakes. Most of the time I don't even have time to do that because I need to start preparing for the next assignment. AT LEAST post postmortems like they did in CS 135 so I have a sense of what and where I did wrong. I don't even think it's too much request to have them write some comments on my code to help me learn my mistakes. After all I'm paying a fortune for education, aren't I? I shouldn't just be paying for course materials and tests. If all of the university courses are supposed to be like this then how is this any better than me finding a tutorial online and study myself?
- [Strongly Disagree] there was little to no feedback and it was extremely hard to learn from my mistakes... very discouraging
- [Strongly Disagree] There was no feedback expect for style marks. It would be nice to receive tips on how to write better code or cleaner code.
- [Strongly Disagree] What feedback?
The course environment was supportive and helped me to learn. |
- [Disagree] #33 is a ridiculous response to a student who is genuinely struggling
- [Disagree] Personnel was woefully understaffed, especially at office hours. I remember waiting for over 4 hours just for the ISA to give a vague explanation on what to do for that particular question. Makes me question where my tuition is going.
- [Neutral] Hmm this one is an interesting one for me to answer. I felt that piazza was quite negative which is unfortunate. When I say negative I mean, the students were asking questions, other students would respond in a potentially aggressive tone, especially if that question seemed to be "answered obviously" in the assignment, FAQ, notes, lecture etc, and professors and course personnel seemed so stretched thin by the sheer volume of students and questions on piazza that they couldn't answer the questions. This made students frustrated and potentially posted more questions due to the sometimes flippant responses by the group (students, course personnel, ect.). To that extent I felt that piazza was overall more a form of entertainment to me than of any use. I would use it to check the pinned posts and sometimes I would search to see if someone had asked the question I had and really no more. I did think of a way to improve piazza which was to create a template for asking questions so that the questions are easily searchable. Sometimes you can search for a question and find nothing but then see later that someone did in fact post about it but just asked it in a different way. I also think that piazza is not a good tool for such a large class size. Especially in a first year course where students may not always understand/respect others as much and may need more direct guidance (hence the overload of questions on piazza). I also really dislike when people ask a question and then remove it saying "resolved" or something since it leads to more posts and questions that may be redundant but were removed by the student. Aside from my mini piazza rant, I felt that course personnel were available and ready for providing help which is excellent.
- [Neutral] This depends very much on the person helping. See the open-ended section at the bottom for an explanation.
- [Strongly Agree] Dave has a no BS policy which I like
- [Strongly Agree] One of the best things about this course was that Professor Tompkins and an ISA with the username "ERGC" are active in an unofficial student-run discord server. Sometimes they discuss course material/assignments, sometimes they just hang out and chat with people.
Especially in an online learning environment where people don't get to see/talk to their instructors, it really helped me stay motivated and keep the instructor team seem more human.
- [Strongly Disagree] what you mean the slides...
The course personnel were helpful to students seeking assistance. |
- [Agree] TAs are amazing. Also, as a tip, no need to put so many Office Hours on the last day. Encourage students to start early!
- [Neutral] did not seek assistance
- [Strongly Agree] All TAs and instructors are helpful in office hour or on piazza. Thank you!
- [Strongly Agree] Amazing office hours, piazza being monitored was a blessing
- [Strongly Agree] Better to tell students to figure it out themselves
- [Strongly Disagree] "The course personnel were helpful to students seeking assistance" LMFAO!!! Post 33 #x.y
My interest in this topic was stimulated by this course. |
- [Agree] Most assignments were lackluster
- [Agree] there's a ceiling on how interesting linked lists and O(n) efficiency can be, and the course probably hit that ceiling (which is good!)
- [Neutral] Assignments felt like more work than any gains.
- [Strongly Disagree] I now hate coding.
The course material and course personnel encouraged me to be engaged with the course. |
- [Disagree] I found it to be quite nerve-wracking at times to post on Piazza as I was scared that the instructors would be frustrated with my question after seeing some of their responses to other students.
On average, how many hours per week did I spend on this course? |
- [10 to 15] Please respect students' time more. Why did you give us all 3 star questions for the last assignment, knowing that final exams are coming up? At least spread them out across the other assignments, so as to not swamp students with work at the very end of the course. Put some more effort into teaching, rather than spending all the time making assignment questions. At least give one or two easy assignment questions per assignment, especially towards the the end of the course, when everyone is struggling with dynamic memory. A 63 assignment median, especially for A8, makes me question if instructors are trying to weed out students.
- [10 to 15] The amount of time I spent per week until around the midterm was fairly low, then skyrocketed after the midterm. Assignments took much much longer (but that may just be the nature of the course content).
- [10 to 15] very fair and manageable for most of the term, however the last few weeks became insane quickly, especially assignment 10 in terms of time commitment. a poll on piazza had approximately 75% of students reporting spending over 15 hours on a10 alone, and that was with almost everyone struggling incredibly hard.
- [15 20] Hmm this is a tough comment to make, but I feel that the way that the course is set up right now stamps out diversity. The course requires such an intense workload for those students that are new to programming (I have taken cs 135 and cs 116 and continually spent 15 hours on assignments every week). The course workload deters individuals who have a diverse set of interests and cuts out people who have other pressing obligations. I think that this is something that should be addressed,
thought about and changed as ultimately the university wants to create a healthy, happy, and diverse student body. Potentially
think of other ways in which learning goals can be achieved on a more reasonable time frame. Potentially you think that
only people who have the dedication and time should be in this program, maybe you need to rethink and understand how you are perpetuating an environment that is suited to certain types of people over others. I believe that there should be a way to have a more balanced approach to this course. If you think students should have 15+ hours to dedicate to this course rethink what it means to be good at CS 136. Let those advanced folks slide on up into CS 146, there is already a course in which
they can be challenged. CS 136 is the entry for many CS majors and should be made to reflect the diversity that is wanted and needed in the program.
- [> 20] The assignments take way too much time!
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: |
- 1. Programming skills in C
2. Advantages of modulization and providing interfaces
- a deeper understanding of how data structures are built and used. It is very interesting to see the different ways in which data can be collected and organized, and the pros and cons of strategy a vs. strategy b.
- A lot of core concepts and Dara structures in C.
- about different structures and ADTs. I also got a better understanding of the C language and how to use it.
- ADT
- ADT
- Always check test my programs after completion!
- always do assignments earlier because I ended up not sleeping for the whole night before cs assignment due.
- Always test your code
- Arrays, and strings in C programming
- being alive and healthy is more important
- Big O notation
- Binary tree
- C
- C
- C
- C as a language in general
- C computational model;
data structure design.
- C Fundementals. Pushing through hours of debugging
- C is painful
- C language
- C language and deeper understanding about programming
- C language, linked lists, memory
- C memory management and data structures
- C, and that I need to start assignments early.
- Clear logic and thorough testing are very important.
- Coding in C and I learned a fair amount of algorithms
- Consistency is key
- cool data structures
- course content
- Creating and implementing ADTs
- CS is not fun
- Data Structures
- Data Structures
- data structures and pointers
- Debugging and memory management
- Debugging takes forever.
- Debugging takes really long
- Design thinking
- different ADT build from different implementations helped me understand the code better
- don't expect too much from instructors
- Double check everything
- Dynamic memory
- Dynamic memory
- Dynamic memory and how other programming languages do this
- Dynamic memory manipulation, modularization, and the use of abstract data types.
- Efficiency
- How difficult programming can be.
- How hard school can be in university of Waterloo
- How memory is structured and that imperative programming, at its core, is about getting desired side effects to occur.
- How not to learn course content
- how the stack works and how to allocate memory manually.
- How to better utilize recursion and how to use pointers
- How to code in c, creating ADT's and big O efficiency
- How to code using modularization.
- how to debug and maintain good style
- How to debug memory leaks, and also how to fear memory leaks.
- how to debug more efficiently
- How to debug my code
the C++ stack frame
controlling the flow of logic
- How to dynamically allocate memory, as well with gaining an appreciation regarding the importance of maintaining efficiency throughout the code
- How to make use of all the provided materials.
- How to manage dynamic memory
- How to program imperatively
- How to properly assign and free memory as well as use pointers effectively in my code.
- How to structure programs.
- How to struggle.
- how to understand and go through the course material extremely precisely...so that not a single word in the course content is missed
- how to use C
- How to use dynamic memory. It is very important for real-world jobs!
- How to use libraries/modules when programming and how to use pointers. Previously, I learned to program in Java and C#, so learning about pointers and memory was really interesting and added a new perspective for me. I had never really worked with libraries when programming either. The closest I would get was making a list where VS Code would add the library at the top for me. I really enjoyed being able to learn about memory, pointers, and programming with modules.
- How to use pointers
- how to use pointers in c, memory management
- How to work with memory.
- How to write C
- How to write good code and important computer science fundamentals.
- I discovered that I enjoy programming with imperative paradigm more than the functional paradigm. I believe the main reason is that it is more "human". A good example would be something as simple as traversing through an array, with the loop construct it feels more natural to me than the mathematical way of, processing first in the array, then combine that result with the rest. Although functional
programming comes in handy for linked data structures such as linked lists and trees.
- I improved my debugging skills
- I learned about various ADTs and how to code in C.
- I learned how to apply seemingly simple concepts to solve more complex problems.
- I liked learning Memory Management. Also taught me time management (e.g. starting early).
- I need to test my code
- I think the most important thing I've learned (after taking both this course & 135) is how much I despise taking CS here. These courses have helped me differentiate between "programming" and "computer science" and have taught me which one I enjoy and which one is a nightmare.
- Imperative basics, techniques used, abstract data types are quite fun. Assignments still took a toll on me though. Felt a bit overwhelmed.
- imperative programming
- Imperative programming, pointers, ADTs, memory
- Imperative programming. Data structures.
- Implementing ADTs and programming in C.
- implications of programs
- Introduction to Linear Algebra concepts
- Introduction to the C programing language.
- Iteration and ADT. I do not have any experience with computer science other than CS 135 and I found that these concepts were very new to me but were extremely useful to learn. It deepened my understanding of the world of computer science greatly.
- Iteration and ADTs
- Keeping myself motivated despite hours of constant debugging
- Learning a lot about different data structures and about memory
- Learning about different data structures and their usefulness/applications, advantages/disadvantages, etc., as well as dynamic programming. I also learned to break down large problems into smaller parts and learned the importance of testing programs well.
- Linked lists exist
- Low level memory control and pointers
- Making sure I read all parts of the question
- malloc LOL
- Memory
- Memory allocations and implementing dynamic data structures.
- Memory and pointers in C.
- Memory management
- N/A
- N/A
- no
- Not sure, but I learned a lot of cool stuff
- Patience to not throw my computer out of the window and persistence to stare at the code long enough that something comes out from it. Implementing strategies in debugging.
- Patience.
- Pointer
- Pointers
- pointers
- Pointers
- Pointers
- Pointers
- pointers / fun with memory
- Pointers and Memory
- Pointers and memory.
- Pointers are cool.
- Pointers in C.
- Pointers or Dynamic Memory
- Probably the most important thing I learned in this course was how to use pointers and the heap. These were the CS concepts I was least familiar with.
- problem-solving skills
- Programming is difficult and takes time
- programming skills and fundamentals
- Programming style guidelines
- Public tests != actual tests
- QA
- Review of efficiency.
- Review the notes consistently to ensure you actually know what you are doing.
- segmentation-fault-on-null-address, jokes aside it was probably the different data structures + pointers
- Self-management
- so many useful things: string, array, pointer, tree, dynamic memory, ...
- Sometimes its not worth spending hours on a question just so you can get a terrible mark.
- Start CS assignments early or else you will fail and there's nothing you can do about it.
- start early
- Start the assignment as early as possible.
Face my failure.
Seek for help if needed.
Debug, test!
Well, this course is really beneficial since I learned lots of basic concepts of computer science, which would lay a good foundation for my future course.
- Take your time to think through problems.
- Testing is important
- Testing your code thoroughly is very difficult.
- That Dave Tompkins is no help
- That programming is really hard, and I need to get better at time management.
- That the overly excessive, tedious, mundane teaching methodology in computer science isn't just restricted to my high school
- The basics of Imperative Programming, how to write programs in C, how to manage memory, how to debug
- The basis of C. The last 2 sections were the most useful by far.
- The C language
- The concept of memory and how to use different structures to manage memory. More generally, this course taught me useful debugging skills.
- The concept of memory was very new to me and something that helped me better understand the way computer science actually worked.
- The flexible and useful nature of pointers, and some computer memory management.
- The importance of logic.
- The importance of testing.
- the importance of time management
- The knowledge of cs
- The most important thing I learned in this course is the value of thoroughly testing code and the benefit of easy access to debugging tools.
- The most important thing I learned was how to use varying data structures to create programs.
- The most important thing in software development is testing. It is crucial for us to develop good test cases to test all aspects of a program to avoid bugs.
- The structure behind how memory works and how things are stored.
- The syntax of C, which was not actually the focus of the course (alternatively pointers, which were also important)
- There was so many important/practicle things. I cannot even choose!
- Time management is key
- Time Management, cuz assignments take too long and they're usually too hard
- To read the assignment very carefully.
- to start on assignments early because they take forever to complete
- Typing i++ instead of ++i will cost me style marks
- Understanding Algorithms is more important than understanding syntax.
- Understanding and working with memory
- Understanding how memory and memory allocation works in environments like C
- Understanding memory management and learning c programming language
- Use of dynamic memory and how all these years I’ve coded with the dynamic memory running in the background.
- Use of pointers and dynamic memory
- Utilizing data structures other than arrays to solve problems more efficiently.
- When in doubt, assert.
- Work hard
- Writing good tests
What helped me to learn in this course was: |
- 1-1 office hours are amazing!
- A lot of time spent debugging code for assignments.
- Asking friends and classmates immediately when I finish reading the course note because I could barely understand.
- assignment and voice over
- assignments
- assignments
- Assignments
- Assignments
- Assignments
- Assignments and being forced to critically think about these problems.
- assignments and notes
- Assignments and office hours.
- Assignments are a crucial part of this course.
- Assignments were the most helpful thing. Practice makes all the difference.
- Assignments!
- Assignments, notes, piazza, quizzes
- Assignments, quizzes, and assessments. Reading only the note was never enough to understand the concept being taught. Having unlimited number of attempts for quizzes as well as weekly assignments helped me solidify my understanding much better. Each assignment also uses concepts from earlier weeks which helps me retain concepts better as well.
- Assignments.
- Assignments.
- assignments... don't make them as long as they are though.
- Barely anything, I struggled a lot and didn't know where to go for help. I couldn't go to Q & A's cause by the time I would have time to attend them the assignment will be due within a day. Self checks helped a little but there's not enough explanation in the solutions to help.
- Clear assignments and forced to figure things out myself
- Coding, watching voice-overs, and reading slides.
- Coffee.
- Constantly referencing the course notes and taking each problem one tiny step at a time.
- Course note videos.
- course notes
- Course notes
- course notes
- Course notes
- course notes
- Course notes (slides)
- Course notes and assignments
- Course notes and videos.
- course notes, and probably stackoverflow.com
- Course notes, assignments and office hours
- Course notes, Learn Quizzes, assignments, and the Piazza discussion board
- course notes, videos
- Course notes, voiceover videos, assignments, learn quizzes, piazza, office hour, TAs and instructors. Thank you!
- Course slides
- Doing the assessments although sometimes there was a wide gap between the material and the assignment.
- Doing the assignments and problem solving
- doing the assignments. Youtube lectures were also very good for difficult topics or topics that just can't be explained well over slides (some parts of efficiency). Having access to the 3up course notes was also extremely helpful. I'm still not sure I know how strcmp works having used it ~20 times already, so it has been a very valuable resource.
- ERROR: segmentation-fault-on-null-address
- Everything but the course
- Forgetting about getting the homework done and forgetting the grade as well.
- friends and youtube videos.
- Graded self checks, office hours on due dates, piazza, well-thought-out assignment questions
- Great course material and examples, and helpful piazza posts
- Having a wide selection of resources to learn from when I was stuck or wanted a better understanding of something (eg. live lectures, lecture slides, lecture videos, Piazza, office hours, etc.)
- hearing more experienced peoples perspectives
- How to breakdown assignments
- I appreciated the recorded YouTube videos/notes.
- I think the most helpful tool in learning the course material was the assignments and put the concepts into practice.
- Learning how to debug and write neat code from the beginning - the course staff had much help in this regard
- Lecture slides, piazza questions, some assignment questions, and the self checks.
- Lecture Slides.
- lectures and course notes
- Lectures, course notes, assignments.
- Many assignments demonstrating topics
- my faith
- My interest and experience in computer science
- My own research and self-directed learning
- myself
- N/A
- N/A
- no
- Not that much honestly. I found it difficult to learn from the slides online.
- Notes
- Nothing would hep since the assignments are too hard
- office hour
- Office hour.
- Office hours and lecture videos.
- Online Sources
- Patience
- Patience.
- piazza
- piazza
- Piazza and office hours.
- Piazza posts
- Piazza posts and the help of other students and instructors.
- Piazza, course slides, lectures
- piazza, slides, live lectures
- Policy 70
- Powering through it
- ppt
- Previous studying done outside the course. I've been programming for a long time, and if it weren't for the fact that I've come across the standard topics taught in this course before I would've failed. Who knows, I still may fail.
- Primarily the course notes.
- Reading course notes and additional books for better grasp of the concepts
- Reading the notes and having hands on programming experience in the seashell IDE
- Reading through Piazza posts and doing assignments where the questions ramped up in difficulty. The first one or two questions in an assignment would be easier and helped me fully understand a concept so I could apply it to the later questions.
- recorded lectures
- Rereading course notes, looking at Piazza and watching the supplemental videos
- Reviewing past assignments and consistently trying new things on assignments
- sample code
- Seashell
- Self checks and trial and error
- self-checks and thorough use of the provided trace module
- Slides and assignments
- synchronous sessions and assignments
- Talking to the TA's
- TAs. Notes.
- The 1 on 1 office hours were helpful. I also enjoy how the course material is taught, with different formats suitable for different types of learners.
- The active piazza responders.
- The assignment FAQs. A lifesaver on multiple occasions.
- The assignments are ultimately very useful in helping me understand the material.
- The available course notes were the most useful resource when completing assignments
- The awesome lecture slides. The IDE is also really easy to use and I liked seashell a lot.
- The clear notes with code examples.
- The clear presentations. They were formatted very nicely.
- The course content modules were well organized and easy to read
- The course instructors, office hours. They are all very friendly and welcoming. Did not put you down if you didn't understand a question.
They understood jokes and often joked around with students, creating a friendly ambiance
The course videos were well prepared and they also offered synchronous lectures.
Everything was nicely planned!
- The course notes
- The course notes and responsiveness of course personnel to questions on Piazza helped with my learning.
- The course notes really helped me in learning
- The course notes were a great introduction to each topic and were useful to reference throughout the course. But the assignments are where I feel I learned the most because I had to actually use the concepts from the reading in practice.
- The course notes were detailed and well organized.
- The course notes were not too bad.
- The course notes were pretty good, I didn't have time to attend office hours though. Self-checks were also fairly comprehensive and helpful.
- The course notes, the self-check quizzes
- The course notes.
- The course notes.
- The course slides & assignments
- The hard assignments ;-;
- The how-to videos and recorded lectures
- The learn quizzes definitely serves as a good review on contents discussed on each week's module. But overall the assignments helped me learn the most in this course.
- The lectures
- The live lectures, I appreciate the professors taking their time. Explaining a lot of things in detail. I also learn a lot from hearing professors answering questions from the other students.
- The memory related content was especially hard to grasp for me, so I found that the voiceover videos helped with learning that content as I was able to listen to the train of thought and understand the subject in an intuitive way.
- The notes were organized... at least that was reasonable.
- The professors were very helpful whenever I asked questions.
- The professors, the synchronous lectures, and the slides
- The self-check assignments with the explanations behind the correct answers helped, and the fact they gave full marks for all attempts made them more laid back, and thus able to give more time and thought to and better to learn from.
- The supplemental videos
- The TAs at office hours were immensely helpful. As someone with little prior coding experience, I found the course to be difficult right at the beginning, but consulting them with questions allowed me to and feel encouraged to continue trying. In addition, I would agree that the Self-check quizzes contributed to my learning by ensuring that I do not just skim through the course notes but thoroughly understand it. Evne if I get most of wrong, looking at the correct answers enhance my conceptual understanding and aid my thinking in resolving assignments.
- The video lectures that went through the slides and the several office hours.
- The videos
- The videos absolutely carried the course content.
Shoutout to the guy who made them, they have a fun personality too.
- The videos and slides were very helpful.
- The videos explaining the course notes - made everything much clearer and easier to follow
- The videos helped a bit but otherwise there were not many learning resources
- The videos with graphic examples of algorithms and data structures.
- The videos! It is very tough in an online environment to be as effective as in person but the voiceover videos as well as the videos on cover a question on an assignment were extremely helpful to learn from.
- The voice overs for the lectures that were posted on youtube really were key to my ability to learn in this course.
- The voiced lectures
- The voiceover videos
- The voiceover videos
- The website was easy to use.
- The well thought out sequencing and strategic planning for where/when/why concepts were introduced, implemented in syllabus design, was crucial in incrementally building my understanding of the course content. I often reflected to myself that this course was the product of a lot of very careful planning - definitely one of the best designed online courses I have had at UW.
- The written course notes, the self-check quizzes, some of the assignments
- the youtube video is really helpful
- The YouTube videos were helpful when I didn't understand something.
- The YouTube videos were somewhat helpful but I often had to find my own sources of learning
- the youtube voiceovers were helpful, as well as the regular office hours for help with assignments.
- To go to anyone but Dave Tompkins
- trial + error mainly
- video notes on Youtube
- Videos
- videos
- videos!
- Voiceover lectures. I love them so much!
- voiceover video
- Voiceover videos
- Voiceover videos
- voiceover videos
- Voiceover Videos, Course Slides
- Watching the optional voice over videos instead of just reading the slides.
- Well prepared course slides;
past experience working with C++.
- Worked examples in the course slides :)
- Working through assignments and dissecting each component.
- Writing code myself, and playing around with things that I don't fully understand at the start. The notes are helpful to get me started, but for me I only really learn things when I can try it myself and get feedback on where I can improve.
- YouTube videos of course explanations.
- Youtube vids! They are good, I couldn't attend lectures all the time but the voice-over videos are great. Still hoping to attend in-person classes, excited about how much difference it would make if online was this informative.
- Youtube voice overs, with examples that go through steps
- Youtube, Stack Overflow, GitHub
What changes, if any, would I suggest for this course? |
- 1. Beautify course website (?). It is quite ugly compared with CS 135 website.
2. Post lectures two days earlier than the assignments so that we have enough time to read the material before hurrying to finish the assignment.
- 6 days is absolutely not enough time to complete the assignments.
- Accommodations for students joining the course late, since they miss out on the first few assessments (perhaps extra assignments?)
- Add more fun assignments like CS 135 had. (more "story" based ones or fun projects like the handwriting recognition)
- Add some interactivity between students
- add some notes that help with the last questions on assignments. sometimes the last questions of each assignment had very little correspondence to course notes and it was difficult to formulate a solution.
- Allow visible secret tests so we may learn from our mistakes, instead of being punished by a grade and then allowing us to fix our mistakes
- analysis about last homework
- Assessments didn't really feel that pedagogically valuable compared to the amount of work. Testing, including from the grader is just weird. The concept of testing any small units is really not present either. It's nice that some test harnesses were provided, but testing was very cumbersome compared to real applications (where a library, or otherwise would help remove repetitions between questions, and also assignments).
- Assignment questions should come with some more examples to help us understand what they are asking sometimes.
- Assignments shorter/easier,
- Assignments so hard!!!!!
- Assignments take very long and stressful since marmoset can't do part marks, not enough office hours for the amount of students, makes it difficult to get help
- At least be mindful of students when designing hard assignment questions. Some of the questions, especially at the end of the course, required an intuition that was beyond what the notes suggest. I'm not saying don't give those questions, but weight them less, as opposed to 30 or 40% of our assignment mark.
- At the time I do not have any changes to suggest. I will suggest though to continue doing the voiceovers for the lectures for future years as they were very beneficial.
- be more obvious about how feedback is recieved
- Be more reasonable in grading all CS assignments, and assessments. In particular, be much more tolerant of the code that is presented by a student, assuming the student follows the requirements of a given question in an assessment.
- Better balanced assignments (e.g. a7 was good, a8 was not), more emphasis on problem solving, and more demonstrations (not examples, but rather, the thought processes behind the examples)
- better explanation of concepts and shorter videos for topics rather than just one single big youtube video.
- clear descriptions of assignments, sometimes it was hard to understand, maybe more examples
- Course notes could be more in-depth.
- cover more material, its fun
- CS 135 was really interesting to me since it provided an insight on the more mathematical side of computer science. CS 136 killed any interest I had gained for this subject with the most tedious, mindless tasks.
- As much as you said it wasn't, a good majority of this course was a 'learn C' course
- Why do you need 10 slides to explain a simple topic?
- CS 135 had a simple and concise style guide. Why is there a huge style guide, list of rules, etc. for this course? I understand it's necessary for the 'real world' but this is way too excessive, especially when there are contradictions and missing situations.
- Include 'loops' in the course title, it's all we do anyways.
- Cs takes a loooot of time. I am not sure what to do about this, because I am sure that many found the course easy, but the assignements were long and exhausting and often made me sad when I couldn't finish them.
- different markings, it's often hard to find what exactly you did wrong
- Don't assign the hardest assignment during the last week of classes when preparing for finals, or at least don't make it so much harder/longer. I enjoyed the assignment (and started early) but it still took double my average assignment completion time for me to finish A10, and this was a huge setback timewise, since I have three of my exams in less than a week that I also need to study for.
- Don't give too difficult assignments on purpose. Our last assignment literally contains 3 3-star questions, in the past assignments we only had 1 3-star question each! the last one is ridiculously hard and that is just NOT necessary. Also please just drop the lowest assignment's mark because it's understandable that a student might accidentally fail to comprehend a certain part of the course, and you don't allow us to ask about it at all and we do fear the Policy71. So pretty much that's it.
- earlier assignments can be more complex
- easier assignments or make them shorter, more worked examples
- Everyone makes mistakes, but I noticed that if you did the assignment early, there are a few mistakes that pop up. That makes me want to not start early.
Changed later on, but lectures were placed close to deadline
- Explain the assingment questions more.
- Feedbacks. Feedbacks. Feedbacks.
- fewer assignment
- Fire Dave Tompkins. He is a very disrespectful professor.
[the rest of this comment has been removed and got very personal, but needless to say they were not a Dave fan]
- FIX THE ASSIGNMENTS! Please. They definitely put me through the wringer and made sure that I understood what was going on (and for that I am grateful, in a way) but my goodness, I spent most of the day for pretty much every day of the week doing them. Insanely hard for this level, especially when compared to CS135 (which had difficult assessments, don't get me wrong, but they didn't eat my entire week).
- For the pre-recorded lecture videos on YouTube, replace the slide number timestamps with a smaller amount of timestamps corresponding to major sections of the notes/video.
- Get Dave Tompkins a drawing tablet or something. Dave's drawing and writing with a mouse in the lecture videos are frustrating to look at. :)
- Give more hints on the assignments
- Give partial marks to the students when they did not finish the assignment but worked really hard and tried their best to finish them instead of only based on the marmoset tests.
- Give solutions to every question on assignments
- Give us more related examples before the assements.
- Having the notes for a given self-check be available a week or more before the self-check is due.
- I did not get to experience the traditional course, perhaps it is quite different in person on campus. The online version, for me at least, did not have the sense of community I have felt in other courses. If it is possible to lessen the restrictions on, or even further encourage collaboration and communication I think it would be easier to make meaningful connections with others. Those connections often lead to deeper understanding of the course material, learning outside of class, and enhanced satisfaction with the course overall. I understand this is tricky to achieve online, especially in such a content-heavy course, without sacrificing other important things, but there is definitely a squandered resource which could be tapped there. I should add, that I am not talking about group work or required commenting, but more of an ongoing discussion of course concepts which brings people together. There was a small element of that this term, but it often felt diminished by the many constraints.
- I felt a few times throughout the course that course personnel were stretched too thin and then the students suffered from course personnel being short, rude, or unreachable. The blame for this was often returned to the students, either it was the students' fault for asking too many questions, waiting until too late to start the assignment etc. But do keep in mind that there were a MASSIVE amount of students in this class (far more than usual for CS 136) and I think that sometimes the sheer volume of students was overwhelming for the course personnel but then that burden was put back onto the students when the students never asked for such a large class size and really can't be much dummer or any more inconsiderate than any other cs 136 class. This is to say that I feel that more compassion could have been provided from course personnel to students but this was missed due to the course personnel being overwhelmed.
- I found assignments and lecture slides regarding structures and ADT extremely difficult. I studied those slides very thoroughly but they seemed to be only giving information and not helpful in understanding the concept. I had difficulty grasping some of the content of the slides and that was really frustrating. Also, the difficulty of the assignments was very high and the way they are marked is also not good because the marks depend on the tests rather than how we implemented the problem. Sometimes, it was really difficult to understand what the question was asking us to do and the examples provided didn't help much. I spent more time than I should completing those problems and they just stressed me out every single day. Please provide some clarification as to what is expected from those problems and lower their difficulty. I find difficult programming problems fun and a learning opportunity but these problems just frustrated me every single day.
- I found the course extremely difficult. On the course, description it is said this is an introductory course and is alright for students to take it without prior coding experience. Despite that, every experienced coder in my cohort told me that this course would be absolute hell for someone without coding experience, and I've seen others suffering alongside me too. I don't think making the course easier is necessarily the right solution, but maybe the department can encourage more students without coding experience to take cs 116 after cs 135 as the jump from 135->136 is huge and I personally think taking 116 would have been the right decision despite doing well on cs 135 (i got at 85). Thank you for taking this into consideration.
- I hate seashell with a burning passion. I want nothing more than to see its very existence be destroyed.
- I know C is good for teaching fundamental concepts, but I would like to know something about other programming languages (just some very brief description would do).
- I like the set up of this course. I appreciated, for the online course, that there were multiple ways I could listen to / learn the content.
- I think there should at least be a few more tests provided per assignment question! There were a couple of times where I was one line off from a perfect solution, and a bad assert failed all of the tests except for the public one!
- I understand that having the big, awesome questions is a good way to evaluate, but jeez louise they can be a pain. Don't get me wrong, I think that we've had some very neat assignment questions in the course (Dijkstra! Dithering! Pool!), but they were beasts that didn't feel quite right in the moment. Consider finding an alternative way to outline the steps, as having literally eight pages of text in a massive list + a wikipedia page to explain a question is not very pleasent from the student's perspective.
Overall CS136 was a good course, and this suggestion is fairly nitpicky.
- I would appreciate it if the self-check quizzes and assignments were all done through the same site, rather than having to use learn for the quizzes and seashell for assignments.
- I would recommend making the online lecture longer if possible or split into two days. I used to go to them but found they were too rushed to be very helpful.
- I would suggest a change in marking scheme. Although it would be very tough to asses everyone's code individually. I think doing this would help students whose codes is almost working achieve better marks on the assignments, since if I have a small bug or overlooked something in my code it could result in 0 on the question.
- I would suggest giving a bit more time for assignments, Balancing other course work and doing cs (spending time on cs to understand material properly took time for me). It was great overall
- I would suggest having more and shorter live lectures instead of one 3-hour lecture (for me, these 3-hr lectures occurred at a very inconvenient time/day and I was only able to attend the first couple that were held.) Having recorded videos helped though!
- I would suggest providing more public test cases and having more second chances. Also perhaps bring in QA office hours.
- I would suggest that in the future they try to create a less steep learning curve from cs135 to cs136. The course was a bit too difficult and the grading of assignments was not fair as the test cases covered portions of the code that were not asked by us to complete.
- I'm honestly not sure.
- I've had happen to me several times where a small mistake caused me to fail the entire question. Maybe change the tests so it would test each part of the code individually instead of it as a whole, because in that case a mistake in one function won't cause the failing of the entire question and the disregarding of everything else in the code.
- idk man
- If the full assignment solutions could be released, they are always interesting to read :)
- Improving the interface of Seashell environment: visual (e.g. window resize), editing (e.g. refactoring), debugging (e.g. breakpoints).
- In my opinion, some of the assignment questions could have been explained better/differently. Especially towards the end, I found the behaviour of the questions a little unclear, and then the FAQ would be super long to make up for this. The reason I spent 20+ hours working on assignments is because it usually took me a while to get what I was supposed to do (more examples would help!)
- Include more course material regarding structures, especially how to properly allocate memory for a structure.
- instructors should help students to get a higher score rather than push students back. assignments' requirements should be clearly specified.
- It was almost perfect. Maybe we could have more interactive lessons somehow. Reading slides and watching youtube videos is good but the format is CS135 was better.
- It would be great if the lecture material was posted a bit earlier.
- Just shorten the assignments. Either less questions or questions that take less time on average.
- less homework?
- Less marking related to specific I/O. Controlling robot was cool. Rhyme dictionary was cool. Assignment questions that revolve around "print this, specifically like this" were typically less cool.
- Less theory questions on the midterm
- Literally everything. This was by far my least favourite course, I really enjoyed CS135, I thought I would like this one. NOPE! omg, I literally could not follow along, everything was so confusing. And I was too scared of asking questions, I didn't want the TA's or the instructors replying saying something like "it's obvious it's in the notes" or "post 33" They seem like not nice people because of this
- Make assignments comparatively a bit more easier as time taken to solve this is very high
- Make assignments shorter
- make privates tests open like in CS 14x meaning that the tests themselves are hidden but all results are shown.
- Make questions reasonable in length
- make the assignments easier, give students more time to finish them.
- Make the assignments less ambiguous and more intuitive. Make penalty on one-off mistakes less severe. Make the last assignment (A10) of the term less daunting.
- Make the assignments more manageable, the work needed to put to get a decent grade is too great for a first year cs course.
- Make the assignments shorted its to ridiculous how much time I have to spend on assignments every week it leaves so little time for my other courses. I feel like the people who make these assignments really don't consider that students have a lot to balance and really thy to load on as much as they can.
- Make the website look prettier. Also, Marmosett is kinda annoying to use in terms of testing and just how the interface is set up.
- Marmoset has too much power
- Maybe a 5 minute note on the assignment and some topics that may be helpful for it?
- Maybe have steps to some of the harder questions? Like break the question down into parts and build on those parts to give a deeper understanding of abstract concepts/algorithms
- Maybe introduce dynamic memory slower, it felt like we jumped from strings into the deep end.
- Maybe it is too hard
- Maybe make assignments due during the week where next week's content is introduced (like CS 135). Some of the assignments felt a little bit heavy since the first half of the week was usually dedicated to learning material + self-check quiz, so I ended up starting the assignments with a couple of days left before the due date only.
For example, A1 could be due in the middle/end of the week where week 2 material was introduced, A2 could be due in the middle/end of the week where week 3 material was introduced, etc. Students would be given extra time work on assignments if needed, else they could move on to next week's content if they felt they understood last week's.
- Maybe more sample problems / solutions because I still had problems with assignments and how to approach some problems
- Maybe splitting the class into different groups to encourage more social interactions instead of the social chat
- Maybe tips on how to test your code?
- Maybe warn students early about the things they will meet in this course. I would drop or go to cs 116 if I know about the memory errors early. Debugging just drove me crazy.
- might need some detailed explanations for some complexed concepts
- More basic practice -- hammer home the foundations before introducing huge problems!
- More bonus questions
- More details for questions, guides for how to start the particularly difficult ones (not to give the answer, but just where to start), and -- I cannot emphasize this enough -- humility. H U M I L I T Y. Please don't treat students like a shit stain you just stepped in.
- More Examples
- More examples following explanation of topics
- More examples in the course notes, as like done in the later weeks.
- more solution provided to us in order to learn from sample codes
- More video tutorials
- more videos explaining the content in depth, with more examples
- Move live lectures back to Monday
- much less difficulty OR more time allotted for final few assignments, they're insane compared to the rest of the course
- N/A
- N/A
- n/a
- N/A
- no
- No, perfect course
- None
- None
- None
- None
- None
- None
- None
- None come to mind.
- None that I could think of
- None, thank you.
- None.
- None.
- None.
- not make the assigments so long such that even after >20 hours of spending on a single assignment, i had to submit it without completing it.
- Not much that can be done because I think with a course like this, an in-person environment where you can talk to people actively about different coding challenges would've really helped
- Nothing really
- Nothing really
- nothing rly lol
- Occasionally the assignments were very long - if those few were shortened just a bit, it might have been helpful
- Please add one to two drop assignment options into the course
- please consider
- Please do not indulge those students who always like to ask for an extension of the deadline even if they've already got adequate time to complete the assignment. That's somewhat unfair for students who manage their time appropriately and finish the assignment within the given time.
- please make the last few assignments a little easier, it really kills the interest to continue learning computer science
- Please try to make the assignment questions more engaging, like in CS 135.
- provide more examples
- Provide more practice problems and solutions.
- Provide more tests or access to tests for students, so they are more comfortable with their submissions.
- question and answers linked to appropriate slides
- Questions are more specific? Some assignments were vague and took me longer to figure out what the assignment was asking than necessary
- Reasonably structured assignments preferably like those in CS 135 that focused on real-world applications (this course had few assignments that were real-world application-focused and mostly I could not understand where I would apply a certain thing in a real-life scenario).
Furthermore, I understand that Piazza can get cluttered up by easily answerable questions but it is often not very helpful to get "@33" or "RTA" as an answer. The Piazza question-answering situation improved marginally towards the end. Also if all questions are gold then it becomes difficult in case clarifications are needed. Lastly, I prefer the kind of Office Hours that were held in CS 135 because people didn't have to wait for 3 hours or more over there to get help.
- Reduce the amount of assignment questions similar to a previous assignment, but with different implementation.
- Release the assignments earlier in the week so students are not forced to work through the weekend.
- Releasing more material in advance would be nice.
- Remove Dave Tompkins
- Restructure the course, and make assignments a bit more easier to comprehend with specific details and less of a burden each week
- Seashell can be a bit frustrating, with not being able to redo/undo when switching between files and connection issues. I suggest downloaded IDEs to avoid these problems
- self checks that give answer right away so you know you're on the right path rather than one big learn quiz
- Shorten the assignments
- Shorter Assignments
- shorter but more frequent lectures
- smaller tasks and submissions when learning new concepts, along with less frequent larger assignments. The weekly large assignments were generally too long and challenging to be done weekly and we had little to no content preparation for it. I suggest that as you are working through the material you have to submit some questions to guide your learning, possibly graded or ungraded.
- Solutions for difficult problems were not posted so could not see how to improve solution.
- *stop grading style*
- Stop making us read essays every assignment, just let me code in peace for the love of god.
- Teach more about strategies on how to solve the problems.
- the assignment is so heavy
- the assignments sometimes felt a little disorganized when jumping back and forth from different files in c and the assignment webpage - I feel like there must be a nicer way to display this (but I dont know what that way could be)
- The assignments were a bit tough. Perhaps dial back the number of questions?
- The assignments were quite harsh in terms of grading, so perhaps be a bit more lenient on that end. Otherwise, this course was well maintained.
- The assignments were ridiculously tough and the feedback given through marmoset was practically useless. Unlike CS 135, I had no idea what I did wrong in a particular question which cause all those errors in the secret tests. Every week I wrote code that I tested and thought it worked but then the secret tests showed me that I was wrong and life went on. I still have no clue where I made mistakes in several questions and probably will never know.
- The assignments were way too hard and I spent a lot of time on them (and sill didn't do well) which put my other courses in jeopardy
- The course material was somewhat helpful but it should still be improved. I'm sure in person teaching will fix some of the problem.
- The course materials are straightforward but the assignments are way too long and difficult, leaving a huge gap between course materials and assignments. Assignments are so time-consuming and the given time is not enough.
- the course note dont teach anything, not possible to do half the question without internet assistance. (eg. implementing abstract algo like dijkstra algorithm in the question when there is no mention of it in the course pack)
- The course was perfect!
- The PDFs are long and tedious to navigate. I also didn't learn that there were recorded lectures offered for this course until somewhat late into the term.
- The Seashell environment has some glitches which is kind of annoying sometimes. For example, the bug where the main sometimes unselect itself. I also think class average and median should be displayed on the marks page instead of waiting for it to be posted on Piaza.
- The slides and videos should be different. In the slides you just have code whereas in the videos you have someone actually going through the code and explaining it. Sometimes I would see a piece of code in the slide and get confused as to what the instructor wanted me to gain from looking at it.
- The website for the course was incredibly basic.
- This course was great!
- This is a pretty good course to take. I feel like I have learned a lot.
- This is just a petty thing but I would have loved to see a better UI for the course webpage. This does not affect my learning at all in any way. I really liked the UI of the CS 135 website so if CS 136 in the future has a somewhat similar UI that would be great.
- Try to have online recorded lectures that are shorter than the ones already provided.
- Well, i cannot think of any. The course is great for me.
- What I've said above.