CoE 163 S2 AY 2020-2021

From Microlab Classes
Jump to navigation Jump to search

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
[SQ02] Submission bin (late)

[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] Specifications
[ME01] Submission bin

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

4
  • [04a] Review of linear algebra operations
  • [04b] Solving problems using linear algebra
  • [04c] Considerations on formulating linear algebra algorithms

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

5
  • [05a] Cache review
  • [05b] Matrix-matrix multiplication part 01
  • [05c] Matrix-matrix multiplication part 02

[SQ03] Caching in MMM
[SQ03] Submission bin
[SQ03] Submission bin (late)

[ME02] MMM Loop Ordering
[ME02] Submission bin
[ME02] Jupyter notebook

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

6
  • Gaussian elimination
  • Matrix inversion

[ME03] BLAS
[ME03] Submission bin
[ME03] Jupyter notebook

[06a slides]

7
  • Sparse linear algebra
  • Matrix decomposition

[SQ04] Matrix Factorization and Sparse Matrices
[SQ04] Submission bin

[07a slides]
[07b slides]

8
  • Parallel computing concepts
  • Limits of parallel computing
9
  • Single instruction multiple data vectorization
  • OpenCL/OpenMP
10
  • GPU programming introduction
11
  • Parallel computing algorithms
12

[CE] Parallel Programming with CUDA
[CE] Specifications
[CE] Submission bin
[CE] Jupyter notebook

Grading Rubric

40% Short quizzes
35% Machine exercises
25% Capstone exercise
55% Short quizzes
45% Machine exercises
10% Capstone exercises

Announcements

July

Saturday, 03 July 2021

Hello!

CoE 163 grades are now complete! Please check your UVLe gradebook today as we may upload the grades to CRS this evening. Unfortunately, we were not able to properly configure the gradebook such that it shows the correct numerical grade equivalent of the raw grades (i.e. from 100% scale to UP grade). Right now, it shows your raw grade for the course. Please check the numerical grading scale in the syllabus instead for reference.

Due to limited time, we suggest that you lodge any regrading requests right now for us to immediately action on it before the awaited upload of your grades.

Thank you again for enrolling in this first installment of CoE 163 and we hope that you learned something in this course.

EDIT: There are some students who were confused on how to view their grades in the gradebook. Here is a picture of a part of your gradebook for reference.

image.png

Due to the complex nature of computations in our course, such as late penalties and bonus points, percentage calculations do not reflect your actual grade in the course. Hence, your final or raw grade (in % over 100) is the one that is not suffixed with a "%". Yes, it sounds confusing, but UVLe sadly has limitations. Refer to our syllabus for the conversion from this to UP grades. For reference, the passing grade for the course is at least 60%.

Several agencies within UP Diliman have released guidance on how grades of students with failing standing or incomplete requirements should be during this trying time. Here is one of the few memos outlining such. In accordance with the memo, those who have a failing standing will get an INC for this course. Those with INC grades will be able to complete coursework starting Mid Year 2021 as long as they are enrolled this term.

Bonus points are also factored in in that raw grade and not in the percentage calculations. The multipliers do not account for the bonus points in your MEs but are there for late penalty computations.

EDIT2: Apparently, answers and feedback in some SQs were not revealed after the quiz is closed. We have just enabled them for you to find out the correct answers.

Friday, 02 July 2021

Hello!

Your instructors are currently hard at work in checking your requirements. Hence, we advise to occasionally check your UVLe gradebook this day (and tomorrow) as these are being filled in at this very moment.

Regardless, WFQ grades are now complete! The capstone exercise (CE) has also been evaluated. For students who uploaded inaccessible Jupyter notebooks for their CE, please change your sharing settings and inform the instructors for regrading.

For those who are interested in enrolling this Midyear 2021 and would require certification that your standing in this course is passing, please inform us via email or through a private message here in Piazza.

Due to limited time, we suggest that you lodge any regrading requests starting right now for us to immediately action on it.

Thank you for enrolling in this first installment of CoE 163 and we hope that you learned something in this course.

June

Monday, 28 June 2021

Hello!

You may be thinking that CoE 163 doesn’t have grades yet. But actually, you can access your grades in your UVLe account by going here! Additionally, you can access it by going first to the CoE 163 UVLe page, then hovering over your user name. A dropdown menu will appear where you should click "My Grades" to show your grades for the course. Here is a picture of that menu.

