|
CS 112
Course Information |
|
CS112 is an
introduction to computer programming that provides valuable skills that will allow
you to use computers effectively in scientific work, including in the natural
and physical sciences, biological sciences, medicine, mathematics, psychology, and
economics. You will learn to write software to solve problems, visualize
and analyze data, perform computer simulations, and implement and test
computational models that arise in a wide range of scientific disciplines. The
course introduces MATLAB, a powerful and widely used technical computing
environment with advanced graphics, visualization and analysis tools, and a
rich high-level programming language.
More specifically, you will learn computer programming skills that are valuable for carrying out computational tasks such as the following:
|
|
Why Learn MATLAB?
|
Prerequisites: None. No prior programming experience is
expected.
Distribution Credit: Students can receive Mathematical
Modeling distribution credit for one 100-level Computer Science course: CS110,
CS111, CS112, CS199
Units: 1.0
| Instructor | Office | Phone | Office Hours | |
| Lecturer: Ellen Hildreth |
SCI E112 | x3025 | ehildreth@wellesley.edu | Tues/Weds/Thurs/Fri 11:00-1:30 |
Lab Instructor: Sohie Lee |
SCI E127 | x3123 | slee@wellesley.edu | Tuesday, 1:30-2:30 Thursday, 10:30-12:00 |
Feel free to come to either of us for help. Faculty meetings and seminars sometimes conflict with scheduled office hours, so we will keep you informed each week about changes in our office hours.
Sharon Kotz will be the tutor for CS112 this spring. Sharon will hold weekly drop-in hours on Thursday evenings from 6-8pm in room SCI 160A, starting the second week of the semester.
There are two 70-minute lectures each week on
Tuesday/Friday at
The following required textbook is available at the Wellesley College Bookstore:
|
Kaplan, Daniel T. |
|
A copy of the textbook and additional books on MATLAB are available in SCI 160A, including the following reference book:
Hanselman, Duane & Littlefield, Bruce (2005) Mastering MATLAB 7.
Please do not remove any books from SCI 160A!
Your final grade will be based on a weighted average of the following components:
|
Assignments |
40% |
|
Participation |
5% |
|
Exam 1 (in class) |
20% |
|
Exam 2 (in class) |
20% |
|
Final Project |
15% |
All
submitted work will be counted toward your final grade.
There will be two in-class exams, both open book and open notes, scheduled on the following dates:
Exam 1: Friday, February 29Please mark these dates in your calendar, and let us know as soon as
possible if you have a scheduling conflict. There will be no final exam in this course.
Weekly
assignments will help you develop a working knowledge of the concepts presented
in class. Assignments will typically be distributed in Lab on Wednesday and due
on Friday of the following week, and will include exercises that you will begin
in Lab, as well as extended programming problems. Some assignments will also
include questions about MATLAB that you will explore through online and print
documentation sources. Assignment handouts will be posted in the course syllabus. You should always submit both a hardcopy of
your assignment solutions and a softcopy (i.e., electronic copy) of all of your
code to the appropriate drop folder. More detailed instructions for submitting
assignments will be presented in Lab and included on each assignment.
Many of
the extended programming problems will be challenging. Please keep in mind that
programming often consumes more time than you think it will. Start your
assignments early so that you have time to think about the problems and ask
questions if you hit an impasse. Also keep in mind that computers and networks
do break down, and you may sometimes need to wait for available computers or an
available copy of the MATLAB software. Please plan accordingly!
During the last few weeks of the semester, you will have the opportunity to work on an extended, individualized programming project in an area of interest to you. After choosing an interesting application or problem, you will design and build a substantial MATLAB program from scratch. This project will enable you to integrate all of the programming and problem-solving skills that you have learned, and to build a program that is connected to your particular interests in the sciences. During the last lab class of the semester, each student will give a short presentation about her project. The final project will be due at the end of the Final Exam period.
All assignments are due in class on the advertised due date, which will
usually be a Friday. An assignment due on a particular day will be accepted
until
It is never acceptable to present someone else’s work as if it were your own. This violates the basic principles of academic honesty. Unless explicitly instructed otherwise, assume all work you hand in is to be yours and yours alone. While you are working on a homework assignment, you may collaborate with other students by talking about the problem or your solution in a natural language like English, but you should not be looking at another student’s code and you should not show your programs to another student. You are encouraged to use the course FirstClass conference to discuss assignment problems, but the same rules apply: discussions should be in English and should not include code that is part of the problem solution.
When you turn in an assignment, you must list other students with whom you collaborated. Academic honesty requires this. If you are not sure what constitutes collaboration, err on the side of caution. You may consult public literature (books, articles, the web, etc.) for hints, techniques and solution strategies, but you must reference any sources that contribute to your solution.
When you use a public computer, save your work, remove the local copy when you are done, and log out. If you find someone else has forgotten to log out, then log them out without looking at any files or work in open windows. Please do not leave printouts of assignment solutions at public printers.
MATLAB
7.0 is available on all
Specific course software can be downloaded and uploaded to and from personal
computers using Fetch (for Macs) and WinSCP (for
PCs). We will introduce you to these programs in class, and more information is
available at the the Wellesley Desktop Computing
webpage. Course software is stored on the CS department file server called
puma
, described at the CS112 file server page. Each student will have an individual
account on puma that can be requested by
submitting an electronic
account request form. This form is only
accessible from the campus network.
The class conference on FirstClass is Wellesley Conferences/Courses/CS/CS112-S08. There are two folders of interest in the conference: Announcements and Q&A. You should check these folders regularly. In the Announcements folder, the instructors will post important announcements about assignments, changes to office hours, and CS department events such as seminars and parties. You are encouraged to post questions or comments in the Q&A folder that are of general interest to students in the course. Feel free to respond to questions posted by other students. In addition, the instructors will read this folder on a regular basis and post answers to questions found there. This is a good place to find people to join a study group or ask questions about the course or about homework (please do not post MATLAB code here — homework discussions should be at a high-level English description).
If you have any questions at all about the class (whether big or small, whether on lectures, labs, assignments, reading, or whatever) please contact one of the instructors. That's what we're here for! Simple questions can often be answered via the FirstClass conference Q&A folder or via e-mail. When sending e-mail questions to an instructor, it is OK to cut-and-paste segments of MATLAB code into the body of the message. Questions of general interest (e.g. clarifying ambiguities in an assignment, wondering why posted programs do not work as expected) should be posted to the Q&A folder. If you have a complex question or need help in understanding the material, please try to meet with us in person. The best time to see us is during our scheduled office hours listed at the top of this document. If these times are not convenient, we can schedule an appointment for some other time. You can schedule an appointment in person, via phone, or via e-mail. Also remember to visit our CS112 tutor during her drop-in hours each week! Finally, when looking for help, do not overlook other students. Get to know your classmates early in the semester so that you can help each other out!
If you have special needs of any kind, please meet with us to discuss accommodations that may be helpful to you.