Main Navigation (Top Menu) Secondary Navigation (Side Menu) Page Content
Queen's School of Computing

What Courses to Take in the First Year of Computing Programs

What CISC course should I start with, CISC-101/3.0, CISC-110/3.0 or CISC-121/3.0?

If you have no prior programming experience, you should take either CISC-101/3.0 or CISC-110/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.

If you have prior programming experience, you should take CISC-121/3.0 in the fall of first year and CISC-124/3.0 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, Coursera, or Amplify.

You do not have to be familiar with any particular programming language. What's important is that you understand the basic concepts of programming: variables, conditionals, loops and methods (also known as procedures, functions or subprograms). If you are comfortable writing short programs in any language, including methods with parameters and return results, you have enough experience to take CISC 121/3.0.

If you are unsure about whether you belong in CISC 121 or 101/110, take a look at the self-assessment quiz. The purpose of this quiz is to help you decide whether you belong in CISC 121/3.0 or in either CISC 101/3.0 or CISC-110/3.0. If you are still unsure, you may consult an academic adviser, or an instructor for 101/3.0, 110/3.0 or 121/3.0. In all of these courses, there will be some discussion during the first week of classes about the criteria for taking CISC 121/3.0. 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 101/3.0 or 110/3.0 before 121/3.0 and doing well in both than going directly to 121/3.0 and doing badly. If you are poorly prepared for 121/3.0, 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/3.0, a weak beginning will cause difficulties all through your Computing studies.

CISC-101/3.0 and CISC-110/3.0 count as electives (if taken prior to CISC-121/3.0); they are not required courses in any Computing concentration.

Which Math courses should I take?

CISC-102/3.0, a course in Discrete Mathematics, is now required in all Computing programs (unless MATH-110/6.0 is taken). CISC-121/3.0 has CISC-102 (or any 1st-year Mathematics course) as a corequisite.

Many Computing programs have a 1st-year Linear Algebra course as a requirement. This can be satisfied with MATH-110/6.0, MATH-111/6.0, or MATH-112/3.0. We recommend MATH-111/6.0 except for students who intend to take subsequent Math courses that require or recommend MATH-110/6.0, such as students intending to take the Computing and Math plan (COMA). MATH-112/3.0 is an accelerated version of MATH-111/6.0 and can be taken by students who are strong in Math (or by students aiming for Biomedical Computing, because there isn't room in their schedule for MATH-111/6.0).

Students in Computing programs that require Calculus would normally take MATH-121/6.0. MATH-120/6.0 can be taken by students who intend to take subsequent Math courses that require or recommend it. MATH-126/6.0 is available for students in Arts programs, such as Computing and the Creative Arts. Here is more information about math courses.

What if I already know how to program? Do I really have to take CISC-121/3.0?

We recommend that every student in a Computing program take CISC-121/3.0. Here are some points to consider.

  • CISC-121/3.0 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/3.0? 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/3.0 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/3.0 assignments will be quick and easy for you to do. Thus, you will be able to complete CISC-121/3.0 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/3.0 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/3.0 and CISC-124/3.0 concurrently; speak to the CISC-124/3.0 instructor about this.

  • If you are certain that there is no need for you to take CISC-121/3.0, you may be able to avoid taking it. The following steps are involved. We do not recommend this approach other than in exceptional circumstances.

    1. If you do not take CISC-121/3.0, you are missing a prerequisite for courses such as CISC-124/3.0, 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/3.0 prerequisite. It is up to the instructor to decide whether or not to permit this. And 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/3.0.

    2. If you do not take CISC-121/3.0 and are therefore missing a half course in your Computing concentration, you will have to replace CISC-121/3.0 by a CISC half-course numbered above 200 that is not otherwise used in the concentration.

What courses can I take as electives?

Any Arts and Science course for which you have the prerequisites and can fit into your schedule can be chosen as electives. This list may help you.

How many courses should I register in?

The normal course load is five courses.

Summary: Courses to Take in First Year for Each Degree Program

  • COMP-G-BA/COMP-Y (Arts General/Minor)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0, plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, CISC-121/3.0, plus electives.

  • COMP-G-BCP/COMP-Z (Science General/Minor)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0 and MATH-111/6.0, plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, 121/3.0 and MATH-111/6.0, plus electives.

  • COMP-M-BCH/CSCI-P-BCH (Computing Major/Computer Science Specialization)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, 124/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), MATH-121/6.0 (or MATH-120/6.0), plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, 121/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), MATH-121/6.0 (or MATH-120/6.0), plus electives.

  • BMCO-P-BCP (Biomedical Computing)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0, MATH-112/3.0, MATH-121/6.0 (or MATH-120/6.0), BIOL-102/3.0, BIOL-103/3.0, CHEM-112/6.0.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, CISC-121/3.0, MATH-112/3.0, MATH-121/6.0 (or MATH-120/6.0), BIOL-102/3.0, BIOL-103/3.0, CHEM-112/6.0.

  • COCA-P-BAH (Computing and the Creative Arts)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0, 100-level required courses in at least one of the Arts subjects, plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, CISC-121/3.0, 100-level required courses in at least one of the Arts subjects, plus electives.

  • COGS-P-BCH (Cognitive Science)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), PSYC-100/6.0 and/or PHIL-115/6.0 and/or LING-100/6.0, COGS-100/3.0, plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, CISC-121/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), PSYC-100/6.0 and/or PHIL-115/6.0 and/or LING-100/6.0, COGS-100/3.0, plus electives.

  • SODE-P-BCH (Software Design)
    Students with programming experience should take CISC-102/3.0, CISC-121/3.0, CISC-124/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), MATH-121/6.0 (or MATH-120/6.0), plus electives.

    Students without programming experience should take CISC-102/3.0, CISC-101/3.0 or 110/3.0, CISC-121/3.0, MATH-111/6.0 (or MATH-112/3.0 or MATH-110/6.0), MATH-121/6.0 (or MATH-120/6.0), plus electives.

  • COMA-P-BCH (Computing and Mathematics)
    Students with programming experience should take CISC-121/3.0, 124/3.0, MATH-110/6.0 (or CISC-102 and either MATH-112/3.0 or MATH-111/6.0), MATH-120/6.0 (or MATH-121/6.0), plus electives.

    Students without programming experience should take CISC-101/3.0 or 110/3.0, CISC-121/3.0, MATH-110/6.0 (or CISC-102/3.0 and either MATH-112/3.0 or MATH-111/6.0), MATH-120/6.0 (or MATH-121/6.0), plus electives.

Students should consult the calendar and/or an academic adviser for more information.

 
 
.