CS 246E - Object-Oriented Software Development

Welcome to CS 246E for Fall 2020!

Lectures and Tutorials

Course lectures will be delivered over Twitch this term. Check the course Piazza page for further information about the lectures. There will be also be weekly tutorials.

Office Hours and Discussion

The instructor and instructional support assistant (ISA) will support you via online (video) office hours and the discussion forum on Piazza. If you have any quick question, feel free to ask us on Piazza at any time (please read the Piazza page for further information). We will make an effort to answer you within one working day. Please remember that you must not publicly post any code snippets or anything that could suggest an assignment solution – make your post private if you need to ask a specific question. On the other hand, if you have any general question about the course, please make it public so other students may also see the answer.

Office hours information is posted here.

If you have any administrative questions, such as enrolment, account issues, documentation of illness, missed assignments, questions about your current grade, etc., please contact the Instructional Support Coordinator, Patrick Roh.

Should you take CS 246E or the regular version of CS 246?

CS 246E is open to students who have a grade of at least 85% in either CS 136 or CS 146. Students whose grades fall below this cutoff can be admitted on a discretionary basis, subject to space considerations.

CS 246E aims to achieve the same objectives as CS 246. It assumes only knowledge acquired from CS 136, and covers nearly all of the topics that appear in CS 246, so that you have adequate preparation for successor courses.

However, CS 246E aims to go well beyond CS 246 in both depth and scope. We estimate that CS 246E will cover about 50% more material than CS 246, and many of the topics that are common to both courses will be examined more deeply in CS 246E. This means that the pace will be much faster in CS 246E. There will be absolutely no review of CS 136 material, and this course will assume that you have achieved a total mastery of CS 136. In many cases, some of the finer details of our discussions will be left to self study, as there isn't time in lectures to do everything that CS 246 does, and also to do more. You will be expected to reinforce in-class topics with readings from the textbook.

Keep in mind that CS 246 is already a difficult course, with a fairly high workload. By taking CS 246E, you are agreeing to a course that is even heavier, in the ways described above. Note also that there is no "drop down" provision, as there is in 1A. You need to have made your choice by the end of the regular drop/add period.

This description of CS 246E is not meant to scare anyone away. The course is not designed to be hard, just for the sake of being hard, but the increased sophistication of the material in this course is likely to cause increased difficulty. But if you are up for the challenge, we certainly hope that this course will be a very rewarding experience.