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: | Thursday | Friday | Monday | Tuesday | Wednesday |
Week #1 introduction, class design input: in-class exercise on class design | 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: Think like a computer scientist: classes II output: | 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. | 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. | 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: How to Think Like a Computer Scientist, Stack 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 reading & writing structural recursion 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: Video on MarkUs and assignment #1 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 Test rooms: You must attend the correct time and room, and bring your TCard L0301, test #1, EX100 9:10–10:00 L0101, test #1,EX100 10:10–11:00 L0201, test #1, 1:10–2:00 Aalfattlah–Eo: BA2185 Fei–Martin: GB304 Mei–Watson: GB404 Wei–Zou: HA410 L5101, test #1, 6:10–7:00 Abbarin–Mao: HA403 Meng–Wang, Siyi: HA401 Wang, Tong–Zhuang: HA410 L5101 lecture 7:15–9:00 |
Week #6 linked lists, assertions input: linked list, How to think like a computer scientist 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 Test rooms: You must attend the correct time and room, and bring your TCard L0301, test #2, EX100 9:10–10:00 L0101, test #2, EX100 10:10–11:00 L0201, test #2, EX200 1:10– 2:00 L5101, test #2, 6:10–7:00 A–M: UC 266 N–Z: UC 273 L5101 lecture 7:20–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: extra lab on efficiency (big-Oh) 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 |