Learn by doing Less is more Frank Vahid
Learn by doing Less is more Frank Vahid (UC Riverside) Tony Givargis (UC Irvine) Frank Vahid, UC Riverside
Programming embedded systems Computing system embedded inside Frank Vahid, UC Riverside 2
Problem: Students currently "hack" programs • Learn components, get working, build systems, no prog. discipline Frank Vahid, UC Riverside // -----------------------------// configure output ports // -----------------------------ADCON 0 = 0 x 00; /* disable A/D converter */ CM 1 CON 0 = 0 x 00; CM 2 CON 0 = 0 x 00; /* disable comparators */ ANSELH = 0 x 00; ANSEL = 0 x 00; /* configure pins as digital chanels TRISA = 0 x 08; /* all bits output except RA 3. */ TRISB = 0 x. F 0; /* Port B inputs*/ RABPU = 1; WPUB 4 = 1; // enable weak pull ups on RB 4 IOCB 4 = 1; // enable interrupt on change for RB 4 TRISC = 0 x 00; /* PORTC all set to outputs */ PORTA = 0 x 00; PORTB = 0 x 00; PORTC = 0 x 00; /* initialize ports */ // -----------------------------// Timer 0 setup // -----------------------------CLRWDT(); // turn off watch dog timer OPTION = 0 x 07; // setup prescaler TMR 0 = PRELOAD; // preload timer T 0 IE = 1; //enable timer 0 interrupts // -----------------------------// Setup button interrupts // -----------------------------RABIE = 1; //Enable change on PORTB interrupts GIE = 1; //global interupts enabled 3
Synchronous state machines Want: Disciplined "modelbased" programming method Skill+art – requires practice enum SL_States { Wait 00, Wait 10, … } SL_State; void SL_Tick() { switch(SL_State) { // Transitions case -1: SL_State = SL_Wait 00; break; case SL_Wait 00: if (!(!A 1 && !A 0)) { SL_State = SL_Wait 00; } else if (!A 1 && !A 0) { SL_State = SL_Wait 10; } break; … Frank Vahid, UC Riverside 4
Solution: Virtual Lab • Interactive online learning – Learn by doing • Used for all lecture homeworks – Huge improvement over pencil/paper • http: //www. youtube. com/watch? v=M 0 f 3 X 4 OGSSw Developed with NSF CCLI funds Frank Vahid, UC Riverside 5
Learn by doing Less is more Frank Vahid, UC Riverside 6
e. g. , "… read on average 27% assigned readings before class … 70% before exam … decline in compliance over 16 years … less than 3 hrs/wk" [Michael A. Info overload Problem: Students aren't reading Clump, Heather Bauer, Catherine Bradley; Journal of Instructional Psychology, Vol. 31, 2004] $108 Plus slides, class notes, lab manual, lab assignments, lab simulator, homework assignments, study guides, … Cost http: //www. gao. gov/new. items/d 05806. pdf Frank Vahid, UC Riverside 7
Solution: Short, low-cost book http: //www. youtube. com/wat ch? v=6 y. AYXr 2 Cxv. E 120 pages, $50 (e-book or print-ondemand), small publisher Developed with NSF CCLI funds • Focus on essentials (web is today's reference) • Break from "cover everything" / "firehose" tradition • No slides: Short enough to use book as slides (students love this) • Less is more. Most students read/study all material Frank Vahid, UC Riverside 8
So far… • 7 physical offerings in 2 years – 5 UCR, 2 UCI, 5 different teachers – Extensive use of virtual lab and e-book – Physical lab and lecture still included • Positive teacher/student feedback • Student performance strong Frank Vahid, UC Riverside 9
Logical evolution. . . • Today: engineering textbook author creates: – Book, slides, exercise solutions, lab manual – Simulator / virtual lab – Homeworks, quizzes (Course. Smart. com) • Logical evolution 1. Author creates entire "course-in-a-box" – add (short) video lectures, exams. More interactive tools (e. g. , online checking/correcting/hinting. . . ) 2. Author runs course (online) – Manage assignments/exams, use proctored test facilities, online/skype help/office-hrs, assign grades. Economy/Quality of scale… + Frank Vahid, UC Riverside 10
- Slides: 10