CSCI 120: Introduction to CompSci and Programming I

Fall 2021 (S3), CC

Tue 17:45-20:10;
Fri 17:45-20:10
Online using Zoom
Columbia College Main Campus
Office Hour
Wed 16:00-17:00;
1: 22 Oct 2021, 17:45-20:10
2: 19 Nov 2021, 17:45-20:10
11 Dec 2021, 12:45-15:45 (Online, OJ)
Zoom link will be posted on Moodle.
Links for Assignments and Quizzes can be found in the Curriculum and Slides section.


This course is an introduction to computing science and program design, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire introductory skills for programming in a high-level language, and be introduced to the diverse fields and applications of computing science.

Recommended Python IDE:

Recommended Python IDE2:

Recommended command line editor:

Textbook and References

  • Python for Everyone, 2nd Edition by Cay S. Horstmann, Rance D. Necaise Wiley 2016-10-03 ISBN-10: 1119056551 ISBN-13: 9781119056553
  • How to Think Like a Computer Scientist: Learning with Python, Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers 3rd Edition (last updated 10/6/12)

Video Tutorials

Curriculum & Slides

The slides will be uploaded after class. I may also introduce modifications to the curriculum itself as we progress.

Links for Assignments and Exams are also posted here. Please check the column on the righthand side.

Online Judge System:

Week 1
Ch 0 Introduction to CS and Programming (LS0);
Ch 0 Environment setup (LS1)
Lab 0 out;
Week 2
Ch 1 Your first Python programme (LS2, LS3);
Ch 2 Conditions (LS4);
Lab 0 due;
Lab 1 out;
Week 3
Ch 2 Loops (LS5, LS6);
LS6 Recording (Code: NQfGJ4)
Lab 1 due;
Week 4
Ch 3 Functions (LS7, LS8);
LS7 Recording (Code: =QTyLr)
LS8, LS9 Recording (Code: JH5P8n)
Lab 2 out;
Week 5
Ch 4 Lists and Tuples (LS9, LS10);
LS10 Recording (Code: +iYbKM)
Lab 2 due;
Lab 3 out;
Week 6
Ch 5 Dictionaries (LS11)
LS11 Recording (Code: 4!UUfA)
Lab 3 due;
Assignment 1 out;
Week 7
Review (LS12)Assignment 1 due;
Midterm 1 (Online, OJ);
Week 8
Ch 6 Files and Exceptions (LS13, LS14)
LS13 Recording (Code: kr5iKr)
LS14 Recording (Code: qf$!aD)
Lab 4 out;
Week 9
Ch 7 Algorithm I: Recursion (LS15)
LS15 Recording (Code: v8h6nz)
Lab 4 due;
Lab 5 out;
Week 10
Ch 7 Algorithm II: Searching (LS16)
LS16 Recording (Code: bbcqBq)
Lab 5 out;
Week 11
Ch 9: Objects, classes (LS17)
LS17 Recording (Code: s7h56.)
Midterm2 (Online, OJ);
Lab 5 due;
Week 12
Ch 9: Objects, classes (LS18)
LS18 Recording (Code: QwKVra)
Lab 6 out;
Week 13
Reviews (LS19)Lab 6 due;
Final (Online, OJ)



You will need to get at least 50% in the final to pass.

Cheating and Plagiarism Policy

I expect all students to uphold the principle of academic honesty. Cheating and plagiarism (presenting another person’s words or ideas as one’s own) are not acceptable behaviour at anywhere. Depending on the severity of the offence such acts can result in a grade of zero on the test or assignment, a failing grade (F) in the course, or expulsion. In all cases, the circumstances and the penalty are recorded in the student’s file.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.