## CISC 151/3.0 Elements of Computing with Data Analytics

**Short title:** Elements of Data Analytics

### Calendar description:

Introduction to algorithms: their definition, design, coding, and execution on computers, with applications drawn from data analytics, including simple prediction and clustering. Intended for students who have no programming experience. All or most assignment work will be completed during lab time.

**Learning Hours:** 120 (36L;36 Lab;48 P)

**EXCLUSION** No more than 3.0 units from APSC 142/3.0; APSC 143; CISC 101/3.0; CISC 110/3.0; CISC 151/3.0.

**ONE-WAY EXCLUSION** May not be taken with or after CISC 121/3.0; CISC; SOFT at the 200‐level and above.

### Course Outline:

- Basics of imperative programming: basic data types, constants, variables, expressions, assignments, basic input/output (terminal and files)
- Elementary control structures: selection, iteration
- Elementary data structures: arrays or lists, strings
- Scope, lifetime, local and global/static variables
- Procedures/functions, parameters
- Introduction to data analytics, analytic tasks (prediction, clustering, ranking), numeric and textual data
- Design and implementation of simple prediction algorithms (decision tree, k-nearest neighbour)
- Design and implementation of simple clustering algorithms (k-means, hierarchical clustering)
- Generating and understanding visualizations of data and models

**Assessments** 10 x 3 hour programming labs = 40%

**Midterm** 20%

**Final exam** 40%
### Learning outcomes:

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

- Design a computational solution to a problem described in natural language, express the solution in an algorithmic way, and convert the algorithm effectively and intelligibly into a procedural program.
- Properly use modularity, repetition (both counted and unbounded), conditionals, and simple (rectangular) data structures in problem solutions
- Plan ways to build simple models from data and interpret the meaning of the results