Difference between revisions of "Winter 2014 SPO600 Weekly Schedule"
Chris Tyler (talk | contribs) |
Chris Tyler (talk | contribs) |
||
Line 1: | Line 1: | ||
{{Chris Tyler Draft}} [[Category:Winter 2014 SPO600]] | {{Chris Tyler Draft}} [[Category:Winter 2014 SPO600]] | ||
− | == | + | {{Admon/important|Subject to Change|This weekly schedule will be updated as the course proceeds - dates and content are subject to change.}} |
− | + | {|cellspacing="0" width="100%" cellpadding="5" border="1" | |
− | + | |- | |
− | + | !Week!!Week of...!!Tuesday - Class!!Thursday - ALC/Lab!!Deliverables | |
− | + | |- | |
− | + | |1||Jan 6||Introduction to Software Porting, Portability, Benchmarking, and Optimization||How is Code Accepted? - Analyze code submissions in two separate open source projects||Blog a commentary on code reviews in two communities | |
− | + | |- | |
− | + | |2||Jan 13||Assembly language, Machine code, and Architecture Distinctions||Hello World - Compile a basic C program and analyze the resultant binary||Set up a Fedora system and the ARMv8 Foundation Model | |
− | + | |- | |
− | + | |3||Jan 20||Writing in Assembler & Intro to Aarch64||Write Hello World in assembler - x86_64 and Aarch64||Given an x86_64 assembler program with a loop, write an Aarch64 version | |
− | + | |- | |
− | + | |4||Jan 27||Non-portable code & Git and other SCMS||Software Selection - Introduce the Class to your selected Software Projects||Blog about your selected software projects | |
− | + | |- | |
− | + | |5||Feb 3||Compiler Optimizations and Intrinsics||Compiler Optimization Lab - Observe GCC optimizations||Identify the machine-specific code in your selected projects | |
− | + | |- | |
− | + | |6||Feb 10||Porting - Adding platform-specific code for Aarch64||Group hack session - Porting||Port your projects | |
− | + | |- | |
− | + | |7||Feb 17||Portability - Removing platform-specific code||Group hack session - Portability||Remove platform-specific code from your projects | |
+ | |- | ||
+ | |Study Week||Feb 24||Colspan="3"|Study Week | ||
+ | |- | ||
+ | |8||Mar 3||Project Work||Project Work||Get code into review | ||
+ | |- | ||
+ | |9||Mar 10||Benchmarking (I) - Baseline, Control, and Repeatability||Group hack session - Baseline benchmarks||Produce baseline benchmarks for your software | ||
+ | |- | ||
+ | |10||Mar 17||Benchmarking (II) - Change Impact||Group hack session - Impact of your Changes||Publish change impact stats for your software | ||
+ | |- | ||
+ | |11||Mar 24||Optimizing Code||Group hack - Profiling and optimizing||Code review update | ||
+ | |- | ||
+ | |12||Mar 31||Project Work||Project Work||Code review update | ||
+ | |- | ||
+ | |13||Apr 7||Conclusion||Final Presentations||Code accepted upstream | ||
+ | |- | ||
+ | |Exam Week||April 14||colspan="3"|Exam Week - No exam in this course! | ||
+ | |} |
Revision as of 00:03, 6 January 2014
Week | Week of... | Tuesday - Class | Thursday - ALC/Lab | Deliverables |
---|---|---|---|---|
1 | Jan 6 | Introduction to Software Porting, Portability, Benchmarking, and Optimization | How is Code Accepted? - Analyze code submissions in two separate open source projects | Blog a commentary on code reviews in two communities |
2 | Jan 13 | Assembly language, Machine code, and Architecture Distinctions | Hello World - Compile a basic C program and analyze the resultant binary | Set up a Fedora system and the ARMv8 Foundation Model |
3 | Jan 20 | Writing in Assembler & Intro to Aarch64 | Write Hello World in assembler - x86_64 and Aarch64 | Given an x86_64 assembler program with a loop, write an Aarch64 version |
4 | Jan 27 | Non-portable code & Git and other SCMS | Software Selection - Introduce the Class to your selected Software Projects | Blog about your selected software projects |
5 | Feb 3 | Compiler Optimizations and Intrinsics | Compiler Optimization Lab - Observe GCC optimizations | Identify the machine-specific code in your selected projects |
6 | Feb 10 | Porting - Adding platform-specific code for Aarch64 | Group hack session - Porting | Port your projects |
7 | Feb 17 | Portability - Removing platform-specific code | Group hack session - Portability | Remove platform-specific code from your projects |
Study Week | Feb 24 | Study Week | ||
8 | Mar 3 | Project Work | Project Work | Get code into review |
9 | Mar 10 | Benchmarking (I) - Baseline, Control, and Repeatability | Group hack session - Baseline benchmarks | Produce baseline benchmarks for your software |
10 | Mar 17 | Benchmarking (II) - Change Impact | Group hack session - Impact of your Changes | Publish change impact stats for your software |
11 | Mar 24 | Optimizing Code | Group hack - Profiling and optimizing | Code review update |
12 | Mar 31 | Project Work | Project Work | Code review update |
13 | Apr 7 | Conclusion | Final Presentations | Code accepted upstream |
Exam Week | April 14 | Exam Week - No exam in this course! |