What CISC course should I start with, CISC 101, CISC 110, CISC 151 or CISC 121?
If you have no prior programming experience, you should take:
- either CISC 101/3.0
- or CISC 110/3.0
- or CISC 151/3.0
in the first year. If this course is taken in the Fall term, you can take CISC 121/3.0 in the Winter of first year, and CISC 124/3.0 in the Fall of second year. CISC 124/3.0 can be taken concurrently with fall-term 200-level CISC courses. This will not delay your date of graduation with a Computing degree.
If you have prior programming experience, you should take CISC 121 in the fall of first year and CISC 124 in the winter of first year. This prior programming experience could be a high-school or summer-school course, job experience, or some kind of independent study, including on-line courses at Udacity or Coursera.
If you are unsure about whether you belong in CISC 121 or 101/110/151, consider the following:
- take a look at the self-assessment quiz;
- check whether you throughly understand all of these concepts before enrolling in CISC 121 (if not, take 101/110/151 instead):
- control structures: if-then-else, counted loops, conditional loops
- variables and constants
- procedures, functions, and parameters
- scope
- arrays; and
- consult an academic adviser or an instructor for CISC 101, 110, 151 or 121.
In all of these courses, there will be some discussion during the first week of classes about the criteria for taking CISC 121. If you believe you've signed up for the wrong course, it is easy to switch at that point.
In the long run, you're better off taking CISC 101, 110 or 151 before 121 and doing well in both than going directly to 121 and doing badly. If you are poorly prepared for CISC 121, you will find the course very difficult and not grasp all of the concepts being taught. Since most other CISC courses build on material from 121, a weak beginning will cause difficulties all through your Computing studies.
What programming language do I need to know for CISC 121?
You do not have to be familiar with any particular programming language. You do not need to know Python before taking CISC 121/3.0.
How do I decide whether to take CISC 101 or CISC 110 or CISC 151?
All three have the same learning outcomes, but apply their core concepts to different application areas. CISC 101 uses term work in basic computing, 110 in creative computing, and 151 in data analytics. In general, Arts students should choose CISC 110 and Computing students should choose CISC 101.
Can I take CISC 101 and CISC 121 during the same term?
There is no point taking CISC 101 and CISC 121 concurrently. If you are not ready for CISC 121, taking 101 simultaneously will absolutely not help. If you are ready for CISC 121, 101 has nothing to offer.
Can I get credit for both CISC 101 (or 110 or 151) and CISC 121?
Yes, all of these courses can count toward a degree in Computing. CISC 121 will count as part of the concentration. CISC 101, 110 and 151 count as electives (if taken prior to CISC 121); they are not required courses in any Computing concentration.
What if I already know how to program? Do I really have to take CISC 121?
We recommend that every student in a Computing program take CISC 121/3.0. Here are some points to consider.
- CISC 121 is not just a course about programming. It provides an introduction to the science of computing. Take a close look at the course outline and textbook, before deciding whether you already know all this material.
- If you have already taken a computing course at another university, at a community college, or at CÉGEP, you may apply for transfer credit. Work experience and high-school experience are very difficult to evaluate, and cannot be converted to transfer credits.
- What if you already know some of the material that is covered in CISC 121? This is a good thing: having review material in some of your first-year courses can help reduce the stress and time pressure that students encounter in first year. You can use CISC 121 as an opportunity to refine and deepen your understanding, and to earn a good mark which attests to your high level of mastery of the material. This provides you with a strong foundation for subsequent CISC courses.
- If you are already an experienced programmer and knowledgeable in Computing Science, then the CISC 121 assignments will be quick and easy for you to do. Thus, you will be able to complete CISC 121 without wasting a lot of your time.You should complete all of the course assignments, no matter what you think your level of expertise is. Completing the assignments gives you confidence that you will indeed be able to perform well on the final exam. In the past, quite a few students have overestimated their mastery of the CISC 121 material, and ended up performing very poorly on the final exam. By doing all of the assignments, you will avoid this problem.
- In some cases, it may be appropriate for you to take CISC 121 and CISC 124/3.0 concurrently; speak to the CISC 124 instructor about this.
- If you are certain that there is no need for you to take CISC 121, you may be able to avoid taking it. The following steps are involved. We do not recommend this approach other than in exceptional circumstances.
- If you do not take CISC 121, you are missing a prerequisite for courses such as CISC 124, CISC-203/3.0 and CISC-271/3.0. You will have to ask the instructor of each such course that you want to take for permission to take it without the CISC 121 prerequisite, and get the permission of the undergraduate chair. You do this at your own risk -- you might end up performing poorly in the subsequent course because you are missing material taught in CISC 121.
- If you do not take CISC 121 and are therefore missing a half course in your Computing concentration, you will have to replace CISC 121 by a CISC half-course numbered above 200 that is not otherwise used in the concentration.
Can I take CISC 101, 110 or 151 after taking CISC 121 or 124?
Not for credit.