# Introduction to Computing Science and Programming

Faculty
Science & Technology
Department
Computing Science
Course Code
CMPT 1105
Credits
3.00
Semester Length
15
Max Class Size
35
Method Of Instruction
Lecture
Lab
Typically Offered
To be determined

## Overview

Course Description
This course introduces students to the fundamental concepts of computing science and computer programming. Students will learn the process of program design to solve real-world problems and the fundamental building blocks of a computer program. By the end of this course, students will be able to develop computer programs in a high-level computer programming language (such as Python). This course is intended for students with little or no prior programming experience.
Course Content

1. Introduction to programming
1.1. Program design
1.2. Software development cycle
1.3. Algorithms
1.4. Pseudocode and flow chart
1.5. Compilers and interpreters
1.6. Integrated Development Environment
2. Variables, Input, and Output
2.1. Variables
2.2. Receiving input
2.3. Arithmetic operators
2.4. Formatting output
3. Decision Structures
3.1. if Statement
3.2. Relational operators
3.3. if-else statement
3.4. if-elif-else statement
3.5. logical operators
4. Repetition Structures
4.1. Repeating a Set Number of Times
4.2. Repeating Only When True
4.3. Nested loops
5. Functions
5.1. Defining and calling functions
5.2. Passing values to functions
5.3. Scope of variables
5.4. Using functions to create reusable code
6. Files and Exceptions
6.1. File access methods
6.2. Writing data to a file
6.3. Reading data from a file
6.4. Exceptions
7. Lists
7.1. Creating a list
7.2. Processing lists
7.3. Using math in lists
7.4. Ordering lists
7.5. Comparing lists
8. Strings
8.1. Creating strings
8.2. Printing strings
8.3. Formatting strings
9. Dictionaries and Sets
9.1. Creating dictionaries and sets
9.2. Processing Dictionaries and sets
9.3. Dictionary and set methods
10. Fundamental Algorithms
10.1. Sorting
10.2. Searching
10.3. Recursion
11. Classes and Object-Oriented Programming
11.1. Procedural and object oriented programming
11.2. Classes
11.3. Objects
12. GUI Programming
12.1. GUI
12.2. Event-driven programs
12.3. Creating GUI windows
12.4. GUI input and output
12.5. Widgets

Methods Of Instruction

The topics will be covered through in-class lectures, laboratory assignments, reading, and research.

Means of Assessment

Evaluation will be carried out in accordance with Douglas College policies. 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 criteria:

Assignments                    10% - 20%
Quizzes                             0% - 20%
Midterm examination       20% - 35%
Final examination            25% - 40%
Class participation             0% - 5%

Learning Outcomes

Upon completion of this course, students will be able to:
• Explain the process of program design and software development
• Design a program to solve a well-defined problem
• Implement a program from a design
• Explain the differences among the various data types
• Explain how to accept input
• Format values for output
• Perform number and string manipulations
• Explain what decision structures are and how to add them to a program
• Explain what loops are and how to create loops in a program
• Evaluate conditions using the relational operators and combine conditions using logical operators
• Explain the purpose of functions and be able to write reusable code using functions
• Understand fundamental sorting and searching algorithms
• Understand recursion
• Use programs in a high-level language to read and write files
• Use object-oriented terminology correctly
• Create a class and use existing classes
• Design a graphical user interface (GUI) and develop event-driven programs

Textbook Materials

Consult the Douglas College bookstore for the current textbook.

## Requisites

### Prerequisites

Pre-Calculus 11 (C or better) or Foundations of Math 11 (C or better) or MATU 0411 (C or better)

None

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

Institution Transfer Details Effective Dates
Alexander College (ALEX) ALEX CPSC 111 (4) 2016/09/01 to -
Athabasca University (AU) AU COMP 2XX (3) 2016/09/01 to -
Capilano University (CAPU) CAPU COMP 115 (4) 2016/09/01 to -
College of the Rockies (COTR) COTR COMP 105 (3) 2016/09/01 to -
Coquitlam College (COQU) COQU CSCI 120 (3) 2016/09/01 to -
Kwantlen Polytechnic University (KPU) KPU INFO 1112 (3) 2016/09/01 to -
Langara College (LANG) LANG CPSC 1150 (3) 2016/09/01 to -
LaSalle College Vancouver (LCV) LCV VGP 100 (3) 2016/09/01 to -
North Island College (NIC) NIC CPS 100 (3) 2016/09/01 to -
Northern Lights College (NLC) No credit 2016/09/01 to -
Okanagan College (OC) OC COSC 111 (3) 2016/05/01 to -
Simon Fraser University (SFU) SFU CMPT 120 (3) 2016/09/01 to -
Trinity Western University (TWU) TWU CMPT 140 (3) 2019/05/01 to -
University Canada West (UCW) UCW CPSC 101 (3) 2016/09/01 to 2020/12/31
University of British Columbia - Okanagan (UBCO) UBCO COSC 111 (3) 2016/09/01 to -
University of British Columbia - Vancouver (UBCV) UBCV CPSC 1st (3) 2016/09/01 to -
University of Northern BC (UNBC) UNBC CPSC 1XX (3) 2016/09/01 to -
University of the Fraser Valley (UFV) UFV COMP 150 (4) 2016/09/01 to -
University of Victoria (UVIC) UVIC CSC 110 (1.5) 2016/09/01 to -
Vancouver Community College (VCC) VCC CMPT 1010 (3) 2015/05/01 to -
Vancouver Island University (VIU) VIU CSCI 112 (3) 2016/09/01 to -

## Course Offerings

### Fall 2021

CRN
Days
Dates
Start Date
End Date
Instructor
Status
35419
Tue Thu
07-Sep-2021
- 08-Dec-2021
07-Sep-2021
08-Dec-2021
Bita
Waitlist
Max
Enrolled
Remaining
Waitlist
35
35
0
1
Days
Building
Room
Time
Tue Thu
New Westminster - North Bldg.
N6111
8:30 - 10:20
CRN
Days
Dates
Start Date
End Date
Instructor
Status
35566
Tue Thu
07-Sep-2021
- 08-Dec-2021
07-Sep-2021
08-Dec-2021
Ariafar
Arezoo
Waitlist
Max
Enrolled
Remaining
Waitlist
35
35
0
3
Days
Building
Room
Time
Tue Thu
New Westminster - North Bldg.
N6111
10:30 - 12:20
CRN
Days
Dates
Start Date
End Date
Instructor
Status
35959
Sat
07-Sep-2021
- 08-Dec-2021
07-Sep-2021
08-Dec-2021
Aboofazeli
Waitlist
CMPT 1105 070 - This section is on Saturdays.
Max
Enrolled
Remaining
Waitlist
35
35
0
3
Days
Building
Room
Time
Sat
New Westminster - North Bldg.
N6111
9:30 - 12:20
CRN
Days
Dates
Start Date
End Date
Instructor
Status
37120
Mon Wed
07-Sep-2021
- 08-Dec-2021
07-Sep-2021
08-Dec-2021
Ariafar
Arezoo
Waitlist
Max
Enrolled
Remaining
Waitlist
35
32
3
5
Days
Building
Room
Time
Mon Wed
16:30 - 18:20