Sie sind auf Seite 1von 7

AMATH 301 - Beginning Scientic Computing

Syllabus Summer 2012

Course: Class time: Website:

Discussion board:

MWThF 2:20-3:20pm in LOEW 216 Log in with your NetID. The course should appear in your account. You will nd there: textbook videos of the lectures sample codes used in class homework assignments reading assignments course announcements You should all have an invitation email in your uw email. The purpose of this board is for students to interact with each other.

Instructor: Ying Zhou (Joy) Oce Hours: Oce Hours: (Video conference with EDGE students) M W 3:20pm4:15pm. Period A 6/187/19: T: 9:30am 11:30am (ICL B027) W: 10:30am 12:30pm (ICL B027) Th: 10am 12pm (ICL B027); Fri: 1pm2pm (ICL B027) Th: 4pm5pm (Video conference with EDGE students) F: 3pm5pm (Video conference with EDGE students) Period B 7/208/16: T: 9:30am 11:30am (ICL B027) W: 3:30pm4:50pm (ICL B027) Th: 10am12pm (ICL B027), F: 9:30am10:30am in ICL (B027) Th: 4pm5pm (Video conference with EDGE students) F: 3pm5pm (Video conference with EDGE students) Teaching Assistant: Panu Sam-ang

No-email policy
We dont answer homework-related or debugging-related questions over email. The reason is simple: this is a programming class, we cant be of much help over email! I usually go over homework set-ups very thoroughly in class, and the classes are video-taped. You can also come to our numerous oce hours, or ask your peers on the discussion board. By choosing not to be an email slave, I will have more time to invest in course materials.

The textbook is a pdf le named 301 Textbook. It is downloadable from the Moodle page. Please download it soon. Remember that, when you have questions about the course material, you can use the searchable feature of PDF by ctrl-F in Windows or command-F in Mac. 1

Course Description
This course will provide an introduction to scientic computing. Various computational approaches commonly used to solve mathematical problems (including systems of linear equations, curve tting, integration, and dierential equations) will be presented. Both the theory and implementation of each numerical method will be demonstrated. MATLAB will be used as the primary environment for numerical computation. An overview of MATLABs syntax, code structure, and algorithms will be given.

Course Outline
Below is an outline of the topics that we aim to cover in class. 1. Matlab Introduction: Programming Algorithms, Architecture and Visualization - Introduction to MATLAB: Matrices and Vectors - MATLAB Logic, Loops and Iterations - Plotting and Saving Data - Subroutines and Function Calls - Visualization: Advanced 2D Plotting, Advanced 3D Plotting, Movies and Animation 2. Solving Linear Systems - LU Decomposition - Iterative Methods for Linear Systems - Eigenvalue Problems 3. Curve Fitting, Interpolation, Splines - Least Squares Fitting - Polynomial Fitting and Splines - Implementation of Curve Fitting 4. Numerical Dierentiation and Integration - Numerical Dierentiation - Numerical Integration or Quadrature - Implementation of Dierentiation and Integration 5. Dierential Equations, Ordinary Dierential Equations (ODEs) - Initial Value Problems: Basic Time-Stepping Schemes - Error Analysis for Time-Stepping - The Dynamical Systems Approach to ODEs - Two Point Boundary Value Problems: Shooting Method - Implementing Shooting - Two Point Boundary Value Problems: Direct Method - Implementing the Direct Solve

Homework: Homework assignments are assigned roughly weekly, and are downloadable from the moodle page with due dates marked in the assignments. Homework will be submitted and graded on-line by You have up to ve (5) ocial attempts to submit per homework to get everything correct. Your best score for each homework will be your recorded grade (i.e. there is no penalty for correcting and resubmitting). Homework will generally be due on Monday 3am PST, at least for the weeks before the midterm. Homeworks and oce hours are assigned and scheduled with the expectation that you should be able to nish your homework by Friday morning. Absolutely no late homework accepted the machines will make sure about that. Automatic Cheating Detection: Note that Scorelator checks your answers and compares (anti-cheat) your code against the codes of others in your section, in the other section, and all past years. Protect your code very carefully. If your code is found to be extremely similar to someone elses, and therefore triggers Scorelators alert, youll both (or all) be assumed to have cheated, no matter who is the copier and who is the source. Scorelator-specic rules: Make sure your code runs before submitting it. The reason is simple: 5 attempts is not that many, so you dont wanna use Scorelator as a debugger. Also, if anyone submits a code that runs forever (for example, it contains an innite loop), that person fails that homework with no dispute. There is a $20 required fee for Scorelator and its associated computational notebook. Remember to pay that in time. Failure to do so will cause innite trouble. Common Scorelator-related submission trouble: DO NOT use Safari to submit your homework. Use Firefox or Internet Explorer instead. DO NOT use the ASLAB terminal server to submit your homework. DO NOT type extra space in your login information. Remember to include all les in your submission. Exams: There will be one mid-term exam (Jul 20), and one nal exam (Aug 17). These are take-home exams. The exams are posted and graded essentially the same way as homeworks, but you cannot communicate with any other living person about the exam contents while taking the exam. Grade: Your nal grade will consist of 30% of homework grades, 30% of mid-term exam grade, and 40% of nal exam grade. Your lowest homework grade will be dropped. This is meant to factor in unexpected events. Therefore we dont give extensions or make-ups for homeworks.

