Difference between revisions of "Fall 2015 SPO600 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Evaluation)
(Schedule Summary Table)
Line 11: Line 11:
 
{|cellspacing="0" width="100%" cellpadding="5" border="1" style="background: #e0e0ff"
 
{|cellspacing="0" width="100%" cellpadding="5" border="1" style="background: #e0e0ff"
 
|-
 
|-
!Week!!Week of...!!Tuesday!!Thursday!!Deliverables<br/>(Summary - click for details)
+
!Week!!Week of...!!width="28%"|Tuesday!!width="28%"|Thursday!!width="28%"|Deliverables<br/>(Summary - click for details)
 
|-
 
|-
|1||Sep 7||(Experience Seneca - no class)||[[#Tuesday (Sep 11)|Introduction to Software Porting, Portability, Benchmarking, and Optimization / How is code accepted into an open source project? (Lab 1)]]||[[#Week 1 Deliverables|Set up accounts, and blog a comparision of code reviews in two communities (Lab 1).]]
+
|1||Sep 7||(Experience Seneca - no class)||[[#Tuesday (Sep 11)|Introduction to Software Porting, Portability, Benchmarking, and Optimization / How is code accepted into an open source project? (Lab 1)]]||[[#Week 1 Deliverables|Set up accounts, and blog a comparison of code reviews in two communities (Lab 1).]]
 
|-
 
|-
  
|2||Sep 14||[[#Tuesday (Sep 15)|Compiled C Lab (Lab 4)]]||[[#Thursday (Sep 18)|Build and benchmark a portion of the LAMP stack (Lab 2)]]||[[#Week 2 Deliverables|Blog about your baseline data (Lab 2)]]
+
|2||Sep 14||[[#Tuesday (Sep 15)|Compiled C Lab (Lab 2)]]||[[#Thursday (Sep 18)|Compiler Optimizations]]||[[#Week 2 Deliverables|Blog about your baseline data (Lab 2)]]
 
|-
 
|-
  
|3||Sep 21||colspan="2" align="center"|Linaro Connect - No classes scheduled<br />[[#Week 3|'''Prepare a presentation on a selected topic about platform-specific code.''']]||[[#Week 3 Deliverables|Be prepared to present your topic.]]
+
|3||Sep 21||colspan="2" align="center"|Linaro Connect - No classes scheduled<br />[[#Week 3|'''Prepare a presentation on two selected compiler options.''']]||[[#Week 3 Deliverables|Be prepared to present your topic.]]
 
|-
 
|-
  
|4||Sep 28||[[#Tuesday (Sep 29)|Presentations on platform-specific code.]]||[[#Thursday (Oct 2)|Presentations on platform-specific code.]]||[[#Week 6 Deliverables|Blog about your presentation.]]
+
|4||Sep 28||[[#Tuesday (Sep 29)|Presentations on compiler options.]]||[[#Thursday (Oct 2)|Working with code / Building software (Lab 3)]]||[[#Week 4 Deliverables|Blog about your presentation and about your experience building code (Lab 3).]]
 
|-
 
|-
  
|5||Oct 5|||[[#Tuesday (Oct 6)|Profiling: Finding the pain points (Lab 3)]]||[[#Thursday (Oct 9)|Computer architecture overview]]||[[#Week 3 Deliverables|Blog about the profiling results and pain points discovered (Lab 3)]]
+
|5||Oct 5|||[[#Tuesday (Oct 6)|Benchmarking (Lab 4)]]||[[#Thursday (Oct 9)|Project Introduction]]||[[#Week 5 Deliverables|Blog your baseline benchmarks (Lab 4).]]
 
|-
 
|-
  
|6||Oct 12||[[#Tuesday (Oct 13)|Compiled C Lab (Lab 4)]]||[[#Thursday (Oct 16)|Compiler optimizations]]||[[#Week 4 Deliverables|Blog a commentary on the Compiled C Lab (Lab 4).]]
+
|6||Oct 12||[[#Tuesday (Oct 13)|Build a compiler options test tool.]]||[[#Thursday (Oct 16)|Build a compiler options test tool.]]||[[#Week 6 Deliverables|Blog about the compiler options test tool.]]
 
|-
 
|-
  
|7||Oct 19||[[#Tuesday (Oct 20)|Assembly lab (Lab 5)]]||[[#Thursday (Oct 23)|Inline assembly lab and Course Projects]]||[[#Week 7 Deliverables|Blog about the Assembly Lab (Lab 5) and start project investigation.]]
+
|7||Oct 19||[[#Tuesday (Oct 20)|Project Status - Stage I.]]||[[#Thursday (Oct 23)|Project discussions and hacking.]]||[[#Week 7 Deliverables|Blog about the your project - this will be used to assign your first project mark.]]
  
 
|-style="background: #f0f0ff"
 
|-style="background: #f0f0ff"
|Study Week||Oct 26||colspan="3" align="center"|Study Week - No classes! [http://fsoss.ca FSOSS 2015 on Thursday/Friday]
+
|Study Week||Oct 26||colspan="3" align="center"|Study Week - No classes! Plan to attend [http://fsoss.ca FSOSS 2015 on Thursday/Friday]
 
|-
 
|-
  
|8||Nov 2||[[#Tuesday (Nov 3)|Project discussion, and Reading Reference Documentation.]]||[[#Thursday (Nov 6)|Project presentations - Stage 1]]||[[#Week 8 Deliverables|Blog about your project progress - this will be used to assign your 1st Project marks.]]
+
|8||Nov 2||[[#Tuesday (Nov 3)|Computer architecture primer.]]||[[#Thursday (Nov 6)|Assembler Lab (Lab 5).]]||[[#Week 8 Deliverables|Blog about your project progress - this will be used to assign your 1st Project marks - as well as the Assembler Lab (Lab 5).]]
 
|-
 
|-
  
|9||Nov 9||[[#Tuesday (Nov 10)|Upstreaming]]||[[#Thursday (Nov 13)|Spinlocks and Tail Call Optimization]]||[[#Week 9 Deliverables|Blog about your project work.]]
+
|9||Nov 9||[[#Tuesday (Nov 10)|Upstreaming]]||[[#Thursday (Nov 13)|Spinlocks, Tail Call Optimization]]||[[#Week 9 Deliverables|Blog about your project work and upstream interactions.]]
 
|-
 
|-
  
|10||Nov 16||[[#Tuesday (Nov 17)|Portable alternatives to Assembler]]||[[#Thursday (Nov 20)|Project Presentations - Stage 2]]||[[#Week 10 Deliverables|Blog about your project progress - this will be used to assign your 2nd Project Marks.]]
+
|10||Nov 16||[[#Tuesday (Nov 17)|Project Status - Stage II.]]||[[#Thursday (Nov 20)|Inline assembler.]]||[[#Week 10 Deliverables|Blog about your project progress - this will be used to assign your second project marks.]]
 
|-
 
|-
  
|11||Nov 23||[[#Tuesday (Nov 24)|Hack Session]] (Professor will not be present)||[[#Thursday (Nov 27)|SIMD]]||[[#Week 11 Deliverables|Blog about SIMD/vectorization and your project.]]
+
|11||Nov 23||[[#Tuesday (Nov 24)|SIMD]]||[[#Thursday (Nov 27)|GCC Auto-vectorization (Lab 6)]]||[[#Week 11 Deliverables|Blog about Lab 6 as well as SIMD/vectorization and your project.]]
 
|-
 
|-
  
|12||Nov 30||[[#Tuesday (Dec 1)|Discussion & Hack Session]]||[[#Thursday (Dec 4)|Vectorization]]||[[#Week 12 Deliverables|Blog about your work.]]
+
|12||Nov 30||[[#Tuesday (Dec 1)|Discussion & Hack Session]]||[[#Thursday (Dec 4)|Synthesis of project results.]]||[[#Week 12 Deliverables|Blog about your work.]]
 
|-
 
|-
  
Line 56: Line 56:
  
 
|-style="background: #f0f0ff"
 
|-style="background: #f0f0ff"
|Exam Week||Apr 20||colspan="3" align="center"|Exam Week - No exam in this course!
+
|Exam Week||Dec 14||colspan="3" align="center"|Exam Week - No exam in this course!
 
|}
 
|}
  

Revision as of 21:15, 30 August 2015

Important.png
Content being Edited
This page is being edited to adjust for the Fall 2015 version of this course. Please do not rely on this information yet.
Important.png
It's Alive!
This SPO600 weekly schedule will be updated as the course proceeds - dates and content are subject to change. The cells in the summary table will be linked to relevant resources and labs as the course progresses.

For the Winter 2015 version of the weekly schedule, see Winter 2015 SPO600 Weekly Schedule.

Schedule Summary Table

This is a summary/index table. Please follow the links in each cell for additional detail -- especially for the Deliverables column.

Week Week of... Tuesday Thursday Deliverables
(Summary - click for details)
1 Sep 7 (Experience Seneca - no class) Introduction to Software Porting, Portability, Benchmarking, and Optimization / How is code accepted into an open source project? (Lab 1) Set up accounts, and blog a comparison of code reviews in two communities (Lab 1).
2 Sep 14 Compiled C Lab (Lab 2) Compiler Optimizations Blog about your baseline data (Lab 2)
3 Sep 21 Linaro Connect - No classes scheduled
Prepare a presentation on two selected compiler options.
Be prepared to present your topic.
4 Sep 28 Presentations on compiler options. Working with code / Building software (Lab 3) Blog about your presentation and about your experience building code (Lab 3).
5 Oct 5 Benchmarking (Lab 4) Project Introduction Blog your baseline benchmarks (Lab 4).
6 Oct 12 Build a compiler options test tool. Build a compiler options test tool. Blog about the compiler options test tool.
7 Oct 19 Project Status - Stage I. Project discussions and hacking. Blog about the your project - this will be used to assign your first project mark.
Study Week Oct 26 Study Week - No classes! Plan to attend FSOSS 2015 on Thursday/Friday
8 Nov 2 Computer architecture primer. Assembler Lab (Lab 5). Blog about your project progress - this will be used to assign your 1st Project marks - as well as the Assembler Lab (Lab 5).
9 Nov 9 Upstreaming Spinlocks, Tail Call Optimization Blog about your project work and upstream interactions.
10 Nov 16 Project Status - Stage II. Inline assembler. Blog about your project progress - this will be used to assign your second project marks.
11 Nov 23 SIMD GCC Auto-vectorization (Lab 6) Blog about Lab 6 as well as SIMD/vectorization and your project.
12 Nov 30 Discussion & Hack Session Synthesis of project results. Blog about your work.
13 Dec 7 Project Presentations - Stage 3 Wrap-up Session Blog about your project progress - this will be used to assign your 3rd project marks.
Exam Week Dec 14 Exam Week - No exam in this course!

Evaluation

Category Percentage Evaluation Dates
Communication 20% September 30, October 31, November 30, December 11
Quizzes 10% May be held during any class, usually at the start of class. A minimum of 5 one-page quizzes will be given. No make-up/retake option is offered if you miss a quiz. Lowest 3 scores will not be counted.
Labs 10% See deliverables column above.
Project work 60% Oct 20 (15%), Nov 13 (20%), December 11 (25%)