CS246 Fall 2023 (Sessional Lecturer, Section 001, 8:30 - 9:50 AM)

Number of Respondents: 49/86 (57%)

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

Average: 4.82

Standard Deviation: 0.44

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
0017410
0%0%2.04%14.29%83.67%0%

Comments

[Strongly Agree] Most thorough and well structured explanations for every concept.

[Strongly Agree] Ross was engaging in his lectures. Due to Ross still being a student himself, he was able to explain concepts in a way that made more sense and was easier to decipher compared to professors I had for previous CS courses

[Strongly Agree] Ross is excellent. The analogies were very funny.

[Strongly Agree] ROSS IS THE BEST! I loved his lectures, they were super engaging and he had some funny jokes peppered in :)

[Agree] Ross was a great lecturer, very engaging. Unfortunately course structure is antagonistic (only code examples posted after class, essentially, if you miss class you are doomed)


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.71

Standard Deviation: 0.58

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
01011360
0%2.04%0%22.45%73.47%0%

Comments

[Strongly Agree] Works hard to connect with students and does so effectively.


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

Average: 4.71

Standard Deviation: 0.53

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
00210370
0%0%4.08%20.41%75.51%0%

Comments

[Strongly Agree] Amazing and sometimes hilarious analogies to help understand complex concepts (e.g. move assignment operator). Consistently demonstrates passion for every concept he covers.

[Strongly Agree] Ross Evans really made this course interesting, understandable and enjoyable for me!


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.58

Standard Deviation: 0.67

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
01213320
0%2.04%4.08%26.53%65.31%0%

The course activities prepared me for the graded work.

Average: 4.27

Standard Deviation: 0.97

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
05314260
0%10.2%6.12%28.57%53.06%0%

Comments

[Disagree] Scope of what is taught is very different from what is required on assignments. Some topics (ex. output to window) are not covered and still expected to implement.


The intended learning outcomes were assessed through my graded work.

Average: 4.35

Standard Deviation: 0.85

Strongly DisagreeDisagreeNeutralAgreeStrongly AgreeNo Basis for Rating
11318250
2.04%2.04%6.12%36.73%51.02%0%

The course workload demands were...

Average: 4.29

Standard Deviation: 0.64

Very LowLowAverageHighVery HighNo Basis for Rating
00524190
0%0%10.2%48.98%38.78%0%

Comments

[High] Biggest problem for me was understanding the problem conceptually, once I understood it in my head and actually started to write the code it was not overwhelmingly difficult.


Text Questions

The most important thing I learned in this course was:

C++ classes and design patterns.

Designing scalable programs

C++ is a very versatile language.

How to write good quality c++ code.

design principles.

objects are oriented. patterns are needed

OOP

Object oriented programming

OOP

How to think about large scale applications

if ppl get hit by a truck and are about to die it’s probably okay to steal from them

OOP fundamentals, understanding C++

OOP.

A thorough understanding of object oriented program design as well as basic principles for design and design patterns

The fundamentals of OOP and designing large programs in C++

How to implement the main principles of OOP(Inheritance, encapsulation, and polymorphism).

It's ok to steal from others and give them your garbage.

The fundamentals of object-oriented programming! In particular, I liked learning about the Big 5 and design patterns, and C++ was a fun language to use!

C++ and OOP concepts

The fundamentals of OOPs

Various OOP design patterns (and if someone gets hit by a bus, to take their wallet and give them your trash)

Design patterns + good coding etiquette and cool little tricks that are seen in c++ that helps me understand how built in code in higher level languages work.

OOP principles and writing better C++. And, that it's okay to steal from a dying person :)

Object oriented programming design patterns to build foundational knowledge for later CS courses

Knowledge of C++ OOP principles and understanding why certain idioms exist.

Basic OOP principles

How the compilers work

oop's

OOP

How to be a problem-solver.

C++ programming

A fundamental understanding of OOP

how to live laugh love in C++

OOP basics

Learned how to create end-to-end implementations of C++ programs through the lectures and assignments.

How to think about the OOP paradigm intuitively.

Lot of useful information about programming, and getting used to C++ codes

Independent learning

OOP principles


What helped me to learn in this course was:

Ross Evans, great prof.

Taking notes every lecture.

Labs and assignments

Listening to Ross Evans

Ross Evan's exceptional enthusiasm that he brought to every lecture.

Ross's amazing humour and energy at 8:30am

Structured that covered all the necessary content, thorough assignments that enforce students to apply the concepts they learned in the previous week of lectures

The lectures

Ross Evans lectures simplified the concepts and went into great detail into how we can apply the knowledge into our projects.

course notes from past year students because it allowed me to pay attention in the classes instead of just jotting down the notes

good examples in lec

the assignments were useful, as well as the in-lecture code examples which were quite necessary

Instruction was clear and really helped me understand the content. Tutorials were also nice to get some practice in new concepts before applying them to assignments.

The professor and the assignment questions

In class examples and explanations of each line of code and what they do

The assignments and going through course examples during lecture.

Analogies

Ross' enthusiasm and excitement for the course content! Genuinely made the class very engaging and enjoyable, I always looked forward to going to class (even at 8:30 in the morning)

