INFO 16029
Problem Solving and Programming Logic

Course Description

See also the course outline for more detailed information.

This introductory course is designed to help students to learn the logical aspects of computer programming. The course can be divided into the following modules (not necessarily in this order):

  • Boolean logic, boolean expressions.
  • Laws of boolean algebra, simplifying boolean expressions.
  • Creating and using truth tables to determine possible outcomes of a boolean expression.
  • Pseudo-code syntax and usage.
  • Basic programming structures and their usage.
  • Selection structure, conditional expressions.
  • Decision Tables and how they're used with complex selection structures.
  • Iteration
  • What methods are and why they're used.
  • Creating methods.
  • Passing values into methods and receiving return values from methods.
  • Creating and using arrays, basic array processing algorithms.
  • Searching arrays, sorting arrays.
  • Introduction to basic OOP concepts.
  • Inheritance

For some topics listed above, we'll be using Becker's Robots. There will also be a module dealing with the installation of and overview of the Robot API.

Other topics may be added as time permits.

There is no textbook for this course. Resources will include on-line notes, web links, and other electronic resources.


This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. Rather than emailing me questions about the course, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email Find our class page at:

Course Evaluation

The evaluation scheme for this course is as follows:

Eval. Category%
Mid Term Exam35%
Final Exam35%
Take-Home Exercises20%
In-Class Exercises10%

Mid Term Exam: This will take place in week 7.

Final Exam: This will take place in week 14.

"Take-Home Exercises" are assignments or homework that you can take away to complete and then submit on a specified due date (usually at the beginning of the next class).

"In-Class Exercises" are assignments that you're given time to do during the normal class time; these assignments may not be done outside of class time so you must be in the class to complete them. See assignment policies regarding missed in-class assignments.

Unless an assignment's or exercises's instructions say otherwise, all assignments and exercises are to be submitted using a SLATE drop box. No other types of submissions will be accepted, including emailed assignments (Sheridan often blocks emails with certain types of attachments) unless your professor gives you instructions to the contrary in writing.

Late Penalties: If you submit an assignment late, you will be penalized 10% of the assignment grade per day, up to 7 days. After 7 days, you'll receive a grade of 0 on the assignment. See assignment policies for more info on missed assignments.

Note that you must average 50% on your exams in order to pass the course.

Sheridan is committed to Academic Integrity. In this course the professor has chosen to require students to use Turnitin to check their own written work to ensure originality.