CSC148, Winter 2017

Welcome to CSC148, Introduction to Computer Science. In this course you will think scientifically about program design concepts such as modularity, encapsulation, and information hiding, about powerful programming techniques such as recursion and linked structures, and criteria for comparing programs such as efficiency.

This page is for St. George Campus.There are related pages for CSC148 at UTM and CSCA48 at UTSC

Extra help: Many students find this course challenging, so you are encouraged to make use of lectures, tutorials, office hours, and the DCS Help Centre to help you master course material. Every Monday through Thursday, 4–6 p.m., the CSC Help Centre awaits your questions.

Below you'll find a calendar with entries for all significant course events

Week:ThursdayFridayMondayTuesdayWednesday
Week #1
introduction, class design

input:

course notes, chapter 1

review function design

in-class exercise on class design

another exercise on class design...

recognized study groups

Think like a computer scientist, classes I

Jan 5

no tutorial first week

Jan 6

no tutorial first week

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Jan 9

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Jan 10

Jan 11

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #2
composition, inheritance

input:

course notes, chapter 1

rational exercise

Think like a computer scientist: classes II

ramp-up paper exercise

ramp-up cheat sheet

output:

lab #1

Jan 12

Lab 1 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

lab rooms by surname

Jan 13

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 1 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

lab rooms by surname

Jan 16

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Jan 17

Jan 18

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

last day to add classes

Week #3
ADTs, abstraction, test cases

input:

output:

Jan 19

Lab 2 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Jan 20

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 2 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Jan 23

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Jan 24

Jan 25

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #4
linked lists, assertions

input:

output:

Jan 26

Lab 3 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Jan 27

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 3 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Jan 30

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Jan 31

Feb 1

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #5
modularity, functional programming

input:

output:

Feb 2

Lab 4 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Feb 3

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 3 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Feb 6

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Feb 7

Feb 8

L0301, test #1, 9:10–10:00

L0101, test #1, 10:10–11:00

L0201, test #1, 1:10–2:00

L5101, test #1, 6:10–7:00

L5101 lecture 7:15–9:00

Week #6
reading & writing structural recursion

input:

output:

Feb 9

Lab 5 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Feb 10

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 5 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Feb 13

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Feb 14

Assignment 1 due at 10 p.m.

Feb 15

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #7
tree motivation, definition

input:

output:

Feb 16

Lab 6 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Feb 17

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 6 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Feb 20

reading week...

Feb 21

reading week...

Feb 22

reading week...

Week #7.5
tree motivation, definitions

input:

output:

Feb 23

reading week...

Feb 24

reading week...

Feb 27

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Feb 28

Mar 1

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #8
binary trees, traversal, search

input:

output:

Mar 2

Lab 7 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Mar 3

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 7 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Mar 6

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Mar 7

Mar 8

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #9
mutation, binary search trees

input:

output:

Mar 9

Lab 8 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Mar10

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 8 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Mar 13

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Mar 14

Mar 15

L0301, test #2, 9:10–10:00

L0101, test #2, 10:10–11:00

L0201, test #2, 1:10–2:00

L5101, test #2, 6:10–7:00

L5101 lecture 7:15–9:00

Week #10
efficiency, tracing, memoization

input:

output:

Mar 16

Lab 9 rooms: BA3175, 3185, 3195, 2200

9–11 a.m.

11–1 p.m.

1–3 p.m.

3–5 p.m.

5–7 p.m.

7–9 p.m.

Mar 17

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Lab 9 rooms: BA3175, 3185, 3195 2200

11–1 p.m.

5–7 p.m.

Mar 20

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Mar 21

Assignment 2 due at 10 p.m.

Mar 22

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #11
big-oh, sorting

input:

output:

Mar 23

demonstrate your A2 mastery during lab time

Mar 24

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

demonstrate your A2 mastery during lab time

Mar 27

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Mar 28

Mar 29

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150

Week #12
big-overflow, big ideas

input:

output:

Mar 30

Mar 31

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Apr 3

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 BA1160

Apr 4

Apr 5

Lecture 9:10–10:00 HS610

Lecture 10:10–11:00 HS610

Lecture 1:10–2:00 HS610

Lecture 6:10–9:00 PB B150