Screen_Shot_2021-06-27_at_11.44.46_PM.png

Blank grades mean that that requirement has not yet been evaluated. Don’t worry as it will have one soon. For example, here is a grade page where there are blank fields.

Screen_Shot_2021-06-27_at_11.41.49_PM.png

Although the page shows your final grades for CoE 163, deductions for late submissions have not yet been factored in, and your grade may still decrease. Hence, we are also recording your grades on a separate file with the deductions factored in (plus, UVLe may suddenly become unstable!).

Regardless, if the requirement has been fully evaluated, you can appeal for a regrade by sending a private message to us here at Piazza or sending an email to the respective instructor(s) who made the requirement. Here is a list of who did what.

Dizon [carl.dizon at eeemail]

  • SQ01
  • SQ02
  • ME01
  • CE

Montes-Austria [isabel.austria at eeemail]

  • SQ03
  • SQ04
  • ME02
  • ME03

Friday, 25 June 2021

Hello!

The capstone exercise has been released! You can view the specs either on UVLe or on the UP Microlab Wiki!

Due to very limited time, this exercise has a very short turnaround time - deadline is on Wednesday, 30 June 2021. Note that under our latest changes, this exercise is optional, but will give you a glimpse of what the last part of CoE 163 should have been. Fulfilling this optional requirement* will give you an additional 10% to your final grade for this course.

* see the oxymoron there? :)

Wednesday, 23 June 2021

Hello!

I personally apologize for turning out your results too late. Nonetheless, I have finished checking all of the on-time submissions for SQ02 and MP01. Please check UVLe for your personalized assessments, grades, and correct answers (for SQs).

Any concerns regarding the grade can be lodged by sending a private message to me either via email or through this board at Piazza. I admit that I have noticed that there are some submissions for SQ02 that have missing images. For students affected by such, please send the missing images through the same means written above.

PS. SQ01 checking is under way.

Wednesday, 23 June 2021

Dear Students,

After discussing among ourselves on the remaining topics and activities for CoE 163, your instructors have decided on the following:

  • Only the topics with materials released prior to the end of Finals Week (June 19, 2021) will be counted as required lessons and assessment activities
  • In other words, required materials/assessment activities are only until "Week 7" on UVLe
  • As announced before, we are extending the deadline for all requirements to June 25. Penalties for late submissions will still apply.
    • Pending requirements include everything that is currently released, such as the 4 SQs and 3 MEs. Please check UVLe for these requirements.
  • Due to a very constrained time frame, we have decided to offer the capstone exercise (CE) as an optional requirement.
    • The new grading rubric is now as follows:
      • 55% Short Quiz (SQ)
      • 45% Machine Exercise (ME)
      • 10% Capstone Exercise (CE)
    • The remaining content will be optional materials, and the capstone exercise that we will release will be a 10% bonus to your grade
      • CE encapsulates everything that is taught in this course, and will include concepts from linear algebra and parallel programming
      • This is an exercise, and not a project.
  • We'll try to get the materials for these last topics out as soon as possible

The syllabus has been updated to reflect these sudden changes.

We do hope you have appreciated or even enjoyed the content of CoE 163. Know that the course materials shall be accessible to you on UVLe and edX even for future use, should you realize later on that you want to or need to go back to these lessons. Optimization of algorithms and making them work for the platform or architecture you are running on is something you'll keep going back to if you continue to pursue computer-related projects later on.

It is unfortunate that the current remote learning set-up makes the course delivery sub-optimal. Thank you for being very participative, patient, and involved in this remote course :)

Friday, 18 June 2021

Dear students,

We are extending the deadline for you to submit the current evaluation deliverables (quizzes and MEs) to June 25, 2021. The originally stipulated penalties for late submissions will still apply.

If you want to answer the knowledge check / UVLe quizzes that are already closed, please follow the instructions first at @20 to set-up your UVLe account. Then, send me and Carl Dizon an email so that we can grant you access to answer the quizzes.

(Last note for clarification: We are still going to release the final capstone Machine Exercise, so definitely the deadline for that will be later than June 25).

For any questions/clarifications, please ask here or via email. Thanks!

Friday, 18 June 2021

