## **ENCMP 100** **- Computer Programming for Engineers**

**Subject & Number:** ENCMP 100

**Title:** Computer Programming for Engineers

**Course Career** Graduate

**Units**: 3

**Approved Hours:** 3-0-1.5

**Fee index:** 8

**Faculty:** Engineering

**Department:**

**Typically Offered:** Either term

### Calendar Description

Fundamentals of computer programming with emphasis on solving
engineering problems. Structure and syntax of computer programs,
variables, data types, data structures, control structures, functions,
input/output operations, debugging, software development process.

### Course Objectives & General Content

\-

### Learning outcomes

- Identify core vocabulary, such as keywords, operators, and functions,
  of the high-level programming language, such as Python \[REMEMBER\].

- Summarize the input and output arguments of each function
  \[UNDERSTAND\].

- Demonstrate an understanding of program flow, especially sequential
  flow, selection, and repetition, and predict the output of short
  Python programs \[APPLY\].

- Compare different programs for the same purpose in terms of
  correctness or readability, and explain how one or a few lines of code
  relates to the program\'s purpose \[ANALYZE\].

- Critique examples of incorrect or unreadable code, identifying syntax,
  run-time, logical, or style errors. Assess programs against their
  stated requirements \[EVALUATE\].

#### 

### Graduate Attributes

\-

### 

### Required Material

(old)

MATLAB: A Practical Introduction to Programming and Problem Solving, 4th
Edition

Author: Stormy Attaway,

Price: Free Electronic Copy from UofA Library System

(New)

Python For Everyone, 3rd Edition, Cay S. Horstmann, Rance D. Necaise,
Wiley, 2018.

#### 

### F2022 Weekly Plan

+------+---------------------------------------+---------+----------------+
| Week | Lecture                               | Seminar | Lab            |
+------+---------------------------------------+---------+----------------+
| 1    | Programming Basics:                   |         |                |
|      |                                       |         |                |
|      | - Goals, Objectives, Etc.             |         |                |
|      |                                       |         |                |
|      | - Programming Basics                  |         |                |
|      |                                       |         |                |
|      | - Horstmann 1.3 to 1.5 and 2.1        |         |                |
|      |                                       |         |                |
|      | - Horstmann 1.6 and 2.2               |         |                |
+------+---------------------------------------+---------+----------------+
| 2    | Programming Basics:                   |         | Lab 1          |
|      |                                       |         |                |
|      | - Lee 2 (NumPy)                       |         |                |
|      |                                       |         |                |
|      | - Lee 4 (Matplotlib)                  |         |                |
|      |                                       |         |                |
|      | - Horstmann 2.4 to 2.5                |         |                |
+------+---------------------------------------+---------+----------------+
| 3    | Programming Basics:                   |         | Lab 1          |
|      |                                       |         |                |
|      | - Lee 2 (NumPy)                       |         |                |
|      |                                       |         |                |
|      | - Lee 2 (NumPy)                       |         |                |
|      |                                       |         |                |
|      | - Programming exercise -- Gorillas in |         |                |
|      |   Python V1\*                         |         |                |
+------+---------------------------------------+---------+----------------+
| 4    | Selection and Repetition              |         | Lab 2          |
|      |                                       |         |                |
|      | - Horstmann 3.1 to 3.2                |         |                |
|      |                                       |         |                |
|      | - Horstmann 3.3 to 3.4                |         |                |
+------+---------------------------------------+---------+----------------+
| 5    | Selection and Repetition              |         | Lab 2          |
|      |                                       |         |                |
|      | - Horstmann 3.7 and 3.9               |         |                |
|      |                                       |         |                |
|      | - Horstmann 4.1 and 4.3               |         |                |
|      |                                       |         |                |
|      | - Horstmann 4.5 to 4.6                |         |                |
+------+---------------------------------------+---------+----------------+
| 6    | Selection and Repetition              |         | Lab 3          |
|      |                                       |         |                |
|      | - Horstmann 4.7 and 4.9               |         |                |
|      |                                       |         |                |
|      | - Gorillas in Python V2\*             |         |                |
+------+---------------------------------------+---------+----------------+
| 7    | Functions and Structures              |         | Lab 3          |
|      |                                       |         |                |
|      | - Horstmann 5.1 to 5.2                |         |                |
|      |                                       |         |                |
|      | - Horstmann 5.3 to 5.4                |         |                |
|      |                                       |         |                |
|      | - Horstmann 5.5, 5.8, and 6.1         |         |                |
+------+---------------------------------------+---------+----------------+
| 8    | Functions and Structures              |         | Lab 4          |
|      |                                       |         |                |
|      | - Horstmann 6.2 to 6.3                |         |                |
|      |                                       |         |                |
|      | - Horstmann 6.4 and 6.7               |         |                |
|      |                                       |         |                |
|      | - Gorillas in Python V3\*             |         |                |
+------+---------------------------------------+---------+----------------+
| 9    | Text and File Processing              |         | Lab 4          |
|      |                                       |         |                |
|      | - Horstmann 2.4, 3.8, and 4.8         |         |                |
|      |                                       |         |                |
|      | - Horstmann 7.1 to 7.2                |         |                |
|      |                                       |         |                |
|      | - Horstmann 8.1                       |         |                |
+------+---------------------------------------+---------+----------------+
| 10   | Text and File Processing              |         | Lab 5          |
|      |                                       |         |                |
|      | - Horstmann 8.2                       |         |                |
|      |                                       |         |                |
|      | - Horstmann 8.3                       |         |                |
|      |                                       |         |                |
|      | - Gorillas in Python V4\*             |         |                |
+------+---------------------------------------+---------+----------------+
| 11   | Additional Topics                     |         | Lab 5          |
|      |                                       |         |                |
|      | - Horstmann 2.6, 4.10, and 5.9        |         |                |
|      |                                       |         |                |
|      | - (Matplotlib imaging)                |         |                |
|      |                                       |         |                |
|      | - Horstmann 9.1 to 9.2                |         |                |
+------+---------------------------------------+---------+----------------+
| 12   | Additional Topics                     |         | Lab 6          |
|      |                                       |         |                |
|      | - Horstmann 9.7 and 9.10              |         |                |
|      |                                       |         |                |
|      | - Horstmann 7.5 and 7.6               |         |                |
|      |                                       |         |                |
|      | - Gorillas in Python V5\*             |         |                |
+------+---------------------------------------+---------+----------------+
| 13   | Software Engineering                  |         | Lab 6          |
|      |                                       |         |                |
|      | - TBC                                 |         |                |
|      |                                       |         |                |
|      | - Gorillas in Python V6\*             |         |                |
+======+=======================================+=========+================+

