||Computing for the Sciences
Computer Science 150 is an introduction to the field of computer
science geared towards students interested in the sciences. By the end
of this course you should have a good understanding of how to develop
(design, code, and debug) medium-sized programs in Python. You will
also have a working understanding of large data analysis and some of
the tools used in scientific computation, including Matlab.
We do not assume you have had any previous programming experience
for this course.
If you are not sure if this course is appropriate for you, I'm happy
to discuss it with you.
The following is a tentative schedule of the topics to be covered in
the course. The course web page will be updated with a more detailed
schedule of topics, readings, and assignments.
|1, 2||Programming and Python basics|
|6||Midterm exam, objects|
|12 ||Sorting, number representations|
Handouts, announcements, etc.
All handouts will be distributed on the course web page. This will
include code examples from class, assignments, and other
handouts. You are responsible for all material and announcements
posted on the class web page, so please check it regularly. For
time-critical announcements, I will use e-mail.
Except under extenuating circumstances or when otherwise specified, I
will not accept late assignments.
- Grade calculation:
- 30% Assignments/Labs
- 20% Test projects (10% + 10%)
- 15% Midterm
- 25% Final
- 5% Quizzes
- 5% Participation
- Assignments/Labs - Almost every week we will have a lab
assignment. Labs will ussually be on Fridays,
except in week 1 and week 9 they will be on
a Wedndesday. Before lab, you will be
required to do some preliminary lab preparation, which will be due at
the beginning of lab. The lab assignment will be started in
lab, but will often require significant additional time outside of
lab. The lab assignments will typically be due on Wednesday before
class starts. About 5-10% of the points for each assignment are
designated "extra points," providing extra challenges or opportunities
for your creativity. Note that these are not extra credit; that is,
in order to get a 100% assignment score, you'll have to earn these
extra points as well. Without any extra points you will earn at most an
A- on your assignment score.
- Test Projects - There will be two test projects during the semester,
tentatively in week 6 and week 11. These are open-book take-home programming
- Exams -
There will be one midterm and one final exam.
The midterm exam is scheduled for Tuesday, March 21, 7-9pm.
The final exam is scheduled for Thursday, May 18, 9am-noon, or Friday,
May 19, 9am-noon (you can attend either slot).
- Quizzes - With most classes I will post written problems,
usually from the book, to be done before the next class. The solutions to
all of the problems will also be provided along with the problems. You
will not hand in these problems, however, throughout the semester I
will give a number of short, in-class quizzes based on the assigned
problems. To prepare for these occasional unannounced quizzes you should always
work through the problems and compare your results with the solutions.
- Participation - Participation consists of attending class
regularly, attending all lab sessions (Friday classes) and of giving
evidence that you are actively engaged with the material
(asking/answering questions in lecture, coming to office hours, etc.).
Honor code and collaboration
I take the honor code and academic honesty very seriously.
You are encouraged to get together in small groups to discuss material
from the lectures and text. However, the work that you turn in must be
done independently, unless an assignment is explicitly designated as
one in which collaboration is allowed.
In particular, your work must not be based on information obtained
from sources other than those approved for the course (i.e., the text,
web pages linked from the course web page, and materials provided in
lecture). You should never copy another student's code or solutions,
exchange computer files, or share your code or solutions with anyone
else in the class until after an assignment is due. You may, however,
use any code that we provide to you or that comes from the textbook,
as long as you acknowledge the source. Additionally, the tutors are
allowed to help you with your code.
For the weekly assignments: you should be designing and coding
the labs on your own, with help from the tutors and instructors if
desired. You may get help from other non-TA students in order to
locate errors, but only errors of syntax, not errors of logic. Should
you be working with someone else to find an error, you may not provide
them with suggested code nor may you copy their code in your
program. You may point out similar examples from the text or lecture
For the two test projects: you should think of these as
take-home, open-book tests. As such, you may read your textbook, class
notes, and any other source approved by the instructor, but you may
not consult other sources (e.g., looking for code online). You may not
consult anyone other than the instructor. I encourage the asking of
questions, but reserve the right not to answer, just as you would
expect during an exam.
If you are working with others on an assignment, I suggest the
following procedure: spend as much time as you need working with
others to understand the problems. When you're ready to start on your
own take a break and then go back and write your programs without the
notes you used while working with the others. This will help ensure
that you follow both the letter and the spirit of the honor code.
If you are ever unsure about what constitutes acceptable
collaboration, please ask!
Computer use during class
Class will be held in a classroom with computers. You may use these
desktops (or your laptops) during lecture to take notes or to try out
examples. You may NOT use computers for anything else during
class (e-mail, IM, web browsing, games, etc.). Students who cannot
follow this rule will lose the privilege of computer use during class.
Students with documented disabilities who may need accommodations in
this class (e.g., extra time on exams) are encouraged to contact me as
early as possible to ensure that such accommodations are implemented
in a timely fashion. Assistance is available to eligible students
through the ADA Office. Please contact Jodi Litchfield, the ADA
Coordinator, at firstname.lastname@example.org or 802-443-5936 for more
information. All discussions will remain confidential.