COURSE DESCRIPTION
In this course students learn computer programming in a high-level programming language,
while using computer programming to explore mathematical concepts. Along with problem analysis,
algorithm development, and the integration of numerical and graphical computation in the
solution of problems, students use computer programming to explore a variety of mathematical
concepts such as recursion and mathematical induction, Euclidean algorithm, limits, convergence
of sequences and series, Monte Carlo simulation and estimation of probability using pseudorandom
number generators. Prerequisite or Corequisite: MTH202 or equivalent.
GENERAL COURSE GOALS
To have students:
- Learn and understand the nature of computer programming and its use in and relation to mathematics.
- Learn to use programming to gain insight into areas of application, especially mathematics, but also the physical and
life sciences, and economics.
- Appreciate the importance of computer programming in the development and advancement of human civilization.
- Learn the appropriate use of technology including how to use it and when to be skeptical of its results. Also to understand its
inherent limitations.
- Develop critical thinking and a basic understanding of logic essential for lifelong learning.
SPECIFIC COURSE LEARNING OUTCOMES
By successfully completing this course, students should be able to:
- Explain the notion of an algorithm.
- Explain and perform the process of designing and testing algorithms for the solution of problems, and translating the algorithms into MATLAB computer programs.
- Explain the various sources of error including those due to logic, syntax, finite precision, translations between decimal and binary number systems.
- Describe a rudimentary floating-point number system.
- Use MATLAB as an interactive computational environment and as a high level programming language with a thorough understanding of the MATLAB language.
- Use the MATLAB Desktop: Command, Directory, Workspace, and Editor/Debugger windows
- Use MATLAB scalar variables to perform simple arithmetic computations
- Use MATLAB strings
- Explain basic matrix and array computations (add, subtract, multiply, and solve square linear systems using MATLAB.)
- Write MATLAB scripts, which produce formatted output
- Plot functions, polygons, and histograms
- Write MATLAB scripts that use relational and logical operators in branches using if-else statements, and switch-case statements
- Explain operator precedence
- Recognize repetition in the solution of problems and mathematical formulas, and design algorithms and MATLAB scripts that employ for and while loops, and vectorization to handle the repetition.
- Use MATLAB's built-in functions and write their own functions
- Explain the notion of variable scope (i.e., local versus global)
- Explain how data is passed to MATLAB functions
- Design both iterative and recursive algorithms for problems, when possible.
- Implement recursive algorithms as recursive MATLAB functions.
- Employ proof by mathematical induction to "prove" the validity of recursive functions.
- Write MATLAB scripts and functions that estimate probabilities via simulation employing pseudo-random number generators
- Write MATLAB scripts and functions that estimate definite integrals via Monte Carlo simulations, and numerical quadrature
- Design MATLAB scripts and functions to explore mathematical conjectures inclduing those involving infinite sequences and series, and infinite products
- Understand the basic ideas behind computational efficiency.
- Explain and write programs to: solve of nonlinear systems, differentiate, numerically integrate, solve linear systems, and perform
various statistical computations, solve initial value problems.
- Explain computational complexity of linear and binary search algorithms (if time permits)
- Explain computational complexity of selected sorting algorithms (if time permits)
SUPPORT OF THE UNIVERSITY MISSION
This course supports the mission of the university as follows: "...through teaching ... prepares men and women for
responsible lives by imparting and expanding knowledge, developing skills, and cultivating enduring values.
... students develop their abilities for thinking clearly and creatively,
enhance their capacity for sound judgment, and prepare for the challenge of learning throughout their lives."
PREREQUISITES
MTH196 or equivalent (may be taken concurrently).
WHERE AND WHEN
- Secion 01 : Course meeting time/place: Tuesday and Thursday, 12:30 P.M. - 1:45 P.M. Location: O'Hare 219.
REQUIRED TEXTBOOK/SOFTWARE
RECOMMENDED MATERIALS
TEACHING METHODOLOGY
Lecture, question and answer, readings, homework exercises, in-class group activities.
GENERAL REMARKS AND ADVICE
This web site is designed to, among other things, make it clear what is expected from you and what you can expect from the
course and from me. This course will be challenging; it is fast-paced, it requires a great deal of meticulous attention to detail as well as imagination and creativity, and just about everything in it depends
on your understanding of everything else in the course that preceded it. Nevertheless, if you work hard,
do not allow yourself to fall behind, and seek help when you need it, you should be successful in this course.
Reading assignments and homework problems for nearly each class meeting are posted on the course web site.
It is your responsibility to check the web site frequently (i.e., at least once a day) for the homework.
It is extremely important that you complete the reading assignments and try the homework problems before the following class meeting.
Click
to send me email.
Last modified: 1/21/2020
|