So you're convinced these computer things will probably be around for a while and it might be helpful to learn you some computer science. Great! But then you check out the course catalog and there are four different introductory courses and it's difficult to tell which one suits you best. If that is your boggle, read on.
To review, the catalog lists four different 100-level courses:
- CSCI 0105: Algorithmic World
- CSCI 0110: Programming through Simulation
- CSCI 0145: Introduction to Computing (formerly CSCI 0101, which is still listed in some places)
- CSCI 0150: Computing for the Sciences (offered every semester)
CSCI 0105 and CSCI 0110 are non-major courses. They are intended for students who have no prior computer science experience and just want a taste of what computer science is. The do not count for either the major or the minor. What if you get excited about CS and want to actually pursue a major or a minor? That's great! We hope some of you will catch the bug. The next step would then be 145 or 150.
105 and 110 have quite different focuses. 105 is intended to be a very broad computer science taster. We learn some basic programming and apply it to all sorts of things like drawing, image editing, sound manipulation, data processing, simulation, and visualization, and games. We also spend a good portion of the class talking about how algorithms are impacting our lives.
110 is also a good starting place, but it is focused specifically on simulation. This is great for students interesting in domains that do a lot of modeling, like environmental studies, biology, economics, or the social sciences.
CSCI 0145 and CSCI 0150 are both entry points to the major (or minor). The very short answer to "which should I take?" is: it usually doesn't matter. Both of these courses will:
- challenge you similarly (none are "easier" or "harder" than the others);
- give you a broad introduction to the field of computer science;
- prepare you to take further courses within the department; and
- serve as a solid foundation for a CS major, a CS minor, or an interested cross-disciplinarian.
With that said, why might one consider preferring one course over another? Before pursuing that question, it should be emphasized that the differences are not so profound that you should decline taking a course different than the one you feel suits you best. Therefore, you should ask yourself the following questions, in this order:
Which course fits my schedule? Take that one. If that presents multiple options, then ask yourself...
Which course has (more) open seats? Take that one. If that presents multiple options, then ask yourself...
Am I looking to apply computer science to other scientific fields? Consider 150. While, as previously mentioned, both courses provide a broad introduction, CSCI 0150 also includes material that prepares students to process the kinds of data gathered in scientific experiments in such fields as physics, chemistry, psychology, etc...
What's different about 145? It's intended to be the broadest of the already-broad introductions, and therefore provides a bit more technical context to the general lessons rather than the depth of data analysis (150). If your goals don't specifically align with either 150, 145 is a great choice. If 145 is full, 150 will scratch your CS itch. But...
What if I still can't decide? Come discuss with any of the CS faculty and we will gladly help you figure things out!