CoE 163 S2 AY 2021-2022

From Microlab Classes
Revision as of 19:48, 10 February 2022 by Carl Dizon (talk | contribs) (Updated grading rubric)
Jump to navigation Jump to search

Course Information

Academic Period: 2nd Semester AY 2021-2022
Units: 3
Workload:

  • 3 hours lecture per week
  • 1-2 hours exercise per week

Instructors:

  • Isabel M. Austria [isabel.austria at eeemail]
  • Carl C. Dizon [carl.dizon at eeemail]
  • Darvy P. Ong [darvy.ong at eeemail]
  • Nestor Michael C. Tiglao [nestor at eeemail]

Synopsis: This course aims to 1) present the connection between algorithms, implementation, and computer architecture, 2) provide tools needed to write and apply fast numerical code, and 3) present representative fundamental numerical algorithms.
Delivery Method: Video lectures and digital materials
Online Platforms: UVLe, Piazza, Google Meet, Zoom, other quiz platforms.

Course Outline

Week Topics Academic Requirements Resource Links
0
  • [00] Course overview and synopsis
  • [00] Course requirements

[guide]
[00 slides]

1
  • [01a] Review of CS data structures and algorithms
  • [01b] Problem identification and solving

[SQW01] CS problems
[[SQW01] Submission bin]

[01a slides]
[01b slides]

2
  • [02a] Review of asymptotic analysis
  • [02b] Amortized analysis
  • [02c] High-level code translation to memory

[SEW02] Asymptotic analysis
[[SEW02] Submission bin]

[02a slides]
[02b slides]
[02c slides]

3
  • [03a] Programming languages survey
  • [03b] Matching programming languages and problems
  • [03c] Introduction to x86 assembly

[SEW03] Solving and profiling
[[SEW03] Specifications]]
[[ME01] Submission bin]

[03a slides]
[03b slides]

4
  • [04a] Review of linear algebra operations
  • [04b] Solving problems using linear algebra
  • [04c] Cache behavior of linear algebra operations

[SQW04] Linear algebra

[04a slides]
[04b slides]
[04c slides]

5
  • [05a] Matrix-matrix multiplication part 01
  • [05b] Matrix-matrix multiplication part 02
  • [05c] ATLAS (automatically-tuned linear algebra software)

[SEW05] Caching in MMM

[05a slides]
[05b slides]
[05c slides]
[05x guide]

6
  • [06a] Gaussian elimination
  • [06b] Matrix inversion

[SEW06] BLAS

[06a slides]

7
  • [07a] Sparse linear algebra
  • [07b] Matrix decomposition

[SQW07] Matrix Factorization and Sparse Matrices

[07a slides]
[07b slides]

8
READING BREAK
9
LENTEN BREAK
10
  • [10a] Parallel computing concepts
  • [10b] Limits of parallel computing

[SQW10] Parallel programming

11
  • [11a] Parallel computing algorithms

[SEW11] Parallel computing algorithms

12
  • [12a] Single instruction multiple data vectorization
  • [12b] OpenCL/OpenMP

[SEW12] OpenCL/OpenMP

13
  • [13a] GPU programming basics
  • [13b] CUDA programming with Numba

[CE] Capstone exercise

14
READING BREAK
15
16
17
  • Finals week

Grading Rubric

32% Short quizzes
48% Software exercises
20% Capstone exercise

Announcements

February 2022