-
Notifications
You must be signed in to change notification settings - Fork 0
/
csc_short.htm
175 lines (172 loc) · 18 KB
/
csc_short.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="description" content="" />
<title>2010-2011 Faculty of Arts and Science Calendar</title>
<!--link rel="stylesheet" href="http://www.artsandscience.utoronto.ca/testdir/cal/c/c01.css" type="text/css" media="all" /-->
<link rel="stylesheet" href="http://www.artsandscience.utoronto.ca/ofr/css/c/c01.css" type="text/css" media="all" />
</head>
<body>
<div id="wrapper">
<div id="header"></div>
<div id="banner"></div>
<div id="content">
<CENTER>
<TABLE WIDTH="80%">
<TR><TD ALIGN="LEFT"><HR></TD></TR>
<TR><TD ALIGN="LEFT">
<font face="Arial, Helvetica, sans serif"><STRONG><H2>Computer Science Courses</H2></STRONG></FONT>
<P>
<a href="guideprogcourse.htm">Key to Course Descriptions</a>.
<P><font color="#990000"><small><strong>| <a href="http://www.artsandscience.utoronto.ca/ofr/timetable/winter/csc.html">Course
Winter Timetable</a> | </strong></small></font>
<P><strong> Enrolment notes </strong>
<blockquote>
<p> NOTE: The University of Toronto Mississauga and University of Toronto
Scarborough computer science Minor subject POSt is not recognized as a restricted
CS
subject POSt for St. George courses enrolments. </p>
<p>NOTE: No late registration
is permitted in any CSC course after the first two weeks of classes. </p>
<p>Enrolment
in most CSC courses abOVE 100-level MAY BE restricted. Consult the Calendar
or the Arts and Science Registration Handbook and Timetable
for details.</p>
</blockquote><P><strong>Prerequisites and exclusions </strong>
<blockquote>
<p> Prerequisites and exclusions are enforced. Please refer to the 2010-2011
Registration Handbook and Timetable for prerequisite waiver deadlines.
</p>
<p>Dropping down from enriched to regular courses </p>
<p> Students may go to their college to drop down from enriched courses
to regular courses. The courses are as follows: from CSC148H1
to CSC108H1, from CSC150H1
to CSC108H1, from CSC240H1 to CSC165H (or to CSC236H1 if you
have already passed CSC165H1), from CSC265H1 to CSC263H1, from CSC365H1
to CSC363H1,
and from CSC375H1 to CSC373H1. Please refer to the 2010-1011Registration
Handbook
and Timetable for drop down deadlines. </p>
</blockquote><P><strong> Drop down deadlines: </strong>
<blockquote>
<p> Fall session – October 1, 2010</p>
<p>Winter session – February
4, 2011 </p>
</blockquote> <P><strong> Students with transfer credits </strong>
<blockquote>
<p> If you have transfer credits in Computer Science or a similar
subject for courses done at another university or college,
contact our
Undergraduate Office (BA4252/4254) for advice on choosing
courses. Ask for advice
also even if you don’t
have transfer credits yet but are considering degree
study at the University of Toronto. Without advice, you
risk poor
course choice or other adverse
consequences. </p>
</blockquote> <p> </p>
<TR><TD ALIGN="LEFT">
<HR>
<strong>First Year Seminars </strong>
<P>The 199Y1 and 199H1 seminars are designed to provide the opportunity to work closely with an instructor in a class of no more than twenty-four students. These interactive seminars are intended to stimulate the students’ curiosity and provide an opportunity to get to know a member of the professorial staff in a seminar environment during the first year of study. <a href="prg_fys.htm">Details here.</a></B>
<P><HR>
<A NAME="CSC104H1"></A>
<P><B>CSC104H1<BR>The Why and How of Computing [24L, 12T]</B>
<P>An introduction to computing for non-computer scientists. History of computing machinery; representation of data and their interaction with operations; hardware, software, operating systems; problem solving and algorithms; social issues in computing; a gentle introduction to programming. This course is an introduction to becoming actively engaged with computing, not a tutorial on using particular computer applications.<BR>Exclusion: SMC104H1 (as taught befORE 1990); <A HREF="crs_vic.htm#VIC104H1">VIC104H1</A> (as taught befORE 1990); any CSC course.<BR>
Note: Note: you may not take this course concurrently with any CSC course, but you may take <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>/<A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A> after <A HREF="crs_csc.htm#CSC104H1">CSC104H1</A>.<BR>
DR=SCI; BR=5
<hr /><P><strong> Choosing first year courses: </strong>
<P> To help you select the programming course that is right for you, see
<a href="http://www.cs.toronto.edu/dcs">www.cs.toronto.edu/dcs</a>,choose Programs & Courses > Undergraduate Courses > Choosing Your First Year Courses.<BR>
<A NAME="CSC108H1"></A>
<P><B>CSC108H1<BR>Introduction to Computer Programming [36L, 12T, 12P]</B>
<P>Structure of computers; the computing environment. Programming in a language such as Python. Program structure: elementary data types,statements, control flow, functions, classes, objects, methods, fields. Lists; searching, sorting and complexity. Practical (P) sections consist of supervised work in the computing laboratory. These sections are offered when facilities are available, and attendance is required.<BR>Exclusion: CSC107H1, <A HREF="crs_csc.htm#CSC120H1">CSC120H1</A>, 139H1, <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>, 149H1, <A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>.<BR>
NOTE: You may not take this course after or concurrently with <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>, but you may take <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A> after <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC120H1"></A>
<P><B>CSC120H1<BR>Computer Science for the Sciences [24L, 12P]</B>
<P>An introduction to computer science for students in other sciences, with an emphasis on gaining practical skills. Introduction to programming; web programming; database design; software tools; examples and exercises taken from the sciences. At the end of this course you will be able to develop computer tools for scientific applications, such as the structuring and analysis of experimental data. Practical (P) sections consist of supervised work in the computer laboratory. No programming experience is necessary. Students who wish to do more can progress directly to <A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>.<BR>Exclusion: any CSC course.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC148H1"></A>
<P><B>CSC148H1<BR>Introduction to Computer Science [24L, 12T, 12P]</B>
<P>Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion. This course assumes programming experience in a language such as Python, C++, or Java, as provided by <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>.<BR>
Students who already have this background may consult the Computer Science Undergraduate Office for advice about skipping <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>. Practical (P) sections consist of supervised work in the computing laboratory. These sections are offered when facilities are available, and attendance is required. NOTE: Students may go to their college to drop down from <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A> to <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>. See above for the drop down deadline.<BR>Exclusion: CSC139H1, 149H1, <A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>; you may not take this course after taking more than two CSC courses at the 200-level or higher.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>; MHF4U(advanced functions)/MCV4U(calculus and vectors)<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC150H1"></A>
<P><B>CSC150H1<BR>Accelerated Introduction to Computer Science [36L, 12T, 12P]</B>
<P>An accelerated course covering object-oriented topics from <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A> (classes, objects, methods and fields, and program design), as well as all the material of <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>. Suitable for students with a solid programming background in Turing, C, Scheme, or a similar language, who are willing to accept a heavier workload than in <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A> and <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>.<BR>Exclusion: CSC107H1, <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>, 139H1, <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>, 149H1; you may not take this course after taking more than two CSC courses at the 200-level or higher.<BR>
Prerequisite: MHF4U(advanced functions)/MCV4U(calculus and vectors). Students should thoroughly understand arrays, searching, sorting, functions/procedures/subprograms, arguments and parameters, and modular design.<BR>
NOTE: Students may go to their college to drop down from <A HREF="crs_csc.htm#CSC150H1">CSC150H1</A> to <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>. See above for the drop down deadline.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC165H1"></A>
<P><B>CSC165H1<BR>Mathematical Expression and Reasoning for Computer Science [36L, 24T]</B>
<P>Introduction to abstraction and rigour. Informal introduction to logical notation and reasoning. Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Structuring proofs to improve presentation and comprehension. General problem-solving techniques. Unified approaches to programming and theoretical problems. Representation of floating point numbers and introduction to numerical computation.<BR>
Co-requisite: <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>/<A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A><BR>
Prerequisite: MHF4U (advanced functions)/MCV4U (calculus and vectors)<BR>
DR=SCI; BR=5
<hr /><P><BR>
<strong>Note</strong>:
<P> To enrol in any CSC course at the 200-level or higher, you must have
a cumulative GPA of at least 1.50 (3.00 FOR 300-AND 400-level courses) or be
enrolled
in a restricted subject POSt sponsored by the Department of Computer Science.
The University of Toronto at Mississauga Computer Science Minor and the
University of Toronto at Scarborough Minor are not restricted subject POSts.
If you
are in your first year of studies at the University, the GPA requirement
does not apply.<BR>
<A NAME="CSC207H1"></A>
<P><B>CSC207H1<BR>Software Design [24L, 12T]</B>
<P>An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented programming language such as Java. Topics from: version control, build management, unit testing, refactoring, design patterns, advanced IDE usage, regular expressions, markup languages, parsing using finite state machines, and reflection.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>; CGPA 1.5/enrolment in a CSC subject POSt.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC209H1"></A>
<P><B>CSC209H1<BR>Software Tools and Systems Programming [24L, 12T]</B>
<P>Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the operating system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.<BR>Exclusion: <A HREF="crs_csc.htm#CSC372H1">CSC372H1</A>, 408H1, <A HREF="crs_csc.htm#CSC369H1">CSC369H1</A>, 468H1, <A HREF="crs_csc.htm#CSC469H1">CSC469H1</A>.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC207H1">CSC207H1</A>/enrolment in Bioinformatics and Computational Biology (BCB) subject POSt; CGPA 1.5/enrolment in a CSC subject POSt.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC236H1"></A>
<P><B>CSC236H1<BR>Introduction to the Theory of Computation [24L, 12T]</B>
<P>The application of logic and proof techniques to Computer Science. Mathematical induction; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the “Master Theorem”); introduction to automata and formal languages.<BR>Exclusion: CSC238H1, <A HREF="crs_csc.htm#CSC240H1">CSC240H1</A>.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>, <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A>/(<A HREF="crs_csc.htm#CSC148H1">CSC148H1</A> as given before FALL 2003); CGPA 1.5/enrolment in a CSC subject POSt.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC240H1"></A>
<P><B>CSC240H1<BR>Enriched Introduction to the Theory of Computation [24L, 12T]</B>
<P>The rigorous application of logic and proof techniques to Computer Science. Propositional and predicate logic; mathematical induction and other basic proof techniques; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the “Master Theorem”); introduction to automata and formal languages.<BR>
This course covers the same topics as <A HREF="crs_csc.htm#CSC236H1">CSC236H1</A>, together with selected material from <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A>, but at a faster pace, in greater depth and with more rigour, and with more challenging assignments. Greater emphasis will be placed on proofs and theoretical analysis. Certain topics briefly mentioned in <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A> or <A HREF="crs_csc.htm#CSC236H1">CSC236H1</A> may be covered in more detail in this course, and some additional topics may also be covered.<BR>Exclusion: <A HREF="crs_csc.htm#CSC236H1">CSC236H1</A>, 238H1.<BR>
Prerequisite: OAC Calculus and one of Algebra & Geometry or Finite Mathematics OR U Advanced Functions and Introductory Calculus, and one of U Geometry and Discrete Mathematics or U Mathematics of Data Management, with high grades; CGPA 1.5/enrolment in a CSC subject POSt<BR>
Recommended preparation: first term of <A HREF="crs_mat.htm#MAT137Y1">MAT137Y1</A>/<A HREF="crs_mat.htm#MAT157Y1">MAT157Y1</A>.<BR>
Co-requisite: <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A><BR>
NOTE: Students may go to their college to drop down from <A HREF="crs_csc.htm#CSC240H1">CSC240H1</A> to <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A> (or to <A HREF="crs_csc.htm#CSC236H1">CSC236H1</A> if you have already passed <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A>). See above for the drop down deadline.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC258H1"></A>
<P><B>CSC258H1<BR>Computer Organization [24L, 13P, 12T]</B>
<P>Computer structures, machine languages, instruction execution, addressing techniques, and digital representation of data. Computer system organization, memory storage devices, and microprogramming. Block diagram circuit realizations of memory, control and arithmetic functions. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.<BR>Exclusion: CSC257H1 as given befORE 1985.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC148H1">CSC148H1</A>/<A HREF="crs_csc.htm#CSC150H1">CSC150H1</A>, <A HREF="crs_csc.htm#CSC165H1">CSC165H1</A>/<A HREF="crs_csc.htm#CSC240H1">CSC240H1</A>/(<A HREF="crs_csc.htm#CSC148H1">CSC148H1</A> as given before FALL 2003); CGPA 1.5/enrolment in a CSC subject POSt.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC260H1"></A>
<P><B>CSC260H1<BR>Introduction to Scientific, Symbolic, and Graphical Computation [24L, 12T]</B>
<P>Problems in transforming continuous mathematical models to discrete computational models. Inadequacy of naive computer solutions, and techniques to remedy inadequacies. Symbolic computation, plotting, 3-D graphics, and conventional programming languages. Intended for students from computer science, sciences and mathematics: for computer scientists, introduction to design and implementation of robust algorithms; for scientists, techniques in transforming scientific problems into computational solutions; for mathematicians, insight into differences between mathematical models and computational solutions.<BR>Exclusion: CSC160H1 as taught in SprING 1992; after taking CSC270H1/<A HREF="crs_csc.htm#CSC263H1">CSC263H1</A>/<A HREF="crs_csc.htm#CSC265H1">CSC265H1</A> and ANY 300-/400-level CSC course, you may not take <A HREF="crs_csc.htm#CSC260H1">CSC260H1</A> without Departmental permission in writing.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC108H1">CSC108H1</A>/computing experience, as from a good high school programming course; CGPA 1.5/enrolment in a CSC subject POSt.<BR>
Co-requisite: <A HREF="crs_mat.htm#MAT135Y1">MAT135Y1</A>/<A HREF="crs_mat.htm#MAT137Y1">MAT137Y1</A>/<A HREF="crs_mat.htm#MAT157Y1">MAT157Y1</A>, <A HREF="crs_mat.htm#MAT223H1">MAT223H1</A>/<A HREF="crs_mat.htm#MAT240H1">MAT240H1</A>.<BR>
DR=SCI; BR=5<BR>
<HR>
<A NAME="CSC263H1"></A>
<P><B>CSC263H1<BR>Data Structures and Analysis [24L, 12T]</B>
<P>Algorithm analysis: worst-case, average-case, and amortized complexity. Standard abstract data types, such as graphs, dictionaries, priority queues, and disjoint sets. A variety of data structures for implementing these abstract data types, such as balanced search trees, hashing, heaps, and disjoint forests. Design, implementation, and comparison of data structures. Introduction to lower bounds.<BR>Exclusion: <A HREF="crs_csc.htm#CSC265H1">CSC265H1</A>, 378H1.<BR>
Prerequisite: <A HREF="crs_csc.htm#CSC207H1">CSC207H1</A>, <A HREF="crs_csc.htm#CSC236H1">CSC236H1</A>/238H1/<A HREF="crs_csc.htm#CSC240H1">CSC240H1</A>; <A HREF="crs_sta.htm#STA247H1">STA247H1</A>/<A HREF="crs_sta.htm#STA255H1">STA255H1</A>/<A HREF="crs_sta.htm#STA257H1">STA257H1</A>; CGPA 1.5/enrolment in a CSC subject POSt.<BR>
DR=SCI; BR=5<BR>
<HR>