COMP 108: Introduction to Scientific Computing

Instructor: Nathan Sprague
nsprague{at}kzoo{dot}edu
Office Hours: http://www.cs.kzoo.edu/~nsprague/schedule.html
Class Home Page: http://www.cs.kzoo.edu/cs108/

Course Description:

Over the past several decades advances in computation have fundamentally changed the practice of scientific research. Computational models of complex systems allow experimenters to ask and answer questions that would be difficult or impossible to address using traditional laboratory methods. In addition, advances in laboratory technology have led to an explosion in the amount of experimental data available to researchers. Making sense of these data increasingly requires sophisticated computational approaches.

The purpose of this course is to give students an introduction to the field of computer science with an emphasis on scientific modeling and data analysis. The course will provide an introduction to computer programming in both Matlab and C/C++. We will discuss fundamental computer science topics including the limits of computation and algorithm analysis. We will also cover a selection of topics relevant to scientific research, including data visualization, representation of numbers, and random number generation. Course work will include programming projects, homework assignments and exams. Students will be required to complete a final programming project on a topic of their choice. This course requires no previous programming experience. There is no formal math prerequisite, but students should be comfortable working with basic mathematical notation.


Required Texts:


Tentative Schedule:

A tentative course schedule including lecture topics and assignment due dates is available on the web at http://max.cs.kzoo.edu/cs108/schedule.shtml. This schedule will be updated frequently as the quarter progresses.


Attendance:

Regular attendance is expected of all students. Since your grade will be partially based on in-class projects and occasional quizzes, your attendance will affect your grade.

Collaboration and the Honor System:

This course operates in accordance with the principles of the Kalamazoo College Honor System: responsibility for personal behavior, independent thought, respect for others, and environmental responsibility. In particular, academic integrity is a fundamental principle of scholarship. Representing someone else's work as your own, in any form, constitutes academic dishonesty. Unauthorized collaboration and receiving help from others outside the bounds permitted by the instructor are also violations of the College honor code. You are responsible for working within the permitted bounds, and acknowledging any help from others or contributions from other sources. Violations of the honor code may result in severe consequences including failure of the course or expulsion from the college.

Assignments and Grading:

Grading will be based on in-class projects, two programming projects, homework assignments, two exams, and a final project.  All assignments are due at the beginning of class.  Late assignments will not be accepted. In recognition of the fact that life is full of unexpected hurdles, you may use three "late days" which can be applied to any project or homework assignment with the exception of the final project.  The use of a late day allows you to submit an assignment before the start of the next class session for full credit. 

In-Class Projects:
Many class periods will be structured as "mini-labs". On mini-lab days there will be a short lecture, followed by an in-class project that may be completed individually or in groups of two. I will attempt to structure the mini-labs so that it will be possible to complete them during the class period. However if you do not finish a project during class, it will be your responsibility to complete it before the next class period.

Projects:
There will be two programming projects assigned over the course of the quarter. Each project will involve writing a program to solve a modeling or data analysis problem. Each project submission will be accompanied by a short report that provides an analysis of the results including appropriate figures.   You may do projects individually or in groups of two.   If you work with a partner, only one report is required.  You are welcome to discuss projects with other class members at a conceptual level, but all code and data should be your own.  Any outside help received should be documented in your report.

Final Project:
In addition to the two assigned projects there will be a final project on a topic of your choice.   Final project proposals will be due at the beginning of week seven.   The final project grade will be based on a written report and a brief presentation during the final exam period.   You may work with a partner on your final project.

Homework Assignments:
There will be approximately six homework assignments.  You may discuss homework problems with classmates, but the final submission should be in your own words and based on your own understanding of the material.

Exams:
There will be two non-cumulative exams.  Questions on the exams may be based on lectures, readings, or homework assignments.

Final grades will be based on:

Any student with a disability who needs an accommodation or other assistance in this course should make an appointment to speak with me as soon as possible.



This page is maintained by Nathan Sprague (nsprague{at}kzoo{dot}edu)
This page was last modified on  September 26, 2007 4:21 PM.

Official Kalamazoo College Disclaimer