Difference between revisions of "CoE 164 S2 AY 2024-2025"

From Microlab Classes
Jump to navigation Jump to search
(Initial creation)
 
(Added course syllabus)
 
Line 14: Line 14:
 
'''Delivery Method''': Digital materials and open-time laboratory sessions
 
'''Delivery Method''': Digital materials and open-time laboratory sessions
 
<br>
 
<br>
'''Online Platforms''': UVLe, Discourse, Zoom, other code submission platforms.
+
'''Online Platforms''': [https://uvle.upd.edu.ph/course/view.php?id=21041 UVLe], [https://eeei-qna.squeekeek.com/c/eeei-classes/coe164-ay2425s2/10 Discourse], Zoom, other code submission platforms.
 
<br>
 
<br>
 
'''Course Guidelines''': [[:File:CoE 164 2425s2 Syllabus.pdf | <nowiki>[syllabus]</nowiki>]]
 
'''Course Guidelines''': [[:File:CoE 164 2425s2 Syllabus.pdf | <nowiki>[syllabus]</nowiki>]]
 
<br>
 
<br>
'''Grade Lookup''': [https://script.google.com/macros/s/AKfycbwfEfaFKrWGG5GrCSaFUIFaPDFCul_tCiwXxbMQJhV5CyNXK9LdzbDpncUIGiJ8-9hyuQ/exec <nowiki>Google Apps Script</nowiki>]
+
'''Grade Lookup''': [https://script.google.com/macros/s/AKfycbyad8BANGZvmIK-G9oBJYZuO0AsASLhxUY764SWDH4XthY6J0jIwpoMYvp-k5i6jODeLw/exec <nowiki>Google Apps Script</nowiki>]
 
<br>
 
<br>
  
Line 27: Line 27:
 
! Week !! Topics !! Academic Requirements !! Resource Links
 
! Week !! Topics !! Academic Requirements !! Resource Links
 
|-
 
|-
| 0
+
| 1
 
|
 
|
[00] Course overview<br>
+
[01] Course overview<br>
[00] Course requirements
+
[01] Course requirements<br>
 +
[01] Rust: First program
 
|
 
|
 
|
 
|
 +
|-
 +
| 2
 +
|
 +
[02] Rust: Language basics<br>
 +
[02] Rust: Functions and control<br>
 +
[02] Rust: Data ownership
 +
|
 +
|
 +
|-
 +
| 3
 +
|
 +
[03] Rust: Data structures<br>
 +
[03] Rust: Error handling
 +
|
 +
|
 +
|-
 +
| 4
 +
|
 +
[04] Rust: OOP basics<br>
 +
[04] Rust: Generic types
 +
|
 +
|
 +
|-
 +
| 5
 +
|
 +
[05] Rust: Lifetimes<br>
 +
[05] Rust: Functional programming<br>
 +
[05] Rust: Smart pointers
 +
|
 +
|
 +
|-
 +
| 6
 +
|
 +
[06] Rust: Modules and crates<br>
 +
[06] Rust: Unit tests<br>
 +
[06] Rust: File I/O<br>
 +
[06] Test-driven development
 +
|
 +
|
 +
|-
 +
| 7
 +
|
 +
[07] Optimized linear algebra<br>
 +
[07] Error correction
 +
|
 +
|
 +
|-
 +
| 8
 +
|
 +
|
 +
|
 +
|-
 +
| 9
 +
|
 +
[MidP]
 +
|
 +
|
 +
|-
 +
| 10
 +
|
 +
[10] Runtime profiling and complexity analysis<br>
 +
[10] Language interpreter
 +
|
 +
|
 +
|-
 +
| 11
 +
|
 +
|
 +
|
 +
|-
 +
| 12
 +
| colspan="3" | <div style="text-align: center;">'''LENTEN BREAK'''</div>
 +
|-
 +
| 13
 +
|
 +
[13] Threading and concurrency<br>
 +
[13] Rust: Concurrency<br>
 +
[13] Rust: SIMD
 +
|
 +
|
 +
|-
 +
| 14
 +
|
 +
[14] Rust: Unsafe mode<br>
 +
[14] Rust: Embedded basics
 +
|
 +
|
 +
|-
 +
| 15
 +
|
 +
[CP] Course overview
 +
|
 +
|
 +
|-
 +
| 16
 +
|
 +
|
 +
|
 +
|-
 +
| 17
 +
| colspan="3" | <div style="text-align: center;">'''END OF CLASSES'''</div>
 +
|-
 +
| 18
 +
| colspan="3" | <div style="text-align: center;">'''FINALS WEEK'''</div>
 
|}
 
|}
  
 
= Grading Rubric =
 
= Grading Rubric =
 
50% Software exercises (SE)<br>
 
50% Software exercises (SE)<br>
20% Midterm project (MidP)<br>
+
30% Midterm project (MidP)<br>
30% Capstone project (CP)
+
20% Capstone project (CP)
  
 
= Completion Requirements =
 
= Completion Requirements =
  
Students are required to fulfill the following requirements for ''course completion''. Failure to fulfill any of these requirements will result in receiving an INC (with passing standing) or 5.0 (with failing standing) in the course
+
Students are required to fulfill the following requirements for ''course completion''. Failure to fulfill any of these requirements will result in receiving an INC (with passing standing) or 5.0 (with failing standing) in the course.
  
* Submit half of the SEs offered throughout the semester
+
* Have a grade in at least half of the SEs offered throughout the semester
** If the SE has multiple components, each component is counted as one of the SEs for this purpose.
+
** "Having a grade" is defined as an SE that has a grade of greater than zero (0).
** E.g. SE01 which has two components SE01A and SE01B, are counted as two for this requirement. Hence, you can opt to submit SE01A, SE01B, none, or all of them.
+
** If the SE has multiple subcomponents, each component is ''not'' counted separately but instead treated as one single SE.
* Submit the MidP
+
** E.g. SE01 which has two components SE01A and SE01B, are counted as one for this requirement. Hence, you can opt to submit SE01A, SE01B, or all of them.
* Submit the CP
+
* Have a grade in the MidP
 +
* Have a grade in the CP
  
 
= Announcements =
 
= Announcements =
== January 2024 ==
+
== January 2025 ==

Latest revision as of 00:21, 23 January 2025

Course Information

Academic Period: 2nd Semester AY 2024-2025
Units: 1 (3 laboratory)
Workload:

  • 3 hours laboratory per week

Instructors:

  • Carl C. Dizon [carl.dizon at eeemail]
  • Kathleen Issandra Tuso [kathleen.issandra.tuso at eeemail]

Course Description: This is an advanced laboratory course on the application of the concepts, methodologies, skills, and tradeoffs in designing/building computing systems to solve challenging problems, in an efficient and structured way.
Synopsis: This course aims to 1) build and evaluate efficient computing platforms, 2) present algorithms, methods, and tools needed to solve challenging problems, and 3) practice sound engineering judgement in solving engineering problems.
Delivery Method: Digital materials and open-time laboratory sessions
Online Platforms: UVLe, Discourse, Zoom, other code submission platforms.
Course Guidelines: [syllabus]
Grade Lookup: Google Apps Script

