Why take CSci 161?

 

Computer Science 161 is the entry level course in computer science sequence, preparing students planning on careers in computer science or for graduate studies in computer science. It is the entry course for all other computer science courses. If you plan to major in mathematics, the Department advises that you take CSci 161 early on. 

But CSci 161 is also a very good choice for students majoring in a variety of other disciplines as well. This is so because CSci 161 is much more than simply a programming course.

You do learn about programming when you take 161 – it is one of the reasons that many students take the course. But even here the idea is not simply how to program in one language.  We try and teach the basics of programming generally in addition to using a specific language (currently Java) to do that. The hope is that students who have taken CSci 161 not only know how to program in Java, but, after the course, find it easier to learn other programming languages (the average computer science professional works in a fairly large number of languages over the course of a career).

But computer science is not primarily about programming – it is about problem solving. Computer Science is the study of how one thinks about problems, how one sets about finding solutions to them, how one implements those solutions, and, finally, how one evaluates those solutions. We do this within the context of computer systems involving computers, database systems and other hardware, but the basic problem-solving principles learned in CSci 161 apply to many disciplines,  

Computer Science plays a major role in nearly every discipline.  For example,

In Csci 161 we learn how to think computationally. While this is not the only way to think about things, it is a very useful skill to have, particularly since computers are everywhere in our environment: from the laptop that we use for writing papers, preparing budgets and keeping in touch, to the chips sitting in our appliances. Computers have given us vastly increased possibilities for doing things, and one of the things we get from CSci 161 is an understanding of how systems interact with us (and with each other!) and how we can be more effective users of these systems.  It also gives us some insight on how best to do a task involving computers and informs our choices about the tools we can bring to bear on a problem.

No programming experience is needed for this course.  If you have ever sent an email, written a paper, or browsed the web, you have all of the computer experience you need.  We do ask for the equivalent of high school algebra, but there are no computer science prerequisites.

And what do you get in return?  You are introduced to the algorithmic approach to problem solving.  You are introduced to programming in a modern computer language.  You become a more effective user of the computer tools available to you in your professional work and personal life.  And, perhaps, you catch the bug, as many of us have, you can enter a career with a huge variety of things you can do and great personal satisfaction.  Computer careers range from the study of the theoretical limits of computation, the development of large-scale systems with a computer component, computer applications in the sciences (including social sciences), economics, and business, efforts in understanding how humans solve problems and designing programs to do the same sorts of things, getting computers to interact more naturally with people, to analyze and visualize data, create interactive games, and, of course, writing code, if you want to.

Come on in - the water's fine.