Introduction to the Foundations of Computation I

CMPUT 174 (Introduction to the Foundations of Computing) is an introduction to programming using the Python language with an emphasis on fundamental concepts, such as variables, control flow, iteration, abstraction, and computational problem solving.

Blended learning approach

The rationale for transforming this course into a blended format, specifically flipping, was to use more face-to-face time for interactive problem solving writing a series of computer games in a high-level programming language called Python. Because of the constructivist nature of computing science, students to view before class so that in-class time could be used effectively for instructor-guided problem-solving. Therefore, students best learn the problem-solving process in class with an experienced mentor before attempting the process in labs.

Content development team

  • Paul Lu, Professor and Associate Chair (Undergraduate Studies), Department of Computing Science.
  • Greg Kondrak, Associate Professor, Department of Computing Science.
  • Jörg Sander, Professor, Department of Computing Science.
  • Duane Szafron, Professor, Department of Computing Science.
  • Sadaf Ahmed, Sessional Professor, Department of Computing Science.

Sample week in the course

This course followed a Monday/Wednesday/Friday course structure, plus a weekly three-hour laboratory session in smaller groups. All student activities and resources were available on eClass.

A weekly cycle began with students viewing the online expository material. The topic/task for this first week was comprised of the topics “Computation Concepts”, “Integer Literals and Operators”, and “String Literals”. Each topic consisted of 3 or 4 videos and an online multiple-choice assessment. Students were provided with pre-term resources to help them get started on the course since they were encouraged to complete these first three topics before the term started.



The second topic “Integer Literals and Operators”, for example, included four short videos. The first video was about the learning outcomes for the topic, the second demonstrated using Integer Literals and Operators in a program segment, the third one explained concept maps for Integer Literals, and the last one was about concept maps for Integer Operators. Each assessment was an online multiple-choice test where the students had three attempts for each question. The intent of the assessment was to be low stakes and provide formative feedback.



In-class time was spent designing and programming a version of a computer game. Each game had four versions. One or two versions were constructed in a typical week. For example, in the first week, “Version 1” of the game “Remember the Word” was constructed. Each version had its own learning outcomes and consisted of three components: Design, Programming, and Review. The instructor entered text into a Google Doc and code into a Python interactive development environment, both of which were projected onto a screen. Students asked questions, called out suggestions, and pointed out mistakes or oversights, all of which emulated real-world pair programming by developers. Students could also parallel the instructor’s work on their own laptops, and also had online resources available in case they needed to review the material covered in class.



Finally, students attended a 3-hour laboratory where they worked with a partner on problem-solving using the same concepts as in class. The goal was to implement a very simple single version game called “Guess the Number” so that they could focus on the techniques, skills and processes that will be used throughout the course.

General results from all cycle 1 blended learning projects

What is students’ engagement and satisfaction in different blended learning approaches?
Student Engagement
  • Survey results suggested that students above first-year level BL courses were statistically more engaged than in first-year level BL approaches:
    • Individual motivation of students in later stages of their academic program seem to influence engagement, even when students are presumably not as satisfied with the course and/or its format.
  • Interviews revealed that engagement was also boosted when students received effective ongoing instructor support, and when they were able to collaborate and interact with other students in the course:
    • The opposite occurred when students struggled with ambiguous instructions (or an unclear course structure), because this often increased their workload (having to navigate large amounts of vague information).
Student Satisfaction
  • Survey results showed that students were statistically significant more satisfied when the online video resources were not highly produced (e.g. recorded using a laptop webcam, featured the professor in a casual setting, etc).
  • Interviews corroborated that student satisfaction was mostly influenced by the quality of the online resources (and even more the online video resources):
    • Students responded positively to good quality, entertaining and informative videos. They also appreciated when the professor explained the material in a more unscripted way.
    • Students also highlighted the importance of seeing the instructor’s face when making videos for educational purposes, since this is a way to complement the pedagogical relationship between them and the instructor.
Taken together these results suggest:
  • The importance of cultivating a relationship between instructors and students in the different mediums to promote student engagement (even more to promote student satisfaction with BL).
  • And that no matter the pedagogical approach implemented instructors should always remember/aim to bolster a pedagogical connection (face-to-face and online).
What is the instructors’ experience in developing and implementing a blended learning course?
  • Instructor interviews revealed that they spent an extensive amount of time (more than expected) transforming their courses into BL. Instructor experiences were permeated by the amount of time invested reflecting about the content, developing the different materials, and implementing the different activities:
    • Even when they witnessed positive outcomes, having to spend so much time in the project greatly interfered with the rest of their academic responsibilities.
    • Furthermore, some instructors did not have the appropriate institutional support (from their department or faculty), which both hurt their attitude towards BL and made the transition more difficult.
  • These results suggest that it is vital to not only prepare instructors for the magnitude of the project they are potentially undergoing, but to also install the appropriate institutional mechanisms to support them in this process.
Do you want to know more details about our Blended Learning Evaluation? Send us an email:

L. Francisco Vargas M.

Resource development details for this week

Roles of the content development team (~180 hours)

  • Generate the content, examples, and create the presentations and animations.
  • Drafted scripts based on the course materials.
  • Record and edit a screencast of the presentations.
  • Prepare and upload the material for the in-class lectures.
  • Formulate multiple-choice assessment questions for students.
  • Prepare different formats of the content to accommodate to students.

Roles of the CTL production team (~25 hours)

  • Facilitate Camtasia and Screencast-o-Matic training.
  • eClass development (general setup, entering question bank, creating quizzes, posting videos)
  • Upload videos to YouTube.
  • Annotate screencast videos.

Tools & additional information


Do you want to know more about the content?

Contact Details

Duane Szafron

Do you want to know how CTL can help you?

Contact Details

Phone: +1 (780) 492-2826