How to Choose
Why Study Computer Science or Software Engineering?There are many reasons why it is interesting and useful to study Computer Science or Software Engineering. Here are some thoughts on this topic from our Professors.
Personally, I love computer science (and robotics especially) and here's why.
Computer Science is one of the few academic disciplines that truly embodies the future. What other field has so much impact, is so omnipresent, and is changing the world so fast? In one discipline it combines fundamental science as well as immediate societal impact. For me, CS has three key poles that define the field:
As a Computer Scientist one can mix and match these poles in various ways. On top of all that there are plenty of jobs and, better yet, different kinds of jobs.
Like Professor Dudek, I also love Computer Science. I really became a computer scientist by a lucky chance encounter with an introductory programming course during my first term as an undergraduate student (many years ago). The biology course that I was intending on taking looked to be very full and so I decided to try something different, and I signed up for the introductory programming course in Computer Science. Even though this course used ancient technology (punch cards), I found that I loved the challenge of designing programs, figuring out how to make my programs run faster and how to better design them, and seeing the results of my efforts actually do something.
I had no previous background at all in programming, but by the end of the term I was completely hooked and changed my major to Computer Science. I think it suits my abilities because once you understand the foundations, you can figure out the rest and there tends not to be very much memorization. You also learn by doing - interesting assignments and projects put the ideas into practice.
I still like the challenge of writing efficient and well-designed programs, and my research group actually pushes that idea further, to the design of tools (programs) that automatically produce better programs and tools to aid programmers.
When I started in Computer Science the foundations had been worked out, but computers were still only available in specialized labs and industries and computing was not nearly as important as it is today. Computers and computer science is everywhere you look now. We are very lucky at McGill because we have a large number of young professors who are experts in many new and exciting applications of computers including applications to medicine, robotics, the science of designing computer games, artificial intelligence, software engineering, bioinformatics and so much more. We have also come a long way from the day of punch cards, and our McGill Computer Science students have access to first class facilities in the Trottier Building .
So, if you already have some experience in Computer Science, please check out all the Computer Science programs that we offer at McGill. But, even more importantly, if you are like I was, and you haven't yet experienced Computer Science and you like thinking logically, try out a course and see if you like it. You should start with the course COMP 202, Introduction to Programming 1, and see if you get hooked like I did. If you take this course early in your studies at McGill, you will still have lots of time to complete a major in Computer Science.
Of course, computing is good for business. That is where it started becoming popular. We need computing for accounting, for predicting the stock market, for controlling manufacturing, for inventory and personnel administration.
More interestingly, computing is essential for understanding things. Physics calculated without computers for a few hundred years, but now physics needs computers. Condensed matter physics would be impossible without numerical computations. So would figuring out the quantum mechanics of molecules. Theoretical biology is a computational science. Social sciences use computers to do, for instance, factor analysis of complex situations or of personalities. Computers are even joining the study of the humanities, beyond the now ubiquitous text and image processing.
Finally, computer science itself brings new insights to language, to deduction and to thought. Programs are machines with no physical parts, and computer science is the study of these transcendent things.