Be informed of course announcements by following the CS230-spring2016 group!
Takis Metaxas Office:SCI E116
Tuesday 10am - 12:30pm. Wednesday 10am - 12:30pm
Christine Bassem Office:
Office Hours: Thursday 10am - 12:30pm. Friday 10am - 12:30pm
Stella Kakavouli Office: SCI E131
Mondays 2:30-4:30, Tuesdays 10-2:00, or by appointment
Supplemental Instruction Leaders:
Sam Mincheva and Priscilla Lee
Supplemental instruction sessions:
- Sunday, 7-8pm, in SCI E111 (Priscilla)
- Monday, 6-7pm, in SCI E111 (Sam)
- Tuesday, 8-9pm, in SCI E111 (Priscilla)
- Thursday, 6-7pm, in SCI E111 (Sam)
Teaching Assistants / Drop-in Hours:
Note that drop-in hours will run though April. There will
be no drop-in hours in May. However, SI will continue as usual.
|Brenda 7-9 || ||
| Sunday |
|Hannah 5-7 || ||
| Monday |
|Mary 5-7 || Sam 7-8||
| Tuesday |
|Alyssa 3-5 ||Priscilla 9-10 ||
The prerequisite for CS230 is CS111, Computer Programming and
Problem Solving. Students with significant programming experience
(including knowledge of Java), or those who have received less than a B- in CS111 need 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.
Lectures are held on Mondays and Thursdays
at 9:50-11:00 AM (section 01 in SCI-E111),
at 11:10AM-12:20PM (section 02 in SCI-E111), and
at 1:30PM-2:40PM (section 03 in SCI-256).
Labs are held on
- Thursdays at 1:30pm in SCI160A, and 3:30pm in SCI 257, and
Fridays at 8:30am, 10:30am and 1:30pm in SCI E101.
Lab exercises will be distributed in the 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.
Supplemental Instruction (SI)
Supplemental Instruction (SI) is an academic support program offered for selected Wellesley courses. Our academic SI leaders, Sam and Priscilla, are trained and highly experienced in tutoring CS230. They will offer two study sessions each week throughout the semester. During SI sessions they will cover problem set solutions and review important concepts. SI sessions are open to all students enrolled in the course.
We highly recomend attending one of the SI sessions every week, as well as reviewing the handouts used in SI sessions.
Text: Regular readings will be assigned from the required text, Java Foundations, by Lewis, DePasquale and Chase, 2nd edition. We will be using the 2nd edition (not the newer, 3rd edition). It is on reserve in the Science Library. It is recommended that you read the relevant sections twice a week.
Notes: In the syllabus, each lecture is linked to printable class notes (pdf). If you would like to use them to keep notes feel free to print them before class or just download them on your device.
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. You are required to work with a partner
on the marked task(s) on each of the assignments. 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.
Assignments are due as advertised on the class schedule. You should also submit a hard copy
at the beginning of your next class.
Here you can find instructions on how to turn in both a "hard"
(paper) and a soft (files) copy of your assignment.
A running program is just the beginning
A program submitted that runs correctly on a particular input earns only 60% of the total grade. Careful testing that covers both the basic functionality and border cases will earn another 20% of the grade, if the testing is demonstrated. The remaining 20% of the grade is earned for good design that implements OOP, documentation that includes top-of-the-file description, method explanation and in-line explanation as needed. Good programming style is also expected.
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:
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
The following grid gives an overview on our collaboration policy, and is explained in the following sections:
|Rotating pairs of students
||Teams of 2-3 students
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
Programming assignments in this course can be challenging. Also teamwork is the norm in
the CS industry. Given the above, some of the assignment work is required
to be done with a partner, while some is required to be done individually. In each assignment tasks
will be clearly marked as either "individual" or "pair-programming".
The two team members must work closely together on the pair-programming tasks,
and turn in a single hard copy of work they did together.
Pair-programming tasks are subject to the following ground rules:
Please check this document about the basics of pair-programming.
In general, teams are allowed to discuss assignment tasks 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 team or individual student must compose their own
solutions. In particular,
Each team or individual student must compose their own solution to each task
. Discussing strategies and approaches with classmates and receiving general
debugging advice from them is acceptable and encouraged.
However you (and your partner) are required to write and debug all of
your code . Furthermore, you should never look at another
For example, it is OK to borrow code from the textbook, from materials discussed
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
In labs you will be working either with a partner, or individually. In general, be aware that labs contain more tasks than
can reasonably be done in the available class time. Solutions to lab exercises will be linked
at the bottom of the lab's web page at the end of the day. Threat them as study material. You are encouraged
to at least study these solutions.
At the end of the day of your lab, each student is required to submit whatever lab work they have worked on until then.
These submissions will be part of the student's participation grade (see "Grading Policy" further down.)
During the last few weeks of the semester, you will form project teams of 2-3 students and 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
Each team will give a short presentation of their
final project during the last two meetings of the semester, and will prepare a document with specifications, user's manual, code and documentation on their final project. Guidelines will be posted mid-semester. See our CS230 project gallery for information on student projects from recent semesters.
There will be three in-term, non-collaborative exams that are open book and open notes. The first is in-class and the other two are take-home. 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 listed on the schedule. Please mark the exam dates in your calendars as they are not flexible.
If scheduled exam times or assignment due dates interfere with religious observances for you, we are willing to make arrangements and find alternative times for you to take an exam or to submit your work. Please get in touch with us in advance (and as soon as possible if it is the case for the upcoming exam this week).
How to succeed in CS230
- Prepare to spend at least 15 hours every week.
- Attend all lectures, quit all social media while in class.
- Attend all labs, quit all social media while in class.
- Read the book and slides BEFORE attempting to do the homework.
- Read homework description immediately, start thinking about it ASAP, not 1-2 days before it is due!
- Start homework early, be prepared to make mistakes
- Programming is a skill:
The best programmer has made every mistake in the books!
- Programming is hard: Do not blame yourself for your mistakes; just give yourself more time!
Your final grade for the course will be computed as a weighted
average of several components. One of them is class participation that
includes coming to lectures, coming to labs and doing the work, and actively participating in discussions.
The relative weight of each component
is shown below:
Exam 1 (in-class)
Exam 2 (take-home)
Exam 3 (take-home)
Note that each assignment corresponds to about 3% of your final grade, and each lab to about 1% of your final grade.
This course complies with the Wellesley College grading policy. While that policy asks faculty to hold each 100- and 200-level course with 10 or more students to an average of no higher than 3.33, it does not require faculty to grade on a "curve." There is no arbitrary limit on the number of A's, B's, C's etc., and every student will be assigned the grade she earns and deserves according to the grading standards of the college.
All programming in CS230 will be done using DrJava. If you want, you can use your own computer but you will have to maintain the software (which is good practice and not difficult) and be prepared to use the department's machines if yours has problems. Sorry, we will not be able to help you trouble-shoot your own computer. The Documentation
page has pointers to documentation for all the software packages
used in CS230.
The CS230 course directory is located at /home/cs230
on tempest. This directory contains
material relevant to the class, including course software, and online
versions of assignments and programs. Any required material of the course Java software will be placed in the download
folder inside the /home/cs230
directory and you can access it using an ftp program (like Fetch on a Mac).
There is a CS230 group named CS230-spring2016.
This group has several purposes. 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) in your messages on the group! The
instructors and TAs will read messages posted in the group 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 group is also a good place to find people to join a
study group. You should plan on reading group messages on a
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 class group 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 group. 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
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.
CS230 counts for one Mathematical Modeling (MM) Distribution credit