This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2019:comporg:projects [2018/03/15 14:22] – external edit 127.0.0.1 | haas:spring2019:comporg:projects [2019/05/07 14:23] (current) – [NES ROMs] wedge | ||
---|---|---|---|
Line 7: | Line 7: | ||
======Projects====== | ======Projects====== | ||
- | | [[/haas/spring2018/ | + | | [[/haas/spring2019/ |
- | | [[/haas/spring2018/ | + | | [[/haas/spring2019/ |
- | | [[/ | + | | [[/haas/spring2019/ |
- | | [[/haas/spring2018/ | + | | @lightgreen: |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | [[/ | + | |
- | | @lightgreen: | + | |
- | | @lightgreen: | + | |
======Class Stats====== | ======Class Stats====== | ||
- | * [[/haas/spring2018/ | + | * [[/haas/spring2019/ |
======Course Notes Page====== | ======Course Notes Page====== | ||
* [[/ | * [[/ | ||
- | ======Week 2====== | + | |
- | * As we wrap up pnc0, we start delving into the aspects related to pnc1: | + | ======NES ROMs====== |
- | * compiler optimizations | + | |
- | * implementations in different languages | + | * [[http:// |
- | * runtime performance | + | * [[http:// |
- | * we started looking at assembly language last week (**gcc -S**), we may delve a bit deeper writing our first program in assembly. | + | * [[http:// |
- | + | * [[http:// | |
+ | |||
+ | Want to play the NES ROMs on your own system? You can download them [[https:// | ||
+ | |||
+ | For web-based play, I am using [[https:// | ||
======Week 1====== | ======Week 1====== | ||
- | * Welcome to the Spring 2018 semester! | + | * Welcome to the Computer Organization! |
* Our approach to Computer Organization will be as follows: | * Our approach to Computer Organization will be as follows: | ||
* comprehension of lower level operations: take a familiar process, study how its implementation can perform in various environments. Our initial projects will focus on this. | * comprehension of lower level operations: take a familiar process, study how its implementation can perform in various environments. Our initial projects will focus on this. | ||
* collaboration/ | * collaboration/ | ||
- | * learning/ | ||
- | * Intel/amd64 64-bit CISC assembly (on lab46) using **as** and **nasm**. | ||
- | * ARM/ARM64 64-bit RISC assembly (on a Raspberry Pi 3) using **as** and **nasm**. Or maybe to get added exposure, 32-bit ARM assembly on a Raspberry Pi 2. | ||
- | * We will probably start with Lab46. Time and ability permitting, I'd like to expand to ARM. Having a familiarity with both can prove most insightful. | ||
- | * interactive: | ||
- | * Knowing a language coming into Computer Organization can be both helpful and limiting: | ||
- | * helpful: if you understand how to communicate math, logic, decisions, repetition, modularity, those are major concepts that do not need to be freshly learned AND immediately applied using a new syntax/ | ||
- | * limiting: if you only have a brute-force/ | ||
- | * also limiting: those who know higher level languages and not lower level/ | ||
- | * but again: KNOWING C and its concepts, vs. merely having memorized syntax that you try to deploy in automatic/ | ||
* Note that there are THREE (3) things due before the end of Wednesday this first week: | * Note that there are THREE (3) things due before the end of Wednesday this first week: | ||
* **coi0** | * **coi0** | ||
* **wcp1** | * **wcp1** | ||
* **week1** journal entry (which I plan to count as bonus; at the very least earn yourself a few points by removing the filler text). | * **week1** journal entry (which I plan to count as bonus; at the very least earn yourself a few points by removing the filler text). |