Course

Introduction to Computing Science and Programming

Faculty
Science & Technology
Department
Computing Science
Course code
CMPT 1105
Credits
3.00
Semester length
15 Weeks
Max class size
35
Method(s) of instruction
Lecture
Lab
Course designation
None
Industry designation
None
Typically offered
To be determined

Overview

Course description
This course introduces students to the fundamental concepts of computing science and computer programming. Students learn the processes of program design to solve real-world problems and the fundamental building blocks of a computer program in a high-level language (such as Python). This course is intended for students with little or no prior programming experience. Topics include programming constructs, data representation, debugging, logic, basic algorithms, basic data structures and modular programming.
Course content

1. Introduction to computers and programming

• Hardware and software
• Programming languages, compilers and interpreters
• Programming errors and code debugging
• Integrated development environment
• Representation of data in memory, text encoding and number systems, such as binary, octal and hexadecimal

2. Input, processing and output

• Introduction to pseudocode and flowcharts
• Variables, literals and named constants
• Receiving input and formatting output
• Arithmetic operators and data conversion functions
• Type casting
• Comments and documentation

3. Decision Structures and Boolean logic

• Boolean expressions, relational and logical operators
• If statements
• If-else statements
• If-else if-else statements
• Nested decision structures

4. Repetition Structures

• Condition and count controlled loops
• Sentinels and validation loops
• Infinite loops with break and continue
• Nested loops

5. Procedural programming and functions

• Problem decomposition to support code modularization
• Defining and calling functions
• Passing values to functions
• Scope of variables
• Void and value returning functions
• Use of functions to create reusable code and design programs
• Writing modules
• Standard library functions
• The components of a recursive function

6. Lists & Tuples

• Indexing, accessing and iterating by index vs by element
• Mutable vs immutable types, such as lists and tuples
• Methods and useful built-in operators
• Two-dimensional lists
• Ordering, copying, comparing and slicing lists

7. Strings

• Basic string operations
• String slicing
• Testing, searching and manipulating strings

8. Files

• Sequential file access to a text file
• Reading, writing and appending data from/to a text file
• Records to store complex data
• Processing and creating formatted data files, such as CSV

9. Exceptions

• Raising exceptions
• Re-raising exceptions
• Handling exceptions
• Program control transfer when exceptions occur in a function

10. Complex representations of data

• Creating dictionaries
• Processing dictionaries
• Dictionary methods

11. Fundamental algorithms and introduction to efficiency analysis

• Sorting algorithms, such as selection and bubble sort
• Searching algorithms, such as linear and binary search
• Overview of program efficiency metrics, such as step counting and benchmarking
• Complexity of searching and sorting algorithms

Learning activities

The topics are covered through in-class lectures, laboratory assignments, readings, and research.

Means of assessment

Assessment will be in accordance with the Douglas College Evaluation Policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following:

Assignments: 10% - 20%
Quizzes: 0% - 20%
Term Test(s): 20% - 35%
Final Examination: 25% - 40%
Class Participation and Attendance: 0% - 5%

Total: 100%

Learning outcomes

Upon successful completion of this course, students will be able to:

• describe the main components of a computer and how they work together when a program runs;
• employ numeral systems and data representation in memory;
• design algorithms as part of solving small problems and describe the program development process;
• write a program using fundamental programming constructs including literals, variables, expressions, named constants, operators, basic console I/O and text file I/O;
• analyze, test and debug programs for syntax, logic and run-time errors;
• create readable and maintainable programs using standard coding style and documentation;
• recognize runtime errors and handle exceptions;
• develop programs with control structures such as decisions and loops;
• choose an appropriate data structure for a program, such as a string, list or dictionary and apply related operations and methods to write an effective program;
• write reusable code using functions and variable scope;
• outline basic searching and sorting algorithms and contrast their efficiency;
• implement and trace recursive functions, and contrast them with iterative implementations.

Textbook materials

Consult the Douglas College Bookstore for the latest required textbooks and materials. Example textbooks and materials may include:

Tony Gaddis. (current edition). Starting Out With Python. Pearson.

 

Requisites

Prerequisites

One of Pre-Calculus 11 (C or better)

or

Foundations of Math 11 (C or better)

or

MATU 0411 (C or better)

Corequisites

None

Equivalencies

None

Course Guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.

Course Transfers

These are for current course guidelines only. For a full list of archived courses please see https://www.bctransferguide.ca

Institution Transfer details for CMPT 1105
Alexander College (ALEX) ALEX CPSC 111 (4)
Athabasca University (AU) AU COMP 2XX (3)
Capilano University (CAPU) CAPU COMP 115 (4)
Coquitlam College (COQU) COQU CSCI 120 (3)
Kwantlen Polytechnic University (KPU) KPU INFO 1112 (3)
Langara College (LANG) LANG CPSC 1150 (3)
LaSalle College Vancouver (LCV) LCV VGP 100 (3)
North Island College (NIC) NIC CPS 100 (3)
Northern Lights College (NLC) No credit
Okanagan College (OC) OC COSC 111 (3)
Simon Fraser University (SFU) SFU CMPT 120 (3) or SFU CMPT 130 (3) or SFU ENSC 151 (3)
Thompson Rivers University (TRU) TRU COMP 1XXX (3)
Trinity Western University (TWU) TWU CMPT 140 (3)
University Canada West (UCW) UCW CPSC 1XX (3)
University of British Columbia - Okanagan (UBCO) UBCO COSC_O 111 (3)
University of British Columbia - Vancouver (UBCV) UBCV CPSC_V 1st (3)
University of Northern BC (UNBC) UNBC CPSC 1XX (3)
University of the Fraser Valley (UFV) UFV COMP 150 (3)
University of Victoria (UVIC) UVIC CSC 110 (1.5)
Vancouver Community College (VCC) VCC CMPT 1010 (3)
Vancouver Island University (VIU) VIU CSCI 112 (3)

Course Offerings

Summer 2025

CRN
23448
section details
CRN Days Instructor Status More details
Maximum seats
35
Currently enrolled
0
Remaining seats:
35
On waitlist
0
Building
New Westminster - North Bldg.
Room
N6111
Times:
Start Time
8:30
-
End Time
10:20