Syllabus Jan. 9, 2006 Math 2160-1 Introduction to Scientific Computing Using C MWF 12:55-1:45 in LCB 115 Web page: http://www.math.utah.edu/~treiberg/M2160.html (Official updates of the syllabus and homework assignments will be available here.) Instructor: A. Treibergs, JWB 224, 581-8350. E-mail: treiberg@math.utah.edu. Office Hrs: 11:45-12:45 MWF (tent.) & by appointment. Prereq: Calculus Math 1210 or consent of instructor. Text: There is no text. You will be able to find the assigned reading materials on line, in the math library and in your old calculus book. Students should have some C reference and should be learning how to read it to find solutions to their programming problems. The material on line will have samples of the types of program you will be asked to write, but it is not a general enough source to help you deal with all the difficulties you will encounter. Useful texts: B.W. Kernighan, D.M. Ritchie, The C Programming Language, Prentice Hall, Second Edition, 1988. (The ultimate reference. Has beginning examples as well as a complete description of C and its use.) S. Oualline, Practical C Programming, O'Reilly & Associates, Inc., Third Edition, 1997. (Detailed and opinionated. Mostly about programming issues but not about algorithms.) D. Etter, Introduction to ANSI C for scientists and engineers, Prentice Hall, 1995. Lots of examples solving simple numerical problems. Only the basics. R. Rothenberg, BASIC computing for calculus, Mc Graw Hill, 1985. This book covers almost all of the calculus algorithms we discuss in class. Many programs are presented that sum series, find zeros, do quadrature and so on. Would be an appropriate text for our class except that the programs are written in BASIC instead of C. However, one programming language is not much different than another. D. Barnard, D. Skillicom, Effective FORTRAN 77 for Engineers and Scientists, 2nd ed., Wm. C. Brown Publishers, 1992. Many calculus algorithms and Gaussian Elimination. Lots of physical applications. But not in C. P. Perry, Crash course in C, Que Corporation, 1995. My favorite pocket reference. Many examples and useful information. Not a lot of crap about technicalities of programming. M. McGrath, C Programming in Easy Steps, Barnes & Noble Books, orig. pub. Computer Step, 2004. No nonsense full color description of the essentials. Price is right. D. Varberg, E. Purcell, S. Rigdon, Calculus, Prentice Hall, 2000. The calculus text used at Utah for years. Programs will sometimes be based on mathematical theorems. You will occasionally be asked to write the mathematical justification behind your program. Grading: There will be seven assignments during the semester in regular intervals. They will be posted on this web page. You will have two weeks to do your solutions and e-mail them to me. Your grade will be based on your work in solving these assignments. Credit will be given only for programs that run correctly. E-mail the solutions of your assignments to treiberg@math.utah.edu. The solutions should be plain text files containing source code of your programs and your explanation. Any format supported by the lab machines is acceptable. If you use your home computer be sure that the messages are not in some proprietary encoding which is unreadable on UNIX systems in the lab. I'll refuse to accept such solutions. If in doubt check with me in the lab. Tutoring Free tutoring is available in the Rushing Mathematics Center, located between JWB and LCB. Hours M-Th 8:00 am - 8:00 PM, Fri 8:00 am-6: 00 PM, starting Jan. 17. However most tutors will only be able to help you with the calculus, but not the programming. Information for the center is at http://www.math.utah.edu/ugrad/mathcenter.html Withdrawals:Last day to drop a class is Jan. 18. Until Mar. 3, you can withdraw from the class with no approval at all. After that date you must petition your dean's office to be allowed to withdraw. ADA: The Americans with Disability Act requires that reasonable accommodations be provided for students with cognitive, systemic, learning and psychiatric disabilities. Please contact me at the beginning of the term to discuss any such accommodations you may require for this course. Content: The objective of this class is to learn to use the computer as a tool for thinking about and solving mathematics problems. We will use the C programming language. The programming notions will be discussed as they are needed in mathematical applications. The following mathematical topics will be covered: Summation of infinite series and limits; Elementary number theory (checking primality, factorization, Euclid's algorithm); Finding zeros of functions (bisection method, Newton's method); Numerical integration (Riemann sums, trapezoid method, Simpson's method); Matrices and linear algebra (solving linear systems - Gauss elimination, finding inverses, calculation of determinants, Cramer's rule); Various geometric problems (as illustrations of using structures and functions in C).