Q: So why do I need to prerequisites to pass this class?
A: There are some courses that you do not absolutely need to have the prerequisites in order to succeed in the course. CISC181 is not one of them. This course teaches the intermediate and advanced concepts of programming, including arrays, pointers, strings, linked lists, classes and object oriented programming; including inheritance and virtual functions. Very little time, if any, is spent on the more basic concepts, like looping, decision statements, functions, and basic program structure, which are all taught in CISC105.
Q: So why did you make a web page to tell us this?
A: Every semester I teach this class, people without the required background either miss my talk during the first class, or choose to not believe me. I've heard a range of reasons, from "This class fit my schedule better than CISC105" to "A friend of mine told me I didn't need to learn C to learn C++." Unfortunately, it's usually not until after Drop/Add that these students realize that what I was saying was correct, so in order to spare other students from the cost and aggrevation of this, I'm trying to really, really make a point of this ahead of time.
Q: What do you consider the necessary background for this course?
A: Either
Q: What is the difference between CISC105 and CISC181?
A: Some people might say that CISC105 teaches the "C" programming language, and CISC181 teaches the "C++" programming language. While this is true, that CISC105 is taught in native C while CISC181 is taught in C++, this is not the difference between the two courses. CISC105 teaches the basic foundations of programming while CISC181 begins introducing and teaching the more advanced topics. At the CISC105 level, the differences between the two languages is relatively minor - most of the major concepts introduced in CISC105, such as variables, data types, decision statements, looping, arrays, etc., are exactly the same in both languages. CISC181 goes on to introduce further concepts like dynamic memory management, linked lists, classes, inheritance, and polymorphism.