1,885
edits
Changes
no edit summary
!Week!!Week of...!!Tuesday - Class!!Friday - ALC/Lab!!Deliverables
|-
|1||Jan 6Sept 1||[[#Tuesday (Jan 7)|Introduction to Software Porting, Portability, Benchmarking, and Optimization]]||[[#Friday (Jan 10)|How is Code Accepted? - Analyze code submissions in two separate open source projects]]||[[#Week 1 Deliverables|Blog a commentary on code reviews in two communities]] (Lab 1)
|-
|2||Jan 13Sept 8||[[#Tuesday (Jan 14)|Computer Architecture Overview]]||[[#Friday (Jan 17)|Hello World - Compile a basic C program and analyze the resultant binary]]||[[#Week 2 Deliverables|Set up a Fedora system and the ARMv8 Foundation Model / Blog on binary analysis (Lab 2)]]
|-
|3||Jan 20Sept 15||[[#Tuesday (Jan 21)|Introduction to Assembly Language]]||[[#Friday (Jan 24)|x86_64 and Aarch64 Assembley Language]]||[[#Week 3 Deliverables|Blog about writing in assembly language (Lab 3)]]
|-
|4||Jan 27Sept 22||[[#Tuesday (Jan 28)|Lab 3 results, inline assembler, and compiler optimizations]]||[[#Friday (Jan 31)|Analyzing a codebase for assembler and non-portable code]]||[[#Week 3 Deliverables|Blog post about codebase analysis]]
|-
|5||Feb 3Sept 29||[[#Tuesday (Feb 4)|Memory Barriers and Atomics]]||[[#Friday (Feb 7)|Potential Project Analysis]]||[[#Week 5 Deliverables|Blog about your selected projects]]
|-
|6||Feb 10Oct 6||[[#Tuesday (Feb 11)|Architecture-specific Code for Performance]]||Group hack session - Porting||[[#Week 5 Deliverables|Identify the assembler in your projects and contact your upstream communities.]]
|-
|7||Feb 17Oct 13||Portability - Removing platform-specific code||Group hack session - Portability||Remove platform-specific code from your projects
|-style="background: #f0f0ff"
|Study Week||Feb 24Oct 20||colspan="3" align="center"|Study Week<br />'''[http://fsoss.ca FSOSS 2014] on Thursday-Friday'''
|-
|8||Mar 3Oct 27||Project Work||Project Work||Get code into review
|-
|9||Mar 10Nov 3||[[#Tuesday (March 11)|Status Update]]||[[#Friday (March 14)|Foundation Models]]||[[#Week 9 Deliverables|Install and Test With Foundation Model]]
|-
|10||Mar 17Nov 10||[[#Tuesday (March 18)|Profiling ]]||Baseline Profiling||[[#Week 10 Deliverables|Post baseline stats for your software]]
|-
|11||Mar 24Nov 17||Optimizing Code||Group hack - Profiling and optimizing||Code review update
|-
|12||Mar 31Nov 24||Using complier optimizations||Project Work||Code review update
|-
|13||Apr 7Dec 1||Final Presentations||(No class - Exams start)||Code accepted upstream
|-style="background: #f0f0ff"
|Exam Week||Apr 14Dec 8||colspan="3" align="center"|Exam Week - No exam in this course!
|}
!Category!!Percentage!!Evaluation Dates
|-
|Communication||align="right"|20%||Jan September 30, October 31, Feb 28, March 31November 21, April 13December 10
|-
|Quizzes||align="right"|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||align="right"|10%||See deliverables column above.
|-
|Project work||align="right"|60%||Feb 28October 10, March 31November 21, April 13December 10
|}
# Sign and return the [[Open Source Professional Option Student Agreement]].
<!--
== Week 2 ==
=== Week 10 Deliverables ===
* Blog your baseline benchmark results
-->