CSCA48 - Introduction to Computer Science II
The result of a process that took well over a year and a half, this course has been re-designed from the ground up. In terms of material, it is equivalent to other CS2 courses in North America, and indeed the course content was determined after careful study of a number of such CS2 courses. What is different about this course is the emphasis put on helping you develop skills that will be essential during your University career.
It is not a programming course - though we will use programming heavily and you will learn the fundamental material to implement course ideas in C.
It is also not just for future computer scientists! - If you have an interest in computing, or will need to apply computational techniques to solve problems in your professional field, there is something in this course for you! Applications and problems in the course are chosen from a variety of domains.
We will focus on fundamental problems in computer science, and discover how the tools and theory we learn in the course help us address these problems.
The goal is to help you develop the ability to analyze a problem, choose a suitable approach for solving it, and then implement that solution. Tools and algorithms you learn in this course will be required, and refined upon, in your later courses.
We will link what you are learning in this course to the applications where the material is relevant, and to future courses you will be taking
We will bring up the social impact of computing, and start working toward developing a solid ethical foundation on which to build your career. In the end, computer science should be a tool for changing the way our world works in order to make people happier, more productive, and to live more fulfilled lives. We encourage you to dream of what you'd like to change, and we can start here, with this course, to provide you with the tools you will need to make it happen.