Dear all,

Now that we're in the stage of closing off the sem, but still have some loose ends to be finished off, I'll be continuing to post updates here on Piazza. However, if you want to be able to ask quick questions in a chat format, I'm inviting everyone, even those not in my section to join this Discord channel:

https://discord.gg/khnfPWpZPt

Thursday, 17 June 2021

I just added a link in Week 6 on UVLe to an article talking about LAPACK being incorporated into MATLAB. In case you've already gone past Week 6, you might be interested to look at this brief article: https://www.mathworks.com/company/newsletters/articles/matlab-incorporates-lapack.html

It was published in the year 2000 (21yrs ago!), and it talks about version 5.3 of MATLAB. Perhaps you'll be able to find newer articles/information on what MATLAB uses now.

Just an example of software that you have encountered before already (MATLAB). Hopefully with CoE 163, you'll have a new appreciation for what makes MATLAB very useful for scientific/engineering computations :)

Wednesday, 16 June 2021

Dear students,

Please expect one more knowledge check quiz for the Week 7 materials. Also, we'll try to get the final set of materials for the final topic out asap. I'm still discussing with my fellow instructors on the details of the final/capstone machine exercise. Considering how much time we have left (we'll stretch out the deadlines as far as possible since many are still catching up on the lessons), we will calibrate the assignment to be packed with learning/experience but can ideally be done in a short time.

Please reply to this thread if you have any questions concerns regarding this tail-end of CoE 163.

Thanks for your patience and for your virtual attendance of CoE 163 so far. We do hope you appreciate the lessons, even beyond the confines of your undergraduate course requirements.

Monday, 07 June 2021

Dear students of CoE 163,

As you have noticed, Week 6 does not yet cover everything listed in the topics for that week and Weeks 7 to 11 still need to be filled up. As I was planning the activities for the Linear Algebra weeks, I realized there are some things that would be tricky to require you to do given you do not have access to computers in a lab to do benchmarking work. The little ME's I've assigned, if you've tried them already, can take a long time to run on Google Colab (or your own machines) and so it is also difficult for me to estimate how long it would take each of you to go through the slides -> absorb the content -> appreciate the ME. You may have noticed, I barely required any form of programming so far :-)

So here are what you can expect for the remainder of CoE 163:

  • Now there are just a few more topics related to Linear Algebra, that I've decided to put together under "Week 7". These will be Gaussian Elimination and Sparse Matrices. I hope to upload the material early this week
  • For the third section of CoE 163 topics, we will probably have to compress all that and highlight the essential concepts related to GPU architectures and parallel programming.

I'll be posting a poll on Piazza as well to get the general atmosphere of how far along you've gotten with the uploaded course materials. Please do answer this so that we know how to time the remaining assessment activities as well.

Let me know here if you have further questions!

May

Wednesday, 19 May 2021

Week 5 quiz will open on UVLe at 12nn May 19 Wed. This is a timed quiz for 30-minutes, and you are given two attempts (highest grade will be recorded).

You have until June 2 to complete this quiz. Good luck and let me know if you have questions :)

Monday, 03 May 2021

Dear CoE 163 Students,

Hope you are able to rejuvenate / reset during the reading break.

I have uploaded the materials for Week 5. [Better late than never!! Although somehow, I think our course preparation time is somewhat converging with the pace that you are also able to comfortably follow for this course]. Please check out the Study Guide first so that you have an overview of the materials.

I plan to hold an optional synchronous session discussing Week 5 materials this coming Thursday, May 6, 10:30am. The details are on UVLe and pasted below.

Topic: CoE 163: MMM Optimization
Time: May 6, 2021 10:30 AM Asia/Manila

Meeting ID: 980 0311 4064
Password: 568643

Join Zoom Meeting
https://prime-ph.zoom.us/j/98003114064?pwd=VnE4ZlZTbzdzUWhma1diRDFpc1cwdz09

With this, hopefully the discussions are kicked off and clarified so that the succeeding topics on additional matrix operations will be easier to self-study :)

Lastly, please continue to work on the current assignments/quizzes from the previous weeks. I'll also be uploading an assignment and quiz for Week 5, so standby for announcements. Meanwhile, just focus on the existing assignments on hand.

See you on Thursday if you can make it!