Course Outline

Week Topics Academic Requirements Resource Links
1

[01] Course overview
[01] Course requirements
[01] Rust: First program

2

[02] Rust: Language basics
[02] Rust: Functions and control
[02] Rust: Data ownership

3

[03] Rust: Data structures
[03] Rust: Error handling

4

[04] Rust: OOP basics
[04] Rust: Generic types

5

[05] Rust: Lifetimes
[05] Rust: Functional programming
[05] Rust: Smart pointers

6

[06] Rust: Modules and crates
[06] Rust: Unit tests
[06] Rust: File I/O
[06] Test-driven development

7

[07] Optimized linear algebra
[07] Error correction

8
9

[MidP]

10

[10] Runtime profiling and complexity analysis
[10] Language interpreter

11
12
LENTEN BREAK
13

[13] Threading and concurrency
[13] Rust: Concurrency
[13] Rust: SIMD

14

[14] Rust: Unsafe mode
[14] Rust: Embedded basics

15

[CP] Course overview

16
17
END OF CLASSES
18
FINALS WEEK

Grading Rubric

50% Software exercises (SE)
30% Midterm project (MidP)
20% Capstone project (CP)

Completion Requirements

Students are required to fulfill the following requirements for course completion. Failure to fulfill any of these requirements will result in receiving an INC (with passing standing) or 5.0 (with failing standing) in the course.

  • Have a grade in at least half of the SEs offered throughout the semester
    • "Having a grade" is defined as an SE that has a grade of greater than zero (0).
    • If the SE has multiple subcomponents, each component is not counted separately but instead treated as one single SE.
    • E.g. SE01 which has two components SE01A and SE01B, are counted as one for this requirement. Hence, you can opt to submit SE01A, SE01B, or all of them.
  • Have a grade in the MidP
  • Have a grade in the CP

Announcements

January 2025