CS247 Spring 2024 (Sessional Lecturer, Section 001)

Number of Respondents: 73/133 (55%)

The instructor(s) helped me to understand the course concepts.

Average: 4.63

Standard Deviation: 0.63

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
01318510
0%1.37%4.11%24.66%69.86%0%

Comments

[Agree] sometimes the notes could have a bit more detail

[Strongly Agree] Ross Evans is definitely one of the best teachers I've had throughout university. He's very engaging and makes funny jokes and also teaches the concepts very well. I am an avid class skipper, especially for morning lectures, but I always made sure to show up for his 10 am class because he taught so phenomenally. I like his pacing a lot, its slightly on the fast end but I find that that keeps me engaged during class so that I don't get bored and distracted doing something else. I would love to have him for future courses if possible!

[Agree] Ross is an engaging lecturer, but I think his notes are sometimes a little chaotic. The topics we covered weren't always super well-motivated (though I'm not sure the sequence/coverage is at his discretion).

[Strongly Agree] Ross is incredible. He brought enthusiasm to the learning process, and his depth of knowledge consistently impressed me. One of the most effective professors I’ve ever had at answering questions during lecture. His extensive understanding of C++, and his willingness to dive into people’s questions made lectures enriching. Thank you, Ross.

[Strongly Agree] Best prof I had (He's tied with Brenda Lee for #1)

[Strongly Agree] Very passionate about the topics he taught and he is one of the best profs I had. Only class in my entire university degree where I understood everything taught in every lecture.


The instructor(s) created a supportive environment that helped me learn (Supportive environments enable students to feel included and valued regardless of any aspect of their identity).

Average: 4.63

Standard Deviation: 0.65

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
01416520
0%1.37%5.48%21.92%71.23%0%

The instructor(s) stimulated my interest in this course.

Average: 4.41

Standard Deviation: 0.82

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
12425410
1.37%2.74%5.48%34.25%56.16%0%

Comments

[Strongly Agree] It's clear that Ross knows a TON about the idiosyncrasies of C++ and this helped make the content more approachable

[Strongly Agree] Discussions about different patterns and design principles were incredibly interesting and will be very useful in future endeavours.

[Disagree] I think the course content was rather unmotivated. We weren't given any reason for why we should care about all the C++ language features. Also, when we did get to what I considered to be interesting content (design patterns), the prof seemed uninterested in them and more interested in the C++ content, which was a bit disheartening.


The intended learning outcomes were identified (Learning outcomes/objectives articulate what students should be able to know, do, and/or value by the end of a course).

Average: 4.52

Standard Deviation: 0.64

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
01326430
0%1.37%4.11%35.62%58.9%0%

The course activities prepared me for the graded work.

Average: 4.29

Standard Deviation: 0.88

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
05625370
0%6.85%8.22%34.25%50.68%0%

Comments

[Strongly Agree] All of the issues I ever had with graded work were issues solely because I didn't go to the notes first.

[Disagree] Assignments felt unrelated to exams. The midterm was difficult particularly because we had indication of format / questions / what to expect.

[Disagree] I would've wanted more practice trivia C++ questions during the term to help me out for the short answer questions on the midterm (and I assume the final too). Assignments were good on a higher level, but they didn't really prepare me for the exams. Would recommend weekly practice problems for each of the 2 lectures of the week, can be graded or ungraded.


The intended learning outcomes were assessed through my graded work.

Average: 4.45

Standard Deviation: 0.72

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
02426410
0%2.74%5.48%35.62%56.16%0%

Comments

[Strongly Agree] Creating a graphics program (albeit a simple one) in the last assignment was SUPER cool, and I think it could be taken even further since not many modifications were required to create it. Overall, all the assignments are very well-designed and do a good job at assessing what we learn.


The course workload demands were...

Average: 3.73

Standard Deviation: 0.75

Very LowLowAverageHighVery HighNo Basis for Rating
003327130
0%0%45.21%36.99%17.81%0%

Comments

[High] I wish the project was assigned a week earlier, as it is not a lot of time combined with work from other courses.

[High] I think the first project deadline should have been due a bit later or the project should've been released earlier. It was a crunch to get a good design done, even though we were working on it every day.


Text Questions

The most important thing I learned in this course was:

The -g flag for valgrind.

different software design patterns

Everything pre-midterm

good object-oriented design

Design patterns. Ins and outs of niche C++ topics.

How to use GDB and Valgrind in a legitmately effective manner.

software architecture and big 5

Everything

Design patterns

Practical design patterns and further OOP concepts

The ability to understand the "why" when writing code and how they all relate to each other.

All of the software design principles, much of the fine details of C++. The latter is especially useful, as I use C++ frequently for personal projects.

Decorator Pattern, Big 5

all the design patterns

Everything.

Design patterns - key concepts that are applicable in any workspace. This course also helped to solidify my understanding of OOP and good practices which is great for supporting my interest in making a game.

Design patterns

classes

C++ in MORE detail

This is probably the most important course of 2B. It's really interesting, and we learn stuff that are actually useful for software engineers. Thanks Ross, I enjoyed your dynamic teaching!

Common design patterns: observer, decorator, template, etc.

C++, different architectures & design patterns, 5pm HARD deadlines. Really wish you pushed them back from 5pm to 11:59pm professor.

Putting my trash in the pockets of the soon to be deceased, as free garbage collection.

OOP concepts

Different design patterns and info on C++ classes.

How compilation works in C++, smart pointers, design patterns

Design patterns, object oriented programming

The value of having typed course notes. Please ask Ondrej Lhotak for an example of his CS241E notes that were absolutely amazing.

C++ Trivia

Rvalues and stealing objects close to death

C++

I learned so much in this course. One of my favourite courses for sure! The fundamentals of OOP are so useful for us and this course definitely dives deep into that!

What's the decorator design pattern.

That oop is a scam

C++

C++ design patterns

Good software design principles and the big 5

Learning C++ Design Patterns

design patterns are over powered. decorator pattern is my absolute favorite

nice design patterns

SOLID Design principles, and fundamental C++ concepts.


What helped me to learn in this course was:

I liked the examples in class!

lectures and piazza answering was very helpful

Ross

Attending lectures

going to lectures

Hand-written course notes. Online resources (stack overflow, https://refactoring.guru).

Other students who have taken this course uploaded their digitized notes online, which were easier to parse than Ross's handwritten notes.

notes and online resources

variety in delivery, also assignments complemented what we were learning in class

Ross Evans

greatest prof

Doing assignments and trying out the concepts

Going to Ross and Awab's office hours and asking questions to clarify any concepts I did not understand in class.

Ross and Awab. Great lectures and tutorials.

Assignments

The posted lecture notes (and also the short outline at the beginning of class of what we cover in each lecture)

The assignments were very relevant to course content.

ROSS Evans

Awab (ISA)

google, Ross's note

Going to office hours is very helpful, I wish I realized that earlier.

Attending lecture.

the lectures, online references, GPT (to learn fundamentals). Assignments were meh, would've preferred weekly practice problems.

Funny jokes and engaging prof

Ross Evans

Very funny examples along with organized notes and fun assignments.

Practicing the concepts in assignments

Ross' lectures were detailed and useful.

Please ask Ondrej Lhotak for an example of his CS241E notes that were absolutely amazing.

Nothing

The instructor notes

The assignments were well-designed to help us understand different data structures. The lectures are very useful and the instructor seems very passionate about the subject. He is also pretty funny and answers questions clearly. I also enjoyed doing the group project, it was a good level of difficulty. The office hours were great too. Overall, I believe the course is pretty well-structured and assessments are helpful. It is hard to like almost everything about a course but CS 247 is really great!

Ross is great (even though I do not like his midterm). I really like the way he teaches and it's one of the great instructors this term!

Nothing

His British accent and sense of humour! Thanks ROSS Evans!

Project has fun to work on, wish I had more time to work on it though

Ross Evans

Ross Evans was very engaging and knowledgeable and willing to answer questions and clear things up, which helped immensely. He is an excellent professor

Ross Evans

he sounds and looks like harry potter. and he has a good sense of humour

lectures were nice + piazza answers were detailed

Ross Evan’s way of explaining things in class with clear and concise descriptions, examples, analogies, and enthusiasm.


What changes, if any, would I suggest for this course?

better structured assignments pls.

It would be very good if there were non-annotated type of slides as it sets a better outline of concepts + sometimes handwritten slides are very hard to read

Have the project info become available sooner (even if this means expanding the scope of the project) because it was a bit stressful to not know any details about something worth 1/5 of our total mark until so late in the term

Replace post midterm content with more pre midterm content

the assignment instructions aren't super clear and there's a bit of weird behavior we need to replicate often.

Typed (LaTeX) course notes. Please ask Ondrej Lhotak for an example of his CS241E notes that were absolutely amazing.

Students would probably benefit from having the debugging lecture moved earlier in the course (this term, we only learned about GDB after I had a particularly unpleasant debugging experience on an assignment).

Typed notes would be nice!

More structured notes

continue handwriting practice

Nothing

I think my only problem is that the assignments often have us trying to figure out how a sample executable is supposed to work. And a lot of the details for the implementation are not specified in the assignment and we have to discover them. If the assignment specs were more detailed, to the point where we could complete the assignment without touching the sample executable (but it would be beneficial for experimenting and creating test cases still) it would make the assignments so much more enjoyable to them. Still overall good though.

* Writing the correct implementation of a problem before going into the naive or wrong solutions. I think this would help because when reviewing my notes it was confusing to differentiate which was the right implementation or solution of something that was discussed in class

* typed notes to look back at

I liked the way the course was taught, that being that notes were written down as the lecture went along. I also liked the examples that were provided which demonstrate how a concept was applied in code. I don't have any suggestions as I thought the lectures were generally well done.

We are expected to come up with test cases to test our programs with, and are marked on this. However, we never learn this in lecture. I think it is a valuable skill and an in class formal discussion about it would be beneficial.

As per my comment above, a little bit of extra time for the project would be nice. In particular, extra time to plan out the project (DD2).

I would have liked to have more time to work on the project. 2 weeks felt a little tight to get a working solutions that I am proud of. Introducing design patterns earlier in the term would enable us to start the project earlier.

I wish he would talk a bit slower in lecture, because it’s hard to keep up sometimes.

Start the project earlier

Slides please

Give more examples?

I wish there was some late submission policy. So that if you are a little bit late, you don't automatically get 0. (due at 5pm, but no penalty submit until midnight / 5% per hour/day

Move the C++ content back to CS 138, where it is already taught. The first 2/3 of this course felt like review of CS 138 and was engaging and uninspired. The design patterns covered at the end were new and offered a fresh perspective and really felt like the content of a second year course. The focus on C++ for the majority of the course was not great.

Better handwriting would've been bless - or some other better notes. If I missed a lecture, it was gg 😭

Better handwriting 💀

Give Ross Evans a 100% pay raise, double it.

Please do more handwriting practice.

I wish there was more time for the project. It would be awesome if groups could get feedback on their UML designs before beginning work on the code, so we don't spend time building a flawed design

Sometimes the content is covered a bit too fast.

Please ask Ondrej Lhotak for an example of his CS241E notes that were absolutely amazing.

Better assignments and better content

Nothing, its perfect.

This is a very minor suggestion but maybe having an even number of people in the group project would be more helpful. For example, having 3-4 people in a group rather than at most 3. Another suggestion is to make slight changes to the way the tutorial is taught. I would have preferred seeing more assessment-style questions. Lastly, it would be good to have more practice problems/homework sets for midterm/final practice. Other than that, everything seems good.

I really wish I don't need to write code on paper, but this is not really possible given the way assessment works.

The assignments and projects need to be better written with clearer instructions. Course notes should be provided, can't read Ross' handwriting.

Typed notes or a more readable format

N/A

Just wish the pacing was a little slower at times

N/A

better handwriting... :sob:

The assignments weren't available on Marmoset until just a couple days before the deadline on several occasions.

when u scroll in class, let me see the content for some more time. have lesser strict deadline for assignment coz its worth a lot (maybe grace period?)