E 77 -
Introduction to Computer Programming for Scientists and Engineers (4 units)
CATALOG DESCRIPTION
Elements of procedural and object-oriented programming.
Induction, iteration, and recursion.
Real functions and floating-point computations for engineering analysis.
Introduction to data structures.
Representative examples are drawn from mathematics, science, and engineering. The course uses the MATLAB programming language.
|
COURSE PREREQUISITES
Mathematics 1B
TEXTBOOK(S) AND/OR OTHER REQUIRED MATERIAL
Palm, Introduction to MatLab 7 for Engineers, McGraw Hill,
or Chapman, MATLAB Programming for Engineers, Thompson
and
Class Reader
COURSE OBJECTIVES
The goal of this course is to provide students with working knowledge of computer-based problem-solving methods. The MATLAB computation environment is used to introduce students to the elements of procedural and object-oriented programming, basic numerical analysis, and data structures. The context for the assignments is designed to highlight the relevance of computing to engineering and to instill in students an appreciation and understanding of what computing can provide in an engineering context.
A good grasp of programming and computer problem-solving techniques comes only through an understanding of fundamental principles and a great deal of hands-on experience. E77 provides instruction and practice in the needed skills through a combination of lectures, discussions and lab sessions. Lab sessions are considered a very important component of the course.
DESIRED COURSE OUTCOMES
Ability to apply knowledge of mathematics, science, and engineering to answer subject matter questions appropriate to first year studies using computing techniques.
Ability to design and conduct computational experiments, as well as to analyze and interpret data generated from numerical computations.
Ability to design a computational system (program), component (subroutine, object), or process (code fragment) to meet desired needs within realistic constraints such as realizability within a fixed computational environment.
Ability to identify, formulate, and solve basic level engineering problems using modern computational techniques.
Ability to communicate technical methods and results effectively.
Recognize the need for, and an ability to engage in life-long learning about computing.
Ability to use the techniques, skills, and modern engineering computation for engineering practice.
TOPICS COVERED
Course Introduction; Matlab Basics.
Matlab Arrays, Vectors, Matrices.
Control Structures.
Functions and writing MATLAB.
Data Structures and Classes.
Systems of Linear Equations.
Least-Squares.
Approximation by polynomials.
Internal representation of numbers.
Numerical Root.
Numerical Integration.
Numerical Differentiation.
Numerical Solution of ODEs.
Linear Recursion and Tree Recursion.
Sorting and Searching.
CLASS/LABORATORY SCHEDULE
Two hours of lecture, one hour of discussion, and four hours of laboratory per week.
CONTRIBUTION OF THE COURSE TO MEETING THE PROFESSIONAL COMPONENT
Engineering Science: 80%;
Engineering Design: 20%
RELATIONSHIP OF THE COURSE TO
ABET PROGRAM OUTCOMES
An ability to apply knowledge of mathematics, science, and engineering.
An ability to design a system, component, or process to meet desired
needs within realistic constraints such as economic,
environmental, social, political, ethical, health and
safety manufacturability, and sustainability.
An ability to identify, formulate, and solve engineering problems.
An ability to use the techniques, skills and modern engineering
tools necessary for engineering practice.
ASSESSMENT OF STUDENT PROGRESS TOWARD COURSE OBJECTIVES
PERSON(S) WHO PREPARED THIS
DESCRIPTION:
Sanjay Govindjee