CSC148: Introduction to Computer Science

Prerequisite: CSC108

Check out the past exams!

What is CSC148?

CSC148 is an Introduction to Computer Science course. This course teaches you basic data structures (e.g. Stack, Queues, etc.) and powerful concepts like Object Oriented Programming and Recursion.


Written by: Naaz Sibia

CSC148 assumes you have knowledge from CSC108, but the concepts taught here are going to be quite different from CSC108. While CSC108 is a “programming” focused course, CSC148 is an introduction to computer science, so there is more focus on the concepts you learn in class. What this can mean: don’t worry too much if your CSC108 mark isn’t great! While CSC148 requires CSC108 knowledge, the concepts are quite different. So even if your CSC108 mark isn’t great, there is still a chance that you can get a good mark in CSC148.

CSC148 starts off by building on the OOP concepts that CSC108 usually ends with. After learning OOP principles, and designing classes, the course switches to talking about abstract data types (stacks, queues, linked lists).

After about 6 weeks — you’ll start learning about recursion, which is what the course is mainly infamous for. A lot of students dread this, but you don’t need to! The instructors usually teach recursion slowly, and provide lots of examples. They assume you don’t know recursion, so you can trust the teaching process, and make sure you practice a lot.

The course has 2–3 assignments and weekly readings + prep exercises that you complete before class. The first assignment is about OOP principles, and the second assignment is usually about recursion and trees.

Like CSC108 — code assignments are marked based on correctness and style. For the OOP assignment, there is also manual marking to check if you used OOP principles correctly.

Lecture Prep: CSC148 at UTM usually doesn’t use PCRS. However, the course has readings and prep exercises that students usually need to complete before lecture. The prep exercises include a code writing exercise that is automarked on markus, and a Quercus multiple choice quiz which has infinite attempts. The class typically follows an ALC format, so you will be reviewing the prep briefly and working on new questions in lecture.

Topics in CSC148

  • Object Oriented Programming
  • Abstract Data Types
    • Stack
    • Queue
  • Linked List
  • Analysis
  • Recursion
  • Trees
    • Binary Search Tree
  • Recursive Sorting Algorithms


Intro to Object Oriented Programming

Available Courses After CSC148