|
Instructors
Instructor: Brian Tjaden
Office: SCI E106
Office Hours: Mondays 2:45pm-5:00pm; Wednesdays 9:30am-11:00am
Lab Instructor: Stella Kakavouli
Office: SCI E131
Office Hours: Mondays 10am - 12pm, Thursdays 1:30pm - 2:30pm, Fridays 10am-12pm, and by appointment
Teaching Assistants:
TA Hours
Olivia: Tuesdays, 6:00-9:00pm in E101
Akofa: Wednesdays, 6:00-8:00pm in E101
Course Overview
Prerequisites
The prerequisite for CS230 is CS111, Computer Programming and
Problem Solving. Students with significant programming experience
(including knowledge of Java) who have not taken CS111 may take the
course with the permission of the instructor.
Lectures and Labs
There are two 70-minute lectures each week that will introduce the
main content of the course. Every student is also required to attend
one 110-minute lab each week. Lab work will include exercises to
review and reinforce the lecture material and to develop general
programming, testing and debugging skills. The labs will also provide
further opportunity to ask questions about course material and
discuss homework assignments.
Lectures are held on Mondays and Thursdays at 1:30PM-2:40PM in SCI-E111.
Labs are held
on Tuesdays at 10:30AM-12:20PM in 257 and 1:30PM-3:20PM in SCI-160A.
Lab exercises will be distributed in the Tuesday labs.
Some of the lab work will be completed during the scheduled
lab time. For the rest, work on your own and consult the posted solutions.
Assignments
There will be weekly assignments in which you will
write Java programs that emphasize concepts discussed in class. Many
of the assignments will be challenging. Keep in mind that programming
often consumes more time than you expect. Start your assignments
early! This will give you time to think about the problems and ask
questions if you hit an impasse.
All assignments are due in class on the advertised due date.
You should turn in both a "hard" (paper) copy of your assignment
and a "soft" (electronic) copy of any programs from the assignment.
The assignments will provide instructions on how to drop off your electronic copy.
Late Assignment Policy
Turning in assignments on time makes it easier to keep on track with the course and
to turn in the next assignment on time. We will use
the following policy:
An assignment due on a particular day will be
accepted at the beginning of the class on that day.
No late work will be accepted unless there are extenuating circumstances
(e.g., sickness, personal crisis, family problems).
In this case you may request an extension before the due date.
The softcopy submission will be a dated file.
If the formal solutions are distributed before you turn in a late
assignment, you are bound by the Honor Code not to examine these
solutions.
Collaboration Policy
We believe that collaboration fosters a healthy and enjoyable
educational environment. For this reason, we encourage you to talk
with other students about the course material and to form study
groups.
Because the programming assignments in this course are challenging,
you will be allowed on any assignment to form a two-person "team" with
a partner. The two team members must work closely together on the assignment
and turn in a single hard- and soft-copy of the assignment for the team.
The grade received on such a submission will be given to both team
members.
Team efforts on assignments are subject to the following ground rules:
Unless otherwise instructed, teams are allowed to discuss problem sets with
other teams and exchange ideas about how to solve them. However, there is a
thin line between collaboration and plagiarizing the work of others. Therefore,
we require that each (one-person or two-person) team must compose its own
solutions to each assignment. In particular,
You must compose your own solution to each assignment
and lab problem. You may discuss strategies for approaching the
programming problems with your classmates and may receive general
debugging advice from them, but you are required to write and debug all of
your code. Furthermore, you should never look at another
student's code.
For example, it is OK to borrow code from the textbook, from materials discussed
in
class,
and from other sources
as long as
you give proper credit. However it is unacceptable and constitutes a violation of the Honor Code (1) to
write a program together (with someone not part of your team) and turn in two copies of the same program,
(2) to copy code written by your classmates, (3) to read another
student's or team's code or (4) to view assignments, exams
and solutions from previous terms of CS230.
In keeping with the standards of the scientific community, you
must give credit where credit is due. If you make use of an idea
that was developed by (or jointly with) others, please reference them
appropriately in your work. It is unacceptable for students to
work together but not to acknowledge each other in their
write-ups.
Final Project
During the last few weeks of the semester, you will work on an
extended programming project that you will design and
build from scratch. After choosing an interesting application or
problem, you will first build a skeleton of the object classes,
methods, abstract data types and user interface needed for your
application, and then fill in the details to create a fully working
implementation. Each student will give a short presentation of her
final project during the last week of classes. Guidelines for the final
project will be posted mid-semester.
Exams
There will be one in-class closed-book exam and
two in-term take-home exams that are both open book and open notes. There will be
no final exam. The take-home exams will require the use of a
computer. You are not allowed to collaborate with anyone else on
the take-home exams. The dates of the exams are:
Exam 1 will take place in class on Thursday, February 23.
Exam 2 will be distributed on Monday, March 26 and due
on Monday, April 2.
Exam 3 will be distributed on Thursday, April 12 and due
on Thursday, April 19.
Please mark these dates in your calendars as they are not flexible.
Grading Policy
Your final grade for the course will be computed as a weighted
average of several components. The relative weight of each component
is shown below:
|
Assignments
|
35%
|
|
Final Project
|
10%
|
|
Exam 1 (in-class)
|
15%
|
|
Exam 2 (take-home)
|
20%
|
|
Exam 3 (take-home)
|
20%
|
|
Total |
100% |
Computers
All programming in CS230 will be done on the CS department's Linux workstations,
described in the Linux document. These workstations can be
accessed remotely through MACs and PCs. Each CS230 student will have a
password-protected account on the CS fileserver, puma. You will have a
limited amount of space on puma to store your course-related files. The
Documentation page has pointers to
documentation for all the software packages used in CS230.
Course Directory
The CS230 course directory is located at /home/cs230
on puma. This directory contains
material relevant to the class, including course software, and online
versions of assignments and programs.
All of the course Java software will be placed in the download folder inside the
/home/cs230 directory.
Google CS230 Group
This semester we will use a google group for communication purposes between instructors and studends,
as well as among students themselves.
We will use it to make class
announcements, such as corrections to assignments and clarifications
of material discussed in class. We encourage you to post questions or
comments that are of interest to students in the course. Please do
not post significant amounts of Java code (i.e. more than one or two
lines of code) ! The
instructors will read posted messages
on a regular basis and post answers to questions found there.
If you know the answer to a classmate's question, feel free to post a reply yourself.
The course site is also a good place to find people to join a
study group. You should plan on reading these messages on a
regular basis.
Finding Help
If you have any questions at all about the class (whether big or
small, whether on assignments, lectures, reading, or whatever)
please contact one of the instructors.
Simple questions can often be answered via the Sakai site
or e-mail. 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 CS230 Sakai site. Other
questions can be emailed to your instructors.
If you have a complex question or need help in understanding the
material, you are encouraged to see one of the instructors or the CS230
tutor. The best time to see an instructor is during our office hours.
If these times are not convenient, we can schedule an appointment for
another time. You can schedule an appointment in person or by e-mail.
Your TAs will hold regular
drop-in hours to help with your questions. The schedule of their drop-in
hours will be
made available early in the term. If you are having trouble with the
course, you can request a one-on-one tutor from the Pforzheimer Learning
and Teaching Center (PLTC). This service is confidential and free
of charge; please take advantage of it if you need some extra help!
Contact an instructor or PLTC for more information about this
service.
Finally, when looking for help, do not overlook other students.
Get to know your classmates early in the term so
that you can help each other out!
Students with Special Needs
If you have any disabilities, including learning disabilities, you
are encouraged to meet with an instructor to discuss accommodations
that may be helpful to you.
Mathematical Modeling Distribution
CS230 counts for one Mathematical Modeling (MM) distribution credit.
|