Choosing a First Year Course

The Computer Science 140 Series

Computing has become relevant to all kinds of fields and professions.  Some science programs require one or two Computer Science courses, while some others recommend one or two.  But there are good reasons why every professional should know something about computation, and the basics behind getting useful work done with a computer.  We’re not talking about word processing and power point presentations!

Our core first year Computer Science courses are relevant and practical for students from all fields of study.  Computer science courses are not just for computer science students anymore!  We recognize that many students, scholars, and professionals want to use computers to make their academic, professional, or research work more productive.  We’re teaching practical computer science skills, using the Python language, which is used by a wide variety of scientists and professionals, as well as software developers.

We offer a sequence of three courses: CMPT 140, 141, and 145.  It’s a single stream of courses with 2 entry points, depending on your background.  All three courses are science credits in any Arts & Science degree program (but you can count at most 2 of them towards a Science degree requirement).  All three count as free electives in any degree program.  The courses were designed by experienced and award-winning first-year instructors.  These courses fit together precisely, because they were designed to fit together.

The Creative Computing (CMPT 140) course is designed to be a challenging and fun introduction to computing for students who have little or no background in computer science or programming. The course emphasizes building computer programs in a graphical and interactive environment using the Python programming language, which is a useful tool for everyone.

CMPT 140 starts with no assumptions about your background in computer science.  If you never had the opportunity to study programming before, this is an excellent place to start. You won’t be the only one in the class who has never done any programming!  In fact, students who have done programming before have their own starting point (CMPT 141).  

Students who finish CMPT 140 can be confident moving on to CMPT 141.  In our experience, students who learn computer science without any background in programming do as well as, or better than, students who have some background. So, if you have taken CMPT 140, you will be perfectly prepared to take CMPT 141.

An introduction to computer science and problem solving using procedural programming. This course introduces the basic computer science and computer programming principles. These concepts are applied to problem solving applications such as data analysis and visualization, simulation, text processing, and image processing. The programming skills acquired in this course are applicable in all fields of study, the work-place, and personal projects.

CMPT 141 is the starting point for two kinds of students:

  • Students with CS30, or roughly equivalent experience, can start with CMPT 141. Some students may already have programming experience, so we recommend that they start with CMPT 141, instead of CMPT 140.
  • Students who are pretty good in math should feel confident starting at CMPT 141, even if they’ve not done any computer science before.  By "pretty good at math" we mean that you’re taking MATH 110, or equivalent, or you already have credit for it.

Important Note: CMPT 141 won’t need any particular math knowledge; we’re far more interested in the by-products of math class: good analytical skills, logical and deductive reasoning skills, attention to detail, which are all identified as useful in learning computer science.  Of course, you’ll need a little math (everyone always needs a little math!), but nothing to be intimidated by.

Frequently Asked Questions

They've been redesigned and renumbered as CMPT 140, 141, and 145.

It’s a single stream of courses with 2 entry points, depending on your background.  All three courses are science credits in any Arts & Science degree program (but you can count at most 2 of them towards a Science degree requirement). All three count as free electives in any degree program.

Talk to our Computer Science advisors if you have any questions!

CMPT 140 is basically the same as CMPT 105.  It also covers roughly 80% of the material that used to be in CMPT 111.  CMPT 140 uses Python, like CMPT 105 did, and the programming environment called Processing.  We gave it a new number so it would fit in.  Also, giving it the number higher than 109 means it can be counted as a science credit for anyone.

CMPT 141 reviews the basics covered in CMPT 140 in about 3 weeks of lecture time.  For students who already have CS30, or other experience, it’s a chance to review, and perhaps an opportunity to see how programming constructs look in Python.  Don’t worry, everything you think you know is still relevant!  For students who are good in math, this review is probably enough to learn the basics, even if they don’t have CS30.  CMPT 141 covers all of what CMPT 111 covered, and then goes a bit beyond.  Because Python is such a useful language, going beyond is not hard.  It’s just the next step.

CMPT 145 replaces CMPT 115, and covers many of the same topics.  But we’re using Python, so the stories you heard about CMPT 115 may no longer be relevant.  CMPT 145 will focus on the same principles, but without the headache of learning how to use pointers effectively.  As a result, CMPT 145 will be able to go a bit beyond CMPT 115, into more interesting algorithms and problem solving techniques.  And for all you programmers eager to learn C/C++, never fear: we’ve just moved it to second year.  We think it will be easier to master when you’ve had more experience programming.

To be honest, we had no idea this could have caused a concern among students.  To us, a course number is a label, not a quantity.  It surprised us to hear concerns that "140 seems difficult because it’s almost halfway to 200".  Fear not: CMPT 140 is an intro course for everyone.  No one should be intimidated by it, certainly not by the course number.  The other courses in the sequence are simply later in the sequence.  The difference between CMPT 145 and CMPT 141 is not 4.  Okay?  The president’s phone number is not "higher" or "bigger" than any other phone number.  These labels are not quantities.

We realize this is a bit of a hurdle.  Starting at CMPT 140, there are 3 courses to take in the new stream of courses before you can take 200-level CMPT courses.  One way to get over this hurdle is by taking CMPT 145 in the summer between first and second year.  Another way to solve this is to start at CMPT 141, even if you don’t have any prior experience.  If you are hesitant to jump into CMPT 141, then take it a bit more slowly, and build your confidence with CMPT 140.  If you can’t take a summer course, you could finish a CMPT degree in 9 semesters (one more than the “standard 4-year degree”, but one less than the typical student program).

This won’t affect you negatively at all.  The ISD program requires CMPT 141 and CMPT 145, but CMPT 145 can be taken in either first year or second year.  So you can start at CMPT 140 or CMPT 141 and it will not affect when you can take your 200-level CMPT courses.