Welcome!Welcome to the web site for the Fall 2009 term of CSC 150, Accelerated Introduction to Computer Science. This course builds on your programming experience in any programming language, to discuss object-oriented programming, program design, recursion, data structures, program efficiency and more. CSC 150 is an alternative to CSC 148, if (and only if) you have not and are not taking CSC 108 (or transfer credit equivalent). Both courses end up covering the same programming concepts. (In particular, former CSC 120 students should consider either.) Unlike CSC 148, this course does not rely on familiarity with object-based programming (commonly learned with Java, OOTuring, Python, and some approaches to C++, C# or VB). Since there is a wider variety of programming language and paradigm backgrounds among CSC 150 students (e.g. the Arts and Science Calendar mentions Turing and Scheme, as not typically used to teach new programmers via objects) the course gets less benefit from using the same language as CSC 108 (which CSC 148 does), and is freer to use programming languages more suited to covering the CSC 148 concepts right away. It takes some time to address the diverse audience of CSC 150 and develop a common base, so CSC 150 has three lecture hours per week instead of the two that CSC 148 has. It is only faster paced, to develop the common base and then cover CSC 148 concepts, not harder nor deeper. PrerequisitesA quick test of enough programming experience: given a description (in a human language) of a way to sort a list/array/sequence/etc of numbers, you can write a function/method/procedure to do it that way. Conversely, given someone's function/method/procedure printout without comments, meaningful variable names, etc, you can trace by hand the exact order the statements are executed in and the values of all variables at each step. In particular, you do not program by copying examples and filddling with the text until it runs correctly. You understand a programming language independently of its syntax (textual notation): you can take your code (or someone else's in that programming language) and write out a line by line human description of each smallest step it does, without using any of the programming language's notation. The Arts and Science Calendar mentions some more concepts:
The high-school math prerequisites are not enforced, but they refer to a certain level of precise abstract thinking that math and CS share. Choosing CSC 150 as Your First UofT Programming Course to Major in Computer ScienceYou have various choices from CSC 108, 148 and 150.
Once again: CSC 150 is meant to be a combination of the concepts from some of CSC 108 and all of CSC 148, adapted to a certain diverse audience. So it requires an accelerated pace to complete in the same time as CSC 148. Your options here are based on background, not interest and ability. This is different than the relationship between, and options for, CSC 165, 236 and 240. To get a better feel for these courses you are welcome to attend any of their lectures (space-permitting) during the first week before the course add deadline. Feel free to talk to the various instructors about which course to choose, or consult the CS Undergraduate Office. In addition, if you enrol in CSC 148 or 150 you have until October 9 Friday to decide to switch from CSC 148/150 to CSC 108. If you decide to switch, see your College for details and contact the CSC 108 instructor to find out how your missed CSC 108 work will be handled (your marks in CSC 148/150 will then not be used). Contact me if you are unsure of which choice is right for you. EnrolmentThe Faculty of Arts and Science, through ROSI (Repository of Student Information) and your College Registrar, handle all enrolment scheduling and procedures (and override anything I as an Instructor might say about it). According to them: Last day to add this course: September 15 Tuesday.
Last day to drop this course: November 3 Tuesday.
Last day to drop down to CSC 108 (through your college): October 9 Friday
— according to the Registration Handbook and Timetable, not the Course Calendar which has the wrong date; I asked Arts and Science, but don't let this make you think my word overrides anything else about enrolment procedures they say :)#. Marking Scheme
Related UofT SitesComputer Science Undergraduate Office (UGO):
Computer Science Student Union (CSSU): get involved with your fellow CS Undergraduate students.
Writing Help:
writing is an important component of Computer Science. |