Saturday, 08 May 2021

We have received reports of students not yet enrolled to our edX instance. Hence, they were not able to access the video lectures and their associated self-assessment exercises. Unfortunately, we have closed self-enrollment on 31 March 2021.

For those who are not yet enrolled in our edX instance, please send a private question to Carl here on Piazza, or send an email to carl [dot] dizon [at] eeemail, with the email address that you used to sign in to edX. We will manually enroll you as soon as possible.

April

Monday, 26 April 2021

The Reading Break is scheduled on 29 April (Thursday) to 05 May (Wednesday), which is a time for all of us to reevaluate our academic orientation and fulfill requirements that are lagging behind schedule. In line with this break, there will be no deadlines scheduled for submission during this time, and deadlines falling within these dates will be moved outside this week.

However, we will still release lecture materials (hopefully Weeks 5 and 6) and academic requirements to catch up with our initial schedule as close as possible. Deadline for existing requirements that fall on this week will be moved at the earliest on 06 May (Thursday).

Thank you for your understanding, and we hope that you are enjoying the course.

PS. For CoE 164 (since we assume that all of you are also enrolled in it), we will be releasing ME 01 before the Reading Break and will set-up a submission bin somewhere. Thanks!

PPS. Will be grading your SQ1 soon. 😃

Thursday, 15 April 2021

I’ve uploaded the Week 4 lesson materials on UVLe. I will not be assigning any quiz/homework or machine exercise this week, but please review linear algebra and diligently go through the materials. These will all set the stage and prepare you for the succeeding discussions in the coming weeks.

Hope you enjoy the lesson and the supplementary stuff I’ve linked!

Thursday, 15 April 2021

Para sa kaalaman ng lahat, kahit na medyo late na 'to, nakalatag na ang mga babasahin para sa Linggo 3 ng ating talakayan ukol sa mga computers at mga algorithms. Narito ang mga sanggunian bilang gabay sa inyong pag-aaral:

Maraming salamat sa inyong pag-unawa!

Friday, 09 April 2021

Hello everyone!

We have been made aware of some students having difficulties fulfilling the short quizzes after the deadline has passed as it has been closed by UVLe. As a workaround for this technological shortcoming, we would like you to set your student number on your UVLe profile.

First, go to your own UVLe profile page. Then click on "Edit Profile".

Next, expand the "Additional User Information" category, where you will find the field for the "UP Student Number".

Input your student number in this format - "20XXYYYYY". Scroll towards the end of the page and click "Update profile".

Now, you can view the late submission bins for the quizzes that you missed.

We update the restrictions manually, so please be patient if the bins do not automatically reveal themselves after the deadline. If you are not able to access these bins, please privately contact us with your student number at the earliest three (3) days after the deadline so that we can cross-check it with the on-time submission bin.

Thank you.

Thursday, 08 April 2021

Hello everyone!

Due to several conditions outside our control, such as the reversion of NCR and neighboring provinces to Enhanced Community Quarantine (ECQ) restrictions, the Holy Week, and the Reading Break at the end of April 2021, the CoE 163 instructors have decided on the following changes and updates regarding the course.

  • The grading rubric will be changed as follows to promote a more egalitarian scheme.
    • 40% Short Quiz (SQ)
    • 35% Machine Exercise (ME)
    • 25% Capstone Exercise (CE)
  • SQs will make up the majority of the grade, and will make sure to release a higher proportion of them relative to the MEs. The CE will be released toward the end of the course, and is formulated to be easier than machine problems that you may encounter in other courses.
  • We have finally formalized the academic submission guidelines for this course, which was already written on the syllabus and course outline. This outlines, among others, the policy for late submissions for these requirements. While we empathize with the struggles of remote learning, we put these guidelines in place to prevent students from cramming their requirements at the end of the semester.
  • We have to admit that the instructors also have difficulty in uploading the class materials and requirements timely. We ask for your patience and understanding as we are sorting things out, just like you.

If you have any inquiries, please don't hesitate to use this board. Again, we thank you for your patience and hope that you are enjoying the course regardless of the obstacles that we face right now.

March

Friday, 26 March 2021

