CS 3358 (Data Structures and Algorithms) by Lee S. Koh

Prerequisite Check


As indicated in the Course Syllabus, one of the prerequisites for this course is CS 2308 (which in turn has a prerequisite in CS 1428) or equivalent. Numerous students in the past found it necessary to withdraw after a while because they were not ready for this course, i.e., because they were lacking or weak in the prerequisite skills - problem-solving skill in general, and the ability to program in C++ in particular. In talking to some of these students (when they sought to drop with a "W"), many of them described their situations as "taking a shot at it knowing that the chances are slim" and expressed their regrets to have taken the chances, realizing then that they had wasted valuable money and time. The usual suggestion (accompanying the consolatory "good try") that I usually offer such students is to first strengthen their prerequisite skills before retaking the course. Incidentally, my usual "hint" to students taking CS 2308 (with respect to their chances for passing CS 3358) is as follows: C - slim chance, B - good chance, A - excellent chance.

MY SINCERE ADVICE: Please don't take the "readiness" factor lightly, because if you do and you are not ready, you will most likely end up dropping the class at some point thus wasting valuable time and money. If you find that you are somewhat lacking in the expected prerequisite, ask yourself whether you will be able to make up for the "deficiencies" during the "review/augment" period (typically within the first few weeks for a regular semester and within the first few days for a summer session). If the outcome of your assessment is strongly negative, I suggest that you change your plan as early as possible so that you don't waste valuable time and money - you probably want to take it at a later time after you have strengthened your background (somehow) to a level with which you feel you are ready for this course.