Spring 2021 - CMPT 127 D100

Computing Laboratory (3)

Class Number: 6149

Delivery Method: In Person


  • Course Times + Location:

    Tu 8:30 AM – 11:20 AM

  • Prerequisites:

    CMPT 120 or CMPT 128 or CMPT 130. Corequisite: CMPT 125.



Builds on CMPT 120 to give a hands-on introduction to programming in C and C++, the basics of program design, essential algorithms and data structures. Guided labs teach the standard tools and students exploit these ideas to create software that works. To be taken in parallel with CMPT 125.


This course gives a hands-on introduction to programming in C and C++, basics of software development process (design-implementation-testing), essential algorithms and data structures. Guided labs teach the standard tools and students exploit these ideas to create software that works i.e., solves a given problem. To be taken in parallel with CMPT 125. This is a lab-only course and attendance in the lab sessions is ***mandatory***. **This semester, this course is offered online via the Internet. Therefore, students will need access to a computer, the Internet and a browser application. Other computer-related requirements will be discussed during the semester.



  • C and C++ programming
  • Testing and debugging strategies
  • Structured programming using functions
  • Compound data types and objects
  • Implementation of search and sort algorithms
  • Abstract data types and classes
  • Practice writing programs to specification
  • Recursion
  • Empirical performance measurement and comparison with algorithm analysis



Students will complete several individual assignments (lab tasks). All assignments are automatically graded by an online server. There will also be weekly exercises as well as "in-lab" lab quizzes.

Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better).

Registrar Notes:


SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html


Teaching at SFU in spring 2021 will be conducted primarily through remote methods. There will be in-person course components in a few exceptional cases where this is fundamental to the educational goals of the course. Such course components will be clearly identified at registration, as will course components that will be “live” (synchronous) vs. at your own pace (asynchronous). Enrollment acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes. To ensure you can access all course materials, we recommend you have access to a computer with a microphone and camera, and the internet. In some cases your instructor may use Zoom or other means requiring a camera and microphone to invigilate exams. If proctoring software will be used, this will be confirmed in the first week of class.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112).