190 likes | 355 Views
A brief description of the course design, with examples. UoM’s ENGR101 Introduction to Computers and Programming. Alex Bielajew , UoM , NERS Department. Required course for Freshmen (~1100-1200/yr) Focus: algorithm development, not programming No prerequisites (math/computing/science)
E N D
A brief description of the course design, with examples UoM’s ENGR101 Introduction to Computers and Programming Alex Bielajew, UoM, NERS Department
Required course for Freshmen (~1100-1200/yr) • Focus: algorithm development, not programming • No prerequisites (math/computing/science) • Very diverse student backgrounds Initial student perceptions: What is ENGR101? • 30-50% dread/fear this course • Thought of as a “weeder” course • Programming is considered “irrelevant”
Outgoing student evaluations: • Most loved it (but don’t really know why) • “Easily my favorite first-year course” • “Challenging, but rewarding” • “I probably won’t remember a thing, but I’d take it again” • “Too much work for the credit” • Still “irrelevant”
So why do we keep teaching it? • An inexpensive laboratory course (build/break) • A model for all engineering design • Early opportunity for knowledge synthesis • Basic technical learning reinforcement • Show how computers can tackle huge, difficult, important problems
Why do I keep teaching it? • B. F. Skinner (psychologist), “Education is what remains when the facts one has learned have been forgotten.” • James Duderstadt (ex-President of U0M), “We teach our students too much useless crap.”Paul Simon (musician and poet), “When I think back on all the crap I learned in high school, it’s a wonder I can think at all.”
The teaching model… • 4 credit hour course (12-16 hr effort expected) • 3 hr/wk “large” lecture (200-400 students) taught by Professors and Lecturers, not Grad Students • Large lecture sessions (2-3/term) are not usually coordinated • 2 hr/wk labs (25 students) run by Grad Students • The Grad Students assigned to a particular Professor coordinate their efforts • 8+ assignments/projects (1-2 weeks) • 2-3 exams/term
…The teaching model • C++/Matlab platforms (70/30% - variable) • Other languages possible • Diverse and continuously varying applications • Large differences among large lectures • Newly introduced accelerated section (Ella will speak on this) Sample schedule …
Sample applications … • Title: Waldo wanders home • Description: Random direction, fixed-step diffusion on a planar surface • Math: 2D vectors • Algorithm: Simulation of a “random walk” • Real-life applications: stochastic processes, molecular/particulate diffusion, nuclear reactor modeling
…Sample applications • Title: Ladies and Gents: Start engines • Description: Negotiating a race car around a course by acceleration and braking, minimizing time to finish • Math: 2D vectors • Physics: acceleration, solid-body kinematics • Algorithm: Apply laws of physics, avoid boundaries, obstacles, engine/brake limits • Real-life applications: Optimization
…Sample applications • Title: Write your own exp(x) function • Description: Try to equal the standard math library’s exp(x) function • Math: Taylor series, numerical analysis, algebraic manipulations
…Sample applications • Title: Beat the Professor • Description: Develop a prime number generator at least 5000x faster than the example • Math: Prime numbers, analysis • Algorithm: Algorithm adaptation • Real-life applications: Encryption, biology, using Wikipedia as a research tool • Notes: Some students discover the “Sieve of Eratosthenes. “Most popular assignment to date”!
…Sample applications • Title: Can computers cure cancer? • Description: Develop a 2D realistic model of a multi-beam radiotherapy treatment • Physics: Attenuation, diffusion • Real-life applications: Cancer therapy
Other applications Simple Chess game (pawns only) Chess puzzle (Knight’s tour) Compiler parser Programming extended arithmetic Robust input parsing (hostile input) Developing a math quizzer for a 3rd grader Battleship! Mastermind Planetary motion (earth, sun, moon) Design of a plasma arc lamp Optimizing placement of a heat register
Problem areas • How do we manage the incoming diversity? • How do we keep the high achievers engaged? • How do we manage the underprepared? • How to manage large lecture coordination? • How do we address the problem of relevance? • How to attract talented teachers willing to teach a Freshman “service” course? • How do we reward those that are? • What computer languages should we teach? • What applications should we focus on?