A321/A521: Computing Tools for Scientific Research

Spring 2009
A321, Section 13617
A521, Section 13619
9:30 - 10:45 PM, Monday and Wednesday
115 Lindley Hall

Quick Links:


General Information

Instructors:

Prerequisites:

Ability to create and edit text files on a computer, and how to bundle up multiple files into a transportable blob (e.g., zip, pk7zip, etc.) Knowing how data on a computer is laid out in directories and file. A knowledge of linear algebra is helpful, enough to know what matrices and vectors are and how to apply basic operations on them.

Textbooks:

Listed on the course syllabus page

Office Hours:

  • Watch for announcements of changes in those hours in class or in the course WWWboard page. Because I travel a great deal, it will often be necessary to shift those times around. You can always make an appointment to meet with me at another day or time.
  • Computer Accounts:

    You need to get access to Matlab on some system (Windows, Mac, Unix). If you don't have ready access, you can run it on some UITS systems. Unfortunately, those are Unix platforms. Use the UITS accounts system. and see the IU Knowledge Base if you have any questions about passwords or getting your account started.

    You don't have to physically sit at the console of those machines, and should login to them remotely via ssh, which provides for secure login and file transfer. ssh is available (through UITS's IUWare) for Windows platforms and is on all IU Unix machines. If you use a Windows PC and need to run Matlab on a remote Unix system, try the xliveCD system. Or see the more detailed instructions on how to run Matlab on a remote machine.

    Matlab is the main system in the course. It is a VHL that provides interactive computation and graphing capabilities. Using Matlab from it's GUI should be the same regardless of platform used (Mac, Windows, Unix).

    If your lab or research group has other machines, use them as well - in the long run, those are the machines you want to learn how to use effectively.


    Class Web Board

    This class will use the WWWBoard mechanism. The class home page is accessible from anywhere on the Internet, using your UITS network password. The message board will be used to post announcements, assignments, corrections, and exceptions to office hours. Use it to post questions related to the course or share related information with the class. You are responsible for checking it frequently, since any changes or corrections to assignments will appear there if not in class. A good policy is to check it before starting on any assignment, and daily or via RSS in general. Another good policy is to use it for any question where you are unsure about attribution. The RSS feed is updated hourly.

    Grading Policies

    Grades are based on a set of projects. The final exam will also consist of a programming project.
    Grading percentages: each assignment will vary in how mnay points it is worth, according to the relative time or difficulty associated with it. In general, I will try to give you an estimate of time it would take you to do the project. If you find yourself spending significantly more, contact me or Cherry. Chances are that (in a current Web meme) you are doing it wrong, and further time without a hint or help would be wasted.

    Attribution of Work

    You can get away with virtually any lifting or scavenging of material, provided that you cite the source. If your citation is "I copied another student's write-up" then you may not get many points on the assignment, but at least you won't be expelled for plagiarism. More to the point, you will likely be given a closely related problem to try on your own. Using the Web board is an acceptable way to seek or give help - it's public to the entire class and hence the questions and answers are available to everyone. Just about anything that occurs there does not constitute cheating or plagiarism. If someone is giving away the candy store I'll contact that person privately. So feel free to post answers as well, if you have them. The class has a wide range of people with a wide range of expertise, and it's likely you will have some specific knowledge about a question or topic that most of the others don't have.

    Leveraging the existing base of tools, software, knowledge, and earlier explorations is the only practical way to carry out science and engineering via computational methods. Anyone who feels otherwise should think about writing their own C++ compiler, designing their own floating point units, and to heat up a soldering iron to wire together their own disk array. The distinction between plagiarism and leveraging is citation. If in doubt, ask me. If I am not available, then give a citation for any material or help you have received or given.


    Changes to this page:
    1. Initialized, 12-Jan-2009
    2. Updated 21-Jan-2009, to rephrase some things.
    3. Updated 05 Feb 2009, to include link to RSS feed.