Strongly recommended: purchase a student version of MATLAB. Available from the University Bookstore or online at for $100. We will have hands-on practice sessions in class. The best way to follow these lectures is to bring your own laptop equipped with MATLAB. If you are really on a pinch: there is MATLAB access at the ICL lab on campus in the Communications building room B022. You can also access this lab remotely by following the directions under the terminal server link. NOTE: the ICL only has licenses for 40 simultaneous MATLAB users. Thus, the terminal may be busy for hours at a time. If you dont have a laptop: Find your MATLAB lab buddies who have laptops, so that you can work together during in-class practice sessions.

Instructor Expectations
Even if there are videos, show up in class if you are in the on-campus session. Follow the lectures and lab hours. If you dont catch something, or have trouble swallowing some material, ask immediately. Dont fall behind! Its very hard to catch up once you are behind. If you are behind, you need to make extra eorts to catch up.

Checklist for logistics

Purchase MATLAB (strongly recommended), or get familiar with ASLAB terminal. If you use ASLAB terminal, you might need to download an app, depending on your operating system. Log in to Moodle page. Make sure the class page is in your account. If rst time Moodle user, get familiar with Moodle features. Download textbook 301 Textbook.pdf from the Moodle page. Respond to Piazza invitation and sign up in Piazza. Learn to use Piazza features. Mark the oce hours on your calendars. They are very scattered in terms of time, location, and audience. (EDGE students) Go to to watch their tutorial videos. You will be able to download their app once the rst meeting link is posted on Piazza. After the rst class, go to Moodle and nd the video of the lecture. Download Silverlight plug-in upon prompt to view the videos. Learn to use Silverlight features such as switching windows, preview, etc. It might take a couple of hours for the videos to be posted. Go to to read their Student Guide. That gives you an idea of their interface. At some point, you will get an email from Scorelator. That usually happens after the 1st week when the class list is nalized. Follow the instructions in the email and log in to Scorelator. (You might need to install the proper web browser rst).

Oce Hour Lab Rules

We try to make things more ecient and fair to everyone by implementing the following rules. You can also understand them as How to Get Help Eciently in the Lab. These rules are written for the ICL lab. For video conferences with EDGE students, most of the rules carry over. Your homework is your responsibility, not any one elses. We are here to teach you how to program and debug, but we dont program or debug for you. Ask specic questions. In a crowded lab where everyone is more or less frustrated with bugs, communication matters a lot. The key to getting your problem solved is to ask questions in a smart way. Example 1 (bad example): Hi, could you explain problem 3 to me? (This is too vague. Did you read the problem yourself? If you did, you must have some idea what it is. Try to work it out on paper, then youll be able to identify the specic questions you want to ask your TA. That saves you time!) Example 1 (good example): Im working on problem number 2 on homework 3. Heres the printed sheet of homework 3 (point to the problem you are working on). Im having trouble understanding what this matrix Im supposed to dene really is. I tried to write down the diagonal elements rst, but Im confused with the subdiagonal elements. Could you please explain that a bit? Example 2 (bad example): Hi, my MATLAB says theres an error./Hi, my code is not working. (First of all, this is not even a question its merely a statement! Secondly, your TA isnt responsible for doing your homework. Did you look at the error yourself? If you did, you must have some idea what is error is about. Common errors are explained in the lectures. We will also teach you common tricks to debug your code, including how to understand the error message, how to peek into your MATLAB workspace, and how to use Google to nd your answer quickly. Try these rst. Then youll be able to ask better questions.) Example 2 (good example): MATLAB is saying that I have a dimension mismatch problem when I try to multiply two matrices. I looked at the line that causes the trouble (yes, MATLAB gives you an link to the line thats problematic). I realized that the two matrices Im trying to multiply have dimensions (1,3) and (2,3). Thats not what I want. I suspect the problem started when I dened this matrix by using the command spdiags. I read the MATLAB help le about spdiags, but Im still a bit lost about what it does. Could you explain that to me, maybe on the white board or on this piece of paper? If you ask questions that resemble the bad examples above, your TA will suggest ways for you to do some homework yourself, including but not limited to: - reading the textbook - going over lecture videos - read something on the white board that he just wrote down to explain things - try debugging yourself - Google and come back after you have better questions to ask. Mini lectures. The TA might ask around if someone else have the same questions you are asking, and explain it to a group of students instead of just to you. That saves everyone time. 6

Discuss, but not copy. Its ok to discuss homework problems with your pals. It is certainly encouraged to discuss lecture materials you have trouble swallowing. As long as you are not copying or letting someone copy codes, its ne. Five minutes rule. This rule is to make it fair for everyone. After ve minutes of helping you, your TA might suggest that you have some homework to do by yourself, which should keep you busy for a while, and leave to help the next student in queue. One example situation is where youve xed a bug, and you ran again, but now you found a new bug. First come, rst serve. The TA will carry sign-up sheets, so that students who need help can form a queue on paper by writing down their names. Leave the precious white board space to explaining things.