Pre-requisite
(with Min. Grades): Undergraduate Math sequence
Who
may receive credit for this course: Required course for Chemical Engineering
students
Date
of first offering of course: Fall 2008
Textbook:
“Essential MATLAB for Engineers and Scientists
“, B.D. Hahn and D.T. Valentine, 3rd edition,
(Newnes/Elsevier, 2007). ISBN-13 978-0750684170.
Course (catalog) description:
CS 3113
Engineering Programming and Computing 2.5 : 0 : 0.5 : 3
This is an introductory course in
computer programming and engineering computing for third and fourth year undergraduate students in the Chemical
Engineering program who have no prior experience in programming in any
languages. The course covers the fundamentals of computer programming and its
underlying principles using the Matlab programming language. Concepts and methods introduced in the course
is illustrated by examples drawn from the Engineering discipline.
Lectures/recitation
(lab):
meets twice a week for a total of 3 hours including a 0.5 hour
recitation (lab).
Course
Objectives:
1) Knowledge of fundamental programming concepts and
structures in MATLAB.
2) Ability to formulate solutions to
problems and write programs to be run in MATLAB.
3) Numerical methods appied to
engineering problems.
Topics covered (Tentative):
Week 1 – Introduction to MATLAB
Week 2 – Using Build-in Functions,
Vectors and Arrays
Week 3 – Program Execution Controls
Week 4 – User-Defined Functions
Week 5 – Cell Arrays and Structures
Week 6 – Matrices
Week 7 – Solving Simultaneous Linear
Equations and Midterm Examination
Week 8 – Numerical Quadrature
Week 9 – Numerical Differentiation
Week 10 – Linear Least Squares Problems
Week 11 – Interpolation
Week 12 – Nonlinear Equations
Week 13 – Initial Value Problems for
Ordinary Differential Equations
ABET Competencies: This course addresses the following ABET
competencies :
a) Students learn fundamental computer programming concepts
and structures.
e) Students identify, formulate, and solve engineering
problems.
Instructor: Prof. K. Ming Leung
Personal Website:
http://cis.poly.edu/~mleung/
Email: mleung@duke.poly.edu
Office:
LC127
Phone:
718-260-3380
Office Hours:
Policy on Collaboration on Assignments: http://www.poly.edu/cis/policies/collaboration/index.php
Lecture Notes:
·
Preface Hahn\Lectures\lect00_preface.ppt
·
Introduction Hahn\Lectures\lect01_introduction.ppt
·
MATLAB Fundamentals Hahn\Lectures\lect02_matlab_fundamentals.ppt
·
Creating m-files Hahn\Lectures\lect03_creating_m-files.ppt
·
Program Plan, Design, and Sturcture Hahn\Lectures\lect04_structure_plan.ppt
·
Input and Output Hahn\Lectures\lect05_input_and_output.ppt
·
MATLAB Built-in Functions Hahn\Lectures\lect06_matlab_functions.ppt
·
Debugging and Data Import and Export Hahn\Lectures\lect07_debugging_code_&_data_import_export.ppt
·
Logical Operations Hahn\Lectures\lect08_logical_operations.ppt
·
2D Plotting Hahn\Lectures\lect09_plotting_in_2d.ppt
·
Ploting and Curve Fitting Hahn\Lectures\lect10_2d_plotting_&_curve_fitting.ppt
·
Loops for Repetivie Computations Hahn\Lectures\lect11_loops_for_repetitive_computations.ppt
·
More Loops Hahn\Lectures\lect12_another_loop_for_repetition.ppt
·
Decision/Branching Structures Hahn\Lectures\lect13_decision_structures.ppt
·
User-Defined Functions Hahn\Lectures\lect14_user-defined_functions.ppt
·
Practice and Exploration Hahn\Lectures\lect15_practice_&_exploration.ppt
·
Symbolic Mathematics Hahn\Lectures\lect16_symbolic_mathematics.ppt
Lecture materials:
A
list of MATLAB topics to be discussed: MATLAB_topics.docx
History
file for September 3: history090308.m
History
file for September 10: history091008.m
History
file for September 15: history091508.m
History
file for September 17: history091708.m
History
file for September 22: history092208.m
History
file for September 24: history092408.m
History
file for October 1: history100108.m
Monte
Carlo simulation to compute the value of pi: mc.m (code), MC.txt (explanation)
Program
to check the precedence rule for * and .*: precedenceMultiply.m
Generating
uniformly distributed random integers: RandIntegers.m
Logical
Indexing: logicalIndexing.m
Reminder
that most real numbers cannot be represented exactly on a computer: reciprocal.m
Example
of using string variables: string1.m
Testing
the If-structure: testIf.m
Example
of a nested loop: computing the exponential function (using a dumber way): computeExpDumber.m
Example
of a nested loop: computing the exponential function (using a dumb way): computeExpDumb.m
Example
of a nested loop: computing the exponential function (using a better way): computeExp.m
User-defined
functions: functions.pdf
Using
the bisection method to find a root of a function: bisectionF.m
bisectionFtest.m
Solving
and ODE, a catalytic reaction: CatalyticReaction.m
WalterIvp_s_ming.doc
Example
of a stiff ODE in Chemical Engineering: stiffFcn.m StiffFcnTest.m WalterIvp_s_ming.doc
Another
example of a stiff ODE: stiffFcn2.m testStiff2.m
String
variables and string functions: strings.m
Multidimensional
arrays: multiDimensionArrays.m
Numerical
differentiation (forward differencing): derivative1f.m
forwardDiffF.m
Producing
publication quality graphs: PublicationGraphics.m
Save the resulting graph as a pdf file
to get: PublicationGraphics.pdf
DNA
pattern match with allowed errors: DnaPatternMatching.m
A function read a gene sequence from a
text file: readStringFromTextFile.m
4 DNA samples: sd1.dna
sd2.dna sd3.dna sd4.dna
Dozer gene: dozer.dna
Grading Scheme: HW (20%) + 1st Midterm (20%) + 2nd
Midterm (20%) + Final (40%)
Exam Schedule:
·
1st
Midterm: October 22
·
2nd
Midterm: November 19
Exam 1 solutions:
Exam 2 solution:
Main
program - onePointCrossOver.m
Functions
- randomDNA_.m
RandIntegers_.m onePointCrossOver_.m
Our 11/24 lecture will be moved to 12/8 (reading day)
Topics for the Final Examination:
Homework Assignments:
o HW01 (due September 15) CS3113f08HW01.pdf
o Solutions:
cs3113f08HW01P01.m, cs3113f08HW01P02.m, cs3113f08HW01P03.m,
cs3113f08HW01P04.m
o HW02 (due October 1) CS3113f08HW02.pdf
o Solutions:
cs3113f08HW02P01.m, cs3113f08HW02P02.m, cs3113f08HW02P03.m
o HW03 (due October 6) CS3113f08HW03.pdf
o Solution:
Cartesian2Polar.m
o HW04 (due October 15) CS3113f08HW04.pdf
o
Solution: computeSin3.m
o
HW05
(due November 5) CS3113f08HW05.pdf
o
Solution: cs3113f08HW05.m GoldenSectionF.m fcnFile.m