Ross Evans was excellent at explaining different concepts

The lectures, assignments and tutorials.

The examples in lecture, in-depth explanations, and actually writing on the blackboard (rather than powerpoints) since it forced me to pay attention and take notes.

Going to lectures and reading over my notes to understand how base concepts work and then how to modify them to fit the problem.

Ross is an amazing professor. Best CS Lecture Ever!

Ross Evans is one of the most engaging and relatable lecturers that I've had, and helped me learn in this course.

Attending lectures to better understand the content. Ross Evans explained concepts clearly and was very helpful with answering questions.

My instructor did an excellent job at lecturing. Ross was knowledgable, well spoken, and effective at answering questions concisely which allowed me to learn a lot from the lectures.

Attending Lectures

Doing assignments

Ross being able to connect concepts to real life situations.

The lecture notes.

My instructor Ross Evans is one of the best instructors I've ever had. He's extremely engaging and really helped me understand course content. His passion is very evident and really helps me better learn the material. The lectures are very clear and easy to follow. He answers questions in class and in office hours very well, which definitely helps me better learn the material.

Ross's lectures!!

Ross Evans

My peers and the tutorials

Lecture and youtube

Ross (Goated)

My Professor, Ross was very engaging and took his time to answer questions after each concept explained. This helped everyone in the class immensely as the course is generally seen as very challenging. Despite this we still move through the content at a faster/same pace as other classes.

The professor's humour and the analogies he gave, like the "stealing from someone who's about to die" about the move constructor and move assignment operator, which made the lectures very engaging.

Challenging and well-structured assignments

Lectures were very clear and easy to understand. Also, assignments were time-consuming but it was very helpful to grasp how different codes may be implemented in actual code.

Ross is one of the best profs who has played a huge role in this course

The assignment questions

Lectures were explained pretty clearly and made sense.

Answers on piazza were fast and clear most of the time too.


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

REWORK THE MIDTERM. If you know nearly half the class will fail, why continue with the C++ trivia? Students will always have access to C++ documentation and trivia should not be the focus of the midterm.

Maybe post some more study material before exams.

Give Ross Evans more lectures to present.

Make Ross Evans teach more.

please provide course notes. It helps especially when students fall ill and cannot attend class.

good course

Providing an earlier state date for A5 / earlier due date for A4 so that students have more time to give effort to making a better game for A5

Post notes

Give course notes and use them to explain. It will people think and discuss the feature in class rather than writing the notes in 8:30am classes

maybe more structured sections in lec, more midterm prep materials

Easier midterm

Making course notes available online so students can catch up if they miss a lecture. Better ISA office hours, they were not always there when they were scheduled to be and did not really know how to answer most of my questions.

Make the course lighter in terms of the courseload, it is very very heavy. Also perhaps make the midterm less difficult.

The ISA's could be better, they are often not at office hours, and the midterm review session was badly planned and the content was not useful.

Make this course less about C++ and more about OOP. Also I would like if we had more assignments that tested our ability to use OOP. What I mean is I want more assignments that test our ability to design the program structure. Make the final assessment worth more.

Online/posted lecture notes would be pretty helpful!

Please make course notes and materials accessible outside of lectures and Piazza

Have course notes/slides.

Don't finish midterm content the week of the midterm

Probably adding course notes, made it feel weird going to people for their course notes if I missed a class but is also good because it forces you to go to class. Double edged sword so unsure. Also give this Ross Evans guy a raise, probably one of the best profs I've had so far and I had Eric Bembenek (he's #1 sorry Ross you're a close second though).

Course notes

Having non-code course notes and other resources (practice questions) could have accelerated my learning.

Very content intensive, they expect us to develop an excellent understanding of some pretty deep concepts pre midterm, with not enough time to comprehend in my opinion.

Provide additional material like course notes or practice questions to emphasize the content. Often you hear some thing once in a lecture and hope you understood how to do it after doing the assignment as the only primary source of practice

N/A

I would suggest writing on the board a bit slower.

The instructors need to re-read their assignments to make sure they are correct. They also need to re-check the starter code they give us to make sure it is correct.

Please keep Ross Evans

Provide course notes and practice questions with solutions separate

The midterm should be better structured, its all over the place.

Post course notes. please.

Posting some kind of lecture or course notes as well as practice exams, or something we can review after lectures in case we aren't able to catch everything in a lecture. And, it often feels like lectures do not give us all the details we need, like "what happens/what do we do in this other case that wasn't part of the single example given in class".

More practice problems for the midterm (midterm review session was not effective).

Maybe provide lecture note, as it was a bit challenging to ask for lecture note if I miss a lecture.

None

Have notes available online as well, along with more detailed examples of some design patterns.

More practice problems, especially for exams, and solutions (especially for the midterm). It's hard to find relevant practice problems and make them up myself, as well check if my solutions are correct (ie even if code compiles, there might be problems I don't realize, and then I can't practice concepts with correct solutions). Accessibility of content within a course is probably the most important thing for people to learn, and I think giving more relevant resources (especially since these resources exist ie past exams and solutions) is always the best possible ways to do this.

Posting lecture notes to accommodate for missing lectures, especially for those who might not know that many other people in the course to get missed notes from.