CSC108: Introduction to Computer Programming

Prerequisite: None

Check out the past exams!

What is CSC108?

CSC108 is an introductory computer programming course and is open to all students, whether or not they have any previous experiences in computer programming. This course will teach the basics of programming, such as writing and analyzing algorithms, as well as tracing programs.

After this course, students will gain the ability to create simple programs to their liking, such a calculator!


Written by: Jarrod Servilla

CSC108 is your first CS course where you’ll be using Python. It assumes no prior programming experience, and in it you learn about the basics of coding: functions, strings, conditionals, loops, lists, file parsing, an intro to object oriented programming, and more. For those without coding experience, it can be a lot since it’s following university pace.

While the assessments may change for each offering, normally you’ll have three assignments, weekly labs, weekly PCRS, one or two term tests, and then the final exam.

Code assessments are marked on correctness and style. For correctness, they run your code against a testing suite. For style, your code will be run against a style checker that measures things like appropriate whitespacing, variable names, etc. Assignments: Each assignment has a concept (e.g. Twitter, Bike Station Rentals, etc) tailored to course content, and you’ll be required to write functions that achieve certain goals. The functions get progressively more difficult, with the first few being very simple to larger functions that may require 40+ lines of code.

Labs: For the fall semester, we provided an overview (30 mins or so) on the lab and relevant content, and then the rest of the time was for you to attempt the lab and ask us questions. Use your TAs as a resource! If you’re stuck on anything or have any questions, definitely reach out and get assistance.

PCRS: PCRS is an online system where you watch lessons and practice the content: by answering true/false or multiple choice questions or by submitting code and having it run against test cases. Content is done in three stages throughout the week: Prepare, Practice, Perform-so just make sure you stay on top of the work and you’ll be great.

Doing Well: Practice, practice, practice! If you ever think “huh I wonder what happens in Python when I…” just try it out and learn right then and there! The term tests can be a bit tricky as there are some questions that focus on certain interactions exclusive to Python, so knowing how Python works for certain cases can go a long way.

Topics in CSC108

  • Python Arithmetics
  • Variables, Expressions and Statements
  • Elementary Data Types (Int, Bool, etc)
  • In Depth study on Strings
  • Conditional Statements
  • Functions and Classes
  • Data structures (Lists, Dictionaries, Tuples)
  • File Input and Output
  • Unit Testing
  • Sorting Algorithms
  • Time Complexity of Algorithms
  • Introduction to Object Orientated Programming


Available Courses After CSC108