As a crash course on scientific computing that uses learning by example, this course requires extensive hands-on practice. You are expected to follow the schedule outlined below on a weekly basis starting from the very first week: * Attend the lecture * Review the material covered in lecture; in particular, create, compile, run, and test all programs and explore modifying them. * Do the assigned lab exercises. Test your programs thoroughly. * If you have problems with the concepts and/or the lab exercise, use the //Forum// to discuss the problem with others. * You are also encouraged to answer questions posed by others on our //Forum//. Doing so sharpens your ability to make a point or critique one. * Go to your lab session and discuss any pending issue with your TA. * When you feel that your solution to the lab exercises is 100% complete, make sure you save it so that you can reuse it during the labtest. Modifying an existing program is a lot faster than starting from scratch. Furthermore, some labtest questions are **based directly** on the lab exercises.