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!
We’ve redesigned our core first year Computer Science courses from the ground up, making them 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 have created 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.
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
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 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.