Difference between revisions of "CoE 163 S2 AY 2020-2021"

From Microlab Classes
Jump to navigation Jump to search
m
m
Line 33: Line 33:
 
||
 
||
 
||  
 
||  
[[:File:CoE_163_2021s2_Syllabus.pdf | [syllabus]]]<br>
+
[[:File:Coe163 2020s2 Syllabus.pdf | [syllabus]]]<br>
[[:File:Coe163_00_about.pdf | [00 slides]]]
+
[[:File:Coe163 2020s2 00 about.pdf | [00 slides]]]
 
|-
 
|-
 
| 1
 
| 1
Line 45: Line 45:
 
[https://uvle.upd.edu.ph/mod/quiz/view.php?id=450839 <nowiki>[SQ01] Submission bin (late)</nowiki>]
 
[https://uvle.upd.edu.ph/mod/quiz/view.php?id=450839 <nowiki>[SQ01] Submission bin (late)</nowiki>]
 
||
 
||
[[:File:Coe163 01a review algorithms.pdf | [01a slides]]]<br>
+
[[:File:Coe163 2020s2 01a review algorithms.pdf | [01a slides]]]<br>
[[:File:Coe163 01b problem solving.pdf | [01b slides]]]
+
[[:File:Coe163 2020s2 01b problem solving.pdf | [01b slides]]]
 
|-
 
|-
 
| 2
 
| 2
Line 57: Line 57:
 
[https://uvle.upd.edu.ph/mod/quiz/view.php?id=450833 <nowiki>[SQ02] Submission bin</nowiki>]
 
[https://uvle.upd.edu.ph/mod/quiz/view.php?id=450833 <nowiki>[SQ02] Submission bin</nowiki>]
 
||
 
||
[[:File:Coe163_02a_review_asymptotic.pdf | [02a slides]]]<br>
+
[[:File:Coe163 2020s2 02a review asymptotic.pdf | [02a slides]]]<br>
[[:File:Coe163_02b_amortized_analysis.pdf | [02b slides]]]<br>
+
[[:File:Coe163 2020s2 02b amortized analysis.pdf | [02b slides]]]<br>
 
[02c slides]
 
[02c slides]
 
|-
 
|-
Line 67: Line 67:
 
* [03c] Introduction to x86 assembly
 
* [03c] Introduction to x86 assembly
 
||
 
||
[[:File:CoE_163_2020s2_ME01.pdf | [ME01] Solving and profiling]]<br>
+
[[:File:Coe163 2020s2 ME01.pdf | [ME01] Solving and profiling]]<br>
 
[https://uvle.upd.edu.ph/mod/assign/view.php?id=450836 <nowiki>[ME01] Submission bin</nowiki>]
 
[https://uvle.upd.edu.ph/mod/assign/view.php?id=450836 <nowiki>[ME01] Submission bin</nowiki>]
 
||
 
||
[[:File:Coe163_03a_high_level_optimization.pdf | [03a slides]]]<br>
+
[[:File:Coe163 2020s2 03a high level optimization.pdf | [03a slides]]]<br>
[[:File:Coe163_03b_parallel_programming_intro.pdf | [03b slides]]]<br>
+
[[:File:Coe163 2020s2 03b parallel programming intro.pdf | [03b slides]]]<br>
 
[03c slides]<br>
 
[03c slides]<br>
 
|-
 
|-
Line 81: Line 81:
 
||
 
||
 
||
 
||
[[:File:CoE163_04a_linear_algeb_ops.pdf | [04a slides]]]<br>
+
[[:File:Coe163 2020s2 04a linear algeb ops.pdf | [04a slides]]]<br>
[[:File:CoE163_04b_linear_algeb_problems.pdf | [04b slides]]]<br>
+
[[:File:Coe163 2020s2 04b linear algeb problems.pdf | [04b slides]]]<br>
[[:File:CoE163_04c_linear_algeb_considerations.pdf | [04c slides]]]<br>
+
[[:File:Coe163 2020s2 04c linear algeb considerations.pdf | [04c slides]]]<br>
 
|-
 
|-
 
| 5
 
| 5
Line 91: Line 91:
 
||
 
||
 
||
 
||
[[:File:Coe163_2s2020_05a_cache.pdf | [05a slides]]]<br>
+
[[:File:Coe163 2020s2 05a cache.pdf | [05a slides]]]<br>
[[:File:Coe163_2s2020_05b_mmm_part01.pdf | [05b slides]]]<br>
+
[[:File:Coe163 2020s2 05b mmm part01.pdf | [05b slides]]]<br>
[[:File:Coe163_2s2020_05c_mmm_part02.pdf | [05c slides]]]<br>
+
[[:File:Coe163 2020s2 05c mmm part02.pdf | [05c slides]]]<br>
[[:File:Coe163_2s2020_05x_study guide.pdf | [05c guide]]]<br>
+
[[:File:Coe163 2020s2 05x study guide.pdf | [05c guide]]]<br>
||
 
 
|-
 
|-
 
| 6
 
| 6

Revision as of 18:37, 7 May 2021

Course Information

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

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

Instructors:

  • Carl C. Dizon [carl.dizon at eeemail]
  • Isabel M. Austria [isabel.austria 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, edX, Google Meet, Zoom, other quiz platforms.

Course Outline

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

[syllabus]
[00 slides]

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

[SQ01] CS problems
[SQ01] Submission bin
[SQ01] Submission bin (late)

[01a slides]
[01b slides]

2
  • [02a] Review of asymptotic analysis
  • [02b] Amortized analysis
  • [02c] Platform-dependent programming

[SQ02] Asymptotic analysis
[SQ02] Submission bin

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

3
  • [03a] High-level code translation to memory
  • [03b] Introduction to parallel programming
  • [03c] Introduction to x86 assembly

[ME01] Solving and profiling
[ME01] Submission bin

[03a slides]
[03b slides]
[03c slides]

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

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

5
  • Memory optimization of matrix-matrix multiplication
  • Automatically-tuned linear algebra software

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

6
  • Gaussian elimination
  • Matrix inversion
  • Machine exercise
7
  • Sparse linear algebra
  • Matrix decomposition
  • Machine exercise
8
  • Parallel computing concepts
  • Limits of parallel computing
  • Short quiz
9
  • Single instruction multiple data vectorization
  • OpenCL/OpenMP
  • Machine exercise
10
  • GPU programming introduction
  • Machine exercise
11
  • Parallel computing algorithms
  • Short quiz
12
  • Capstone exercise

Grading Rubric

40% Short quizzes
35% Machine exercises
25% Capstone exercise