Embedded Systems Design Summer
Instructor Info Instructor: George Rudolph Instructor: George Rudolph Office Hours: T,Th ½ hour before class Office Hours: T,Th ½ hour before class Contact Contact 225 Thompson Hall 225 Thompson Hall
Instructor: George Rudolph, Summer Course Overview In-class activities In-class activities 3 projects 3 projects 1 Exam 1 Exam 1 Final 1 Final Some Homework Some Homework
Instructor: George Rudolph, Summer Goals Give you skills, concepts and information that will Make you a better engineer Make you a better engineer Add to your value as an employee Add to your value as an employee Light your fire Light your fire Education is not the filling of a pail, but the lighting of a fire. William Butler Yeats
Instructor: George Rudolph, Summer Goals Learn tools Learn tools Can use them, not an expert Can use them, not an expert Primary focus is software development Primary focus is software development Learn Embedded Systems Concepts Learn Embedded Systems Concepts Deal Intelligently with Concepts/Issues Deal Intelligently with Concepts/Issues Generalize skills learned in this course Generalize skills learned in this course Hands-on fun Hands-on fun Get close to modern hardware Get close to modern hardware Real-time Java programming Real-time Java programming Build with Legos Build with Legos
Instructor: George Rudolph, Summer Course Mechanics Course is project-driven Course is project-driven Work in teams Work in teams Activities and Lectures will be interleaved during class Activities and Lectures will be interleaved during class Minimize time spent outside class on projects Minimize time spent outside class on projects Testable Material Testable Material Questions from Lectures Questions from Lectures Variations from Variations from Tutorials Tutorials Papers Papers
Instructor: George Rudolph, Summer “ Housekeeping lssues” CitLearn logins CitLearn logins CWID CWID Password Password Call helpdesk if you have issues Call helpdesk if you have issues Used for Used for Grades Grades Exams Exams submissions submissions
Instructor: George Rudolph, Summer Successful ES Programmer Practices (Know & Do) 1. Hardware Architecture Core hardware (processor/controller) Core hardware (processor/controller) Peripherals (what is being controlled) Peripherals (what is being controlled) 2. Tools & Toolchains 3. Real-time embedded programming 4. Good concepts, techniques, habits
Instructor: George Rudolph, Summer Assessment Activity What is your experience with Hardware (alot, some, none) Windows or Linux OS (alot, some, none) Other OS (alot, some, none) Programming (a lot, some, none) Java (alot, some, none) Embedded Systems (a lot, some, none)
Instructor: George Rudolph, Summer Why Use Legos? Popular Readily available No soldering required Quickly experiment with alternate physical designs Mindstorms, Technics, etc. are easy to program
Why High-level Language? Fewer bugs by design Fewer bugs by design Productivity b/c of library support Productivity b/c of library support Abstractions Abstractions Use if you can Use if you can Dive lower if you need to Dive lower if you need to Optimize with care Optimize with care Profile first Profile first Instructor: George Rudolph, Summer
Instructor: George Rudolph, Summer Why Choose Java? See WhyJava.html WhyJava.html Lejos NXJ is a *really* nice tool with Libraries for programming Lego robots/devices Java runs on millions of devices now