archive:eec120plan
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| archive:eec120plan [2026/08/11 07:53] – azman | archive:eec120plan [2026/08/11 09:16] (current) – azman | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== EEC120 Teaching/ | ===== EEC120 Teaching/ | ||
| - | |||
| - | Plan for EEC120 Computer Programming I | ||
| ^ Week ^ Lecture | ^ Week ^ Lecture | ||
| ^ Week 01 | < | ^ Week 01 | < | ||
| - | * Course | + | * Introduction |
| * Introduction to Computer Systems | * Introduction to Computer Systems | ||
| - Hardware (CPU, input, output) | - Hardware (CPU, input, output) | ||
| Line 21: | Line 19: | ||
| </ | </ | ||
| ^ Week 02 | < | ^ Week 02 | < | ||
| - | | + | |
| - Basic code structure (syntax) | - Basic code structure (syntax) | ||
| - | | + | |
| - | - Creating first executable binary | + | - Simple text display |
| + | * Creating first executable binary | ||
| - Syntax (language) and semantic (decision logic) errors | - Syntax (language) and semantic (decision logic) errors | ||
| - Simple debugging | - Simple debugging | ||
| </ | </ | ||
| * Explore building binary from c source code | * Explore building binary from c source code | ||
| + | * Explore creating text decorations using symbols | ||
| </ | </ | ||
| - | * **[VIDEO GUIDE]** | + | * **[VIDEO GUIDE]**??? |
| </ | </ | ||
| ^ Week 03 | < | ^ Week 03 | < | ||
| - | | + | |
| - | - Variables | + | - data types and sizes |
| - | - Data processing: equations and tasks | + | * C Operators |
| + | - arithmetic and logic | ||
| + | - boolean vs bitwise | ||
| + | * Data processing | ||
| + | - equations and tasks | ||
| + | - (optional) math.h library functions | ||
| </ | </ | ||
| - | * **[DEVELOPMENT WORK]** | + | * Understanding storage types and practical use |
| + | | ||
| </ | </ | ||
| **Assignment 1 Queue** | **Assignment 1 Queue** | ||
| </ | </ | ||
| ^ Week 04 | < | ^ Week 04 | < | ||
| - | * Bare-metal Programming ({{:archive: | + | * Flow control: Branches (selection) |
| - | | + | - '' |
| - | | + | |
| + | - (otional) the ''?:'' | ||
| </ | </ | ||
| - | * [[pgt302lab01|Lab Work 2]] (cont.) | + | * Understanding decision making process in code |
| - | * **[DEVELOPMENT WORK]** | + | * Exploring code that control program flow |
| - | * my1barepi: t08_uart | + | |
| - | * my1barepi: t09_bluetooth | + | |
| - | * needs bluetooth terminal app | + | |
| </ | </ | ||
| ^ Week 05 | < | ^ Week 05 | < | ||
| - | * Bare-metal on Raspberry Pi ({{:archive: | + | * Flow control: Loops (repetition) |
| - | | + | |
| - | | + | |
| + | - '' | ||
| </ | </ | ||
| - | * [[pgt302lab01|Lab Work 2]] (cont.) | + | * Understanding iterative flow in code |
| - | * **[DEVELOPMENT WORK]** | + | * Exploring code that repeats itself |
| - | * my1barepi: t10_gsm | + | |
| - | * my1barepi: t11_gps | + | |
| - | * my1barepi: t12_rtc | + | |
| </ | </ | ||
| **Assignment 1 Due (5%)** | **Assignment 1 Due (5%)** | ||
| </ | </ | ||
| ^ Week 06 | < | ^ Week 06 | < | ||
| - | * Simple Applications | + | * C (Data) Array |
| - | | + | |
| - | | + | |
| - | * input signal detection/ | + | |
| </ | </ | ||
| - | * [[pgt302lab02|Lab Work 3]] | + | * Understanding array as group-storage |
| - | * **[DEVELOPMENT WORK]** | + | * Exploring code that process on arrays |
| - | * practical programming: | + | |
| - | * detect edges | + | |
| - | * measure pulse width | + | |
| - | * measure frequency | + | |
| - | * generate pwm (single/periodic) | + | |
| </ | </ | ||
| **Lab Assessment 1 (10%)** | **Lab Assessment 1 (10%)** | ||
| </ | </ | ||
| ^ Week 07 | < | ^ Week 07 | < | ||
| - | * Hardware Platform 2 ({{: | + | * C String |
| - | | + | |
| - | | + | |
| </ | </ | ||
| - | * [[pgt302lab02|Lab Work 3]] (cont.) | + | * Understanding string as char array |
| - | * **[DEVELOPMENT WORK]** | + | * Exploring code that process on strings (read/ |
| - | * system integration | + | |
| </ | </ | ||
| **Mid-term Examination (20%)** | **Mid-term Examination (20%)** | ||
| </ | </ | ||
| ^ Week 08 | < | ^ Week 08 | < | ||
| - | * Hardware Platform 2 (cont.) ({{: | + | * C Pointers |
| - | | + | - indirect data access |
| + | | ||
| + | - pointers in loops | ||
| + | - pointer arithmetic | ||
| </ | </ | ||
| - | * [[pgt302lab02|Lab Work 3]] (cont.) | + | * Understanding pointers as method for indirect access |
| - | * **[DEVELOPMENT WORK]** | + | * Exploring code that deals with (or use) pointers |
| - | * system integration | + | |
| </ | </ | ||
| **Assignment 2 Queue** | **Assignment 2 Queue** | ||
| </ | </ | ||
| ^ Week 09 | < | ^ Week 09 | < | ||
| - | * Embedded OS on Raspberry Pi | + | * C Functions |
| - | | + | |
| - | | + | |
| + | - (extra) data/variable scope and lifetime | ||
| </ | </ | ||
| - | * [[pgt302lab03|Lab Work 4]] | + | * Understanding functions as building block for modular programming |
| - | * **[PREPARATION WORK]** | + | * Exploring code that has multiple functions |
| - | * prepare raspbian (pgt302pi image) | + | |
| - | * change hostname (make unique) | + | |
| - | * **[DEVELOPMENT WORK]** | + | |
| - | * my1linuxpi: gpio | + | |
| </ | </ | ||
| ^ Week 10 | < | ^ Week 10 | < | ||
| - | * Embedded OS on Raspberry Pi | + | * File access (permanent storage) |
| - | | + | |
| - | | + | |
| </ | </ | ||
| - | * [[pgt302lab03|Lab Work 4]] (cont.) | + | * Understanding pros/cons of secondary storage |
| - | * **[PREPARATION WORK]** | + | * Exploring code that read/write from/to files |
| - | * make sure avahi/mdns is running on pi | + | |
| - | * make sure bonjour/avahi/mdns is available on host | + | |
| - | * **[DEVELOPMENT WORK]** | + | |
| - | * remote access using putty | + | |
| - | * my1codelib: run custom server | + | |
| - | * my1linuxpi: run gpio http server | + | |
| </ | </ | ||
| **Assignment 2 Due (5%)** | **Assignment 2 Due (5%)** | ||
| </ | </ | ||
| ^ Week 11 | < | ^ Week 11 | < | ||
| - | * Setup/ | + | * Practical Applications |
| - | * server side programming (C @ PHP) | + | * requirements and considerations |
| + | * C struct | ||
| + | - data group | ||
| + | - accessing data in struct | ||
| </ | </ | ||
| * Lab Project | * Lab Project | ||
| + | * (extra) use struct to create abstract data type | ||
| + | * (extra) creating functions to process struct (towards oop?) | ||
| </ | </ | ||
| **Lab Assessment 2 (10%)** | **Lab Assessment 2 (10%)** | ||
| </ | </ | ||
| ^ Week 12 | < | ^ Week 12 | < | ||
| - | * Setup/ | + | * Practical Applications (cont.) |
| - | * client side programming (C @ HTML/ | + | * requirements and considerations |
| </ | </ | ||
| * Lab Project (cont.) | * Lab Project (cont.) | ||
| </ | </ | ||
| ^ Week 13 | < | ^ Week 13 | < | ||
| - | * Practical Applications | + | * Practical Applications |
| * requirements and considerations | * requirements and considerations | ||
| </ | </ | ||
archive/eec120plan.1786434813.txt.gz · Last modified: by azman
