The objective of this course is for you to become familiar with topics and ideas
of fundamental importance in numerical analysis and scientific computing. In particular, my goal is for you to have the following skills
at the end of the course:
To be able to design an efficient algorithm for solving a given problem that
takes advantage of any special structure that the problem has.
To be able to write clear, efficient Matlab code to implement your algorithm.
To think about and design algorithms with vector and matrix operations in mind.
To be familiar with some useful Matlab functions.
To be able to think about error and stability in your algorithms.
To be familiar with important computational problems that arise in science and engineering.
You will be expected to attend lecture, do the assigned reading, submit weekly
assignments (larger programming projects) and short exercises (4 or 5 small, one-day
exercises.) There will be 6 assignments, each weighted equally towards
your final grade.
Assignments will be graded on correctness\completeness, efficiency, and on style. Style includes such
things as comments, spacing and indentation, and efficiency includes proper
memory management and vectorization of code.
You are encouraged to discuss the assignments and exercises with your classmates but the work
you ultimately submit must be your own (or your own and your partners - see Academic Integrity, below, for more
details). You may work with a partner to complete the assignments (but not
the exercises). If you work with a partner, you should submit only one
copy of your assignment with both of your names.
There will be an in-class midterm and a final exam.
Additionally, there will be occasional, short quizzes given in class which may
or may not be announced ahead of time. Each short quiz will count
the same as a one-day exercise.
Assignments and exercises will be collected at the beginning of lecture (1:00) and will
be considered late after the end of lecture (2:15). If you come in late, please hand in your
work at the end of lecture - it will be considered "on time". Assignments submitted after the end of lecture but before 5 pm on the day
they are due will receive a 25% penalty. No assignments will be accepted after 5 pm on
the day they are due. No late exercises will be accepted.
Your grade will be determined in the following manner:
| Assignments || 35% |
| Exercises and quizzes || 10% |
| Midterm || 25% |
| Final || 30% |
Regrades: You have one week from the time an assignment or exam is returned
to you in which to request a regrade. To request a regrade you must write
clearly your reason for the request, attach this to your work, and give it to
Jay or Gun.
You should submit a regrade request only if you believe a mistake was made in the grading of your assignment, not just because you want more points.
You must read Cornell's CODE OF ACADEMIC INTEGRITY
as well as the COMPUTER SCIENCE ADDENDUM.
For emphasis, I have included an excerpt from the COMPUTER SCIENCE ADDENDUM below:
"Unless otherwise specified by the individual professor, the work you do in Computer Science courses is expected to be the result of your
individual effort - the use of a computer in no way modifies the normal standards of the above Code. You may discuss work with other
students, and give or receive "consulting" help from other students, but such permissible cooperation should never involve one student
having in his or her possession a copy of all or part of another student's assignment - regardless of whether that copy is on paper, on a
computer disk, or in a computer file. This implies that there is no legitimate reason to send a copy of a program from one computer account
to another, or to be logged-on to another student's account.
Discussion of general strategy or algorithms is permissible, but you may not collaborate in the detailed development or actual writing of an
assignment. It is also your responsibility to protect your work from unauthorized access. It is inadvisable to discard copies of your programs
in public places. This applies to both hand-written and programming assignments.
The penalty for any violation of this Code in Computer Science courses may be failure in the course. This includes collaboration, providing a
copy, or accepting a copy of work that is expected to be individual effort."