ENG 101 Intro to Programming
Ford Motor Company Summer Engineering Institute
Paul J. Kominsky paulko
- AT - umich - DOT - edu
Except for the first week, lectures are in room XXX and XXX. Labs are in rooms XXX and XXX. For the first week only, combined lecture/lab is in 1610 IOE.
Purpose of course:
“Educational Objectives” from the official course description: The educational objectives of Engineering 101, Introduction to Computers and Programming, center on students learning to formulate and implement algorithms to solve problems in math, science and engineering.
Students who pass the class will ably demonstrate the following abilities:
Define an algorithm, Describe standard encodings of data, Describe the place value system, Write a positive integer in binary, decimal and hexadecimal, Write a negative integer using twos-complement, Describe the IEEE standard floating point encoding, Describe data types and identifiers in C++ and Matlab, Classify operators as arithmetic, relational, logical or assignment, Identify statements as declarations, expressions, selection or iteration, Describe the role of sequence, selection and iteration in algorithms, Describe functions/procedures in a programming language, Define pass-by-value and pass-by-reference semantics, Describe files and i/o streams, Compute the number of bits required to encode data with a finite range, Use compiler/interpreter error messages to find a syntax error in a C++ or Matlab code, Recognize that a problem will require a selection statement, Recognize that a problem will require iteration or looping, Distinguish a counting loop from a more general iteration, Recognize the "input" and "output" parameters to a function, Trace C++ or Matlab code and determine the values of variables at each statement, Write code that requires selection/conditional execution, Write iteration loops controlled by a "while" condition, Write counting loops, including loops to accomplish array traversals, Write functions using call-by-value semantics, Write functions using call-by-reference semantics, Implement a given algorithm in C++ or Matlab, Debug a C++ or Matlab code to find a semantic or logic error, Create an algorithm to solve a physical or mathematical problem, Decompose a complex problem into simpler tasks, Devise functions/procedures that appropriately encapsulate a task.
....and that’s all! Heh. Actually, most of the “real” ENG101 courses don’t cover all of these subjects in depth, and many of these abilities are fairly straightforward within the context of this course.
THIS course, the summer course all of you are attending, is designed to boost your chances of success in the “real” ENG101 course when you take it this coming Fall or Winter. There are two aspects of doing well, learning the material, and learning HOW to learn the material. Most of you are expects at learning material. However, it is likely that few of you have ever thought of how your learned new material, or how to go about maximizing your learning potential.
This summer course will push you fast, and you will not believe that you will actually be pushed that fast this fall. You will be right. You will actually be pushed even harder this fall! New information will come at you like water out of a hose, drowning you. You will scramble to keep up with the flood, projects will be delayed and postponed, and other frustrations will occur. However, through it all, realize that you have the ability and talent to survive (and do well!) at this institution.
Summer course typical week:
Back to Programming Main Page
Back to John's Main Page