The Christian Holy Week is scheduled on 28 March (Sunday) to 03 April (Saturday) 2021 while UP Diliman has sanctioned 01 April (Thursday) to 03 April 2021 (Saturday) as regular holidays during this semester. In line with this pious and sincere week, there will be no deadlines scheduled for submission during this time. However, we will still release lecture materials (Week 3) and academic requirements (2nd SQ, 1st ME) to meet our initial schedule. Deadline for any of these requirements may fall at the earliest on 07 April (Wednesday) 2021, but stay tuned and read the details for each of these as we are thinking of giving up the Holy Week for your own self- and religious reflection.

Thank you for your understanding.

Tuesday, 23 March 2021

Para sa kaalaman ng lahat, nakalatag na ang mga babasahin para sa Linggo 2 ng ating talakayan ukol sa mga computers at mga algorithms. Narito ang mga sanggunian bilang gabay sa inyong pag-aaral:

Maraming salamat sa inyong pag-unawa!

Tuesday, 23 March 2021

Para sa kaalaman ng lahat, kahit na medyo late na 'to, nakalatag na ang mga babasahin para sa Linggo 1 ng ating talakayan ukol sa mga computers at mga algorithms. Narito ang mga sanggunian bilang gabay sa inyong pag-aaral:

Maraming salamat sa inyong pag-unawa!

Friday, 19 March 2021

Dear CoE 163 Students,

We'd like to synchronize all the sections and to calibrate our class schedule due to some of the delays (especially given the UVLe downtime last week). We also want to finalize the mode of delivery of the materials / platform for CoE 163 this semester. We have decided on the following:

  • WEEK 1 is officially the week of March 15-19. Please check the topic outline and the uploaded materials so far, and let us know if you have clarifications on the schedule.
  • UVLe + Piazza will be the official/primary platform for CoE 163. We can mirror the materials on EdX for those who like to use it, but UVLe is where the updated materials and class activities will be officially uploaded

Please raise any concerns here on Piazza so that we can smoothen out course management issues as early as possible :-)

Regards,
CoE 163 Handlers

Monday, 15 March 2021

Welcome!

Hello brave ones!

Welcome to the CoE 163 Piazza board! This is the place where we can ask questions related to the course, administrivia, and other related topics.

This course is being handled by three people across three different sections:

  • Carl C. Dizon
  • Isabel M. Austria
  • Nestor Michael C. Tiglao

Course Flow

As this is a fresh course and we are still under quarantine measures, there will be some things that still need to be in order. First, UVLe is down due to extraordinary circumstances. Hence, we are setting-up an edX instance where we will upload the interactive video lectures and exercises. In the meantime, the instance can be accessed at https://upd-eeei-edx.squeekeek.com while we are still waiting for the DNS configuration of the up-microlab domain. Please create an account and enroll to the CoE 163 class to access the content. Second, we will also be using this board (Piazza) for announcements and Q&As. edX actually has a discussion forum and a collaborative wiki for our use, but simple and fast Q&A can be posted here for convenience.

CoE 163 is partially asynchronous, meaning there will be no classes on the timeslots assigned to your section in CRS except if the instructor has asked that there will be a class at that time. Additionally, there will be requirements that you need to pass within a certain amount of time for it to gain full points.

Course Academic Requirements

All academic requirements are released at least a week (7 days) before the deadline. For example, if a short quiz was released on Friday, then the deadline will be at the earliest on the next Friday. Holidays and weekends are counted as part of the "week," but we do consider that we don't work on weekends and holidays when scheduling deadlines. If a requirement is deemed difficult, the deadline may be scheduled two or more weeks after release.

  • Short quizzes (25% 40% 55%) - 10- to 20-item tests to be accomplished within a week to test your mastery of the course
  • Machine exercises (50% 35% 45%) - small but meaningful programming exercises to test your algorithm, programming, and hardware analysis skills, which can be accomplished within 3 hours
  • Capstone exercise (25% 10%) (optional) - a relatively large programming exercise to summarize what you have learned throughout the course

Any Questions?

If you have any questions regarding the course policies, outlines, etc., you can ask away under this note.

Thursday, 11 March 2021

Hi students,

We've published links to the course materials for the first topics in the course Wiki: https://classes.up-microlab.org/index.php?title=CoE_163_S2_AY_2020-2021

While UVLe is not yet up, we'll be using piazza and the wiki for now. We'll post announcements regarding the coursework/quizzes.