1 / 12

Eng 151: A New Accelerated Alternative to Eng 101

Eng 151: A New Accelerated Alternative to Eng 101. Philosophy: all engineering students should be required to take at least one programming/logic course The vast majority of our incoming students have *no* programming/logic background

gerodi
Download Presentation

Eng 151: A New Accelerated Alternative to Eng 101

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eng 151: A New Accelerated Alternative to Eng 101 • Philosophy: all engineering students should be required to take at least one programming/logic course • The vast majority of our incoming students have *no* programming/logic background • Engineering students with CS background are often quite bored with Eng 101 and may ultimately be “turned off” due to the “triviality” they perceive in the Eng 101 context • Eng 151: • First taught this fall (2009) • Current enrollment is approaching 100 students • This course will challenge qualified students appropriately… • It also will expose non-EECS students to topics they would not otherwise see unless they chose to enroll in EECS 280

  2. Eng 151 Part I: Algorithms and C++ Fundamentals • Week 1: Logic & Binary/Hexadecimal Math Introduction to Linux and g++ • Week 2: C/C++ Fundamentals: Data types, input/output, operators, selection, iteration, functions & procedures • Week 3: C/C++ Fundamentals (cont): Files, constants, variable scope Code Management: Program debugging (e.g., with ddd) • Week 4: C/C++ Arrays, pointers, and dynamic memory allocation • Week 5: Built-in C++ classes & templates (e.g., vector, string)

  3. Eng 151 Part II: Accelerated C++ • Week 6: C/C++ structures & linked lists C++ Classes I: Data abstraction; class declaration/initialization • Week 7: C++ Classes II: Member functions & operators, friend functions, inheritance • Week 8: Parallel processing (pthreads): Intro & applications • Week 9: Embedded Systems: binary operators, DIO, serial protocols, A/D, D/A, PWM • Week 10: PROJECT 1: Embedded system application (e.g., robot PID control)

  4. TableSat • Single degree-of-freedom tabletop satellite for research and education • Driven by computer fans • Analog sensors: rate gyro, 3-axis magnetometer, sun sensors • Network-accessible with overhead video for remote operation • Focus areas: • Embedded software • Navigation and control

  5. Eng 151 Part III: Matlab and Synthesis • Week 11: Matlab Fundamentals: Math, lists & arrays, plotting, scripts & functions; linear algebra introduction • Week 12: Matlab Fundamentals (cont): Operators & branches, iteration, polynomials & curve fitting • Week 13: More Matlab: Numerical analysis, symbolic math, Simulink • Week 14: PROJECT 2: C++ & Matlab: Numerical analysis/simulation application

  6. State of Computing in US Education & Society: A Blunt Perspective • CS has no legacy foothold in our curricula • K-12 institutions maintain prestige through high performance on traditional math/science-based exams (e.g., the AP series) • Students and many faculty/teachers at all levels intentionally or unintentionally “package-ize” computational thinking • Focus on applications where abstraction results in the need only for point & click “vocational” training • Use Excel or Matlab without logic, without understanding of data manipulation or computations • Why not “package-ize” and call it enabling or efficient? • Similar to giving 1st graders a calculator and hypothesizing they don’t need to understand how addition through division operations are actually done • Similar to giving incoming college freshmen programs that differentiate and integrate then focus strictly on how to use these operations

  7. State of Computing in UM Aerospace (or more generally non-EECS engineering) • Only one course, ENG 101, Freshman programming, is required • Insufficient, particularly given limited K-12 background • General consensus among faculty that more is needed, but disagreement on what “more” means • Two tracks of computational prowess acknowledged: • Engineering analysis with numerical solvers • Embedded systems, decision support systems • Software is the single most costly “component” of modern manned Aerospace systems… This need not be the case with better training from K-12 up… • Progress: • Accelerated Eng 101: Helps prepare those ready for the challenge • Undergrad: Flight Software Systems: Fundamental theory + practice • Grad: Aerospace Information Systems: Dyn & Ctrl core course

  8. UM-FMS in Aerospace Computing Education • Provides motivated students environment for programming “real” FMS system from microprocessor through user interface • Lecture Series aimed at preparing students for UM-FMS (and more general) software development • Directed at onboard / ground software development • Ongoing efforts to create complementary analysis lecture series track • Challenge: these “lecture series” are volunteer-taught and volunteer-completed thus will be difficult to sustain

  9. Software Lecture Series - 1 • Part I: Software development “beyond Engineering 101”: • Data abstraction and object-oriented programming • Socket-based network communication • Parallel/asynchronous execution with multiple threads • Serial communication protocols (RS/232, I2C, …) and data interfaces (A/D, D/A, PWM, DIO) • Sensor data calibration, processing, and filtering • Software development with subversion and doxygen

  10. Software Lecture Series - 2 • Part II: UM-FMS: • Shared data structures • Ground Station: QT-based GUI, communication links • Embedded Processor I (Gumstix): Thread functionality and real-time requirements, communication protocols • Microprocessor (Atmel): Registers, interrupts, A/D, D/A, PWM • Embedded Processor II (PC/104): Combines real-time threads, communication, and hardware interfaces on an integrated CPU/DAQ/network board; Linux and QNX operating system options

  11. Complementary Aerospace Electronics Ed. • Aerospace curriculum also deficient in electronics and instrumentation • Students have developed supplemental in-lab lectures series in electronics and microprocessor use also • Topics (with some overlap) • AC/DC instrumentation • Communication & telemetry • Atmel programming basics • Communication data streams • This course is popular given U. Michigan’s strong student team heritage: • S3FL, SolarBubbles, MASA, Formula SAE, Solar Car, Baja Racer, … • Students program a Sumo robot as their “final project” and bring limited problems/questions from their team projects

  12. Grand Challenge • UM can continue to work toward improvements, but students must arrive better-prepared to achieve a “game-changing” result • Finding a path to computational literacy • Courses: Working toward new courses and better integration of computation in existing courses • Multi-step approach: • K-12 must expose students to computational thinking so they understand it in the same context as mathematics • At UM, we will continue to work toward improved courses, collaborations, and extracurricular activities in support of computational thinking

More Related