Download PDF version

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Cornell University
CS 211, Spring 1998
CS211 Info Sheet
Basic information
Lectures:
Instructor:
Instructor Oce Hours:
Recitations:
TAs:
TA Oce Hours:
Consultant Oce Hours:
Tuesday and Thursday, 10:10{11:00 am, Olin 155.
Prof. M. W. Godfrey, Upson 308.
Tuesday and Thursday, 3:00 pm to 4:00 pm, or by appointment.
TBA (see course web page)
TBA (see course web page)
TBA (see course web page)
TBA (see course web page)
Course texts
Required:
Core Java, vol. 1 by Horstman and Cornell (Prentice-Hall) | Be sure to get the latest
edition which covers version 1.1 of the Java language. This book explains the basics of
Java and object-oriented programming very nicely.
Alternatives and Extras:
Data Structures in Java by Standish (Addison-Wesley) | Does a good job of covering
more abstract topics such as data structures. Not a lot of programming language detail,
and much of the book covers topics that you won't see until CS410.
Java in a Nutshell (second ed.), by David Flanagan (O'Reilly and Assoc.) | An
excellent language reference for the practising Java programmer; i.e., it has all of the
details of what methods are in each class in the standard Java libraries. Be sure to
get the second edition (there's a tiger on the cover) which covers Java version 1.1. It's
cheap too. Not a good choice for learning object-oriented programming, 'tho, as it is
basically a reference book. A nice complement to Core Java.
Well worth reading but not essential to the course:
Code Complete, by Steve McConnell (Microsoft Press) | This is a very readable book,
and contains a lot of wisdom about how to write programs. You should be able to
handle the bulk of it already. Good summer reading! Highly recommended. Don't be
deterred by its length, it's easy to read in small doses.
Microserfs, by Douglas Coupland | This is a ctional book about life in the software
industry. It's pretty accurate and very enjoyable. Sit down and read it over the weekend.
Other information
Expectations: You are going to work hard. You are going to learn a lot of interesting and
important stu. You are going to enjoy yourself.
Well, those are my expectations. I'm hoping that by the end of term you'll agree with all
three of these statements.
CS211 Info Sheet
Page 1 of 4
Cornell University
Course Web Page:
CS 211, Spring 1998
http://www.cs.cornell.edu/Info/Courses/Current/CS211
The course web page will be your rst stop for any questions you might have. We will keep it
up-to-date. Lecture notes, assignment information, and other vital tidbits will appear there.
You must check the web page often, as much important information will appear there.
Please note there there are almost 300 people enrolled in this course. We really cannot spend
our time answering the same questions over and over, so please check the web page rst for
any information you seek.
Course Newsgroup: Messages will be posted to the course newsgroup cornell.class.cs211
and archived on the course web page. Please check regularly.
Course Administrator: Laurie Buck, Upson 303. Phone: 255-3534. Email: [email protected].
Laurie will maintain all grading information. She is the rst human to contact if you have
an administrative question (i.e., after you have checked the course web pages rst).
Consulting Sta: Consultants will be available in Upson 305 most afternoons and evenings.
TAs will also have regular oce hours elsewhere. Details will be announced on the web.
Assumed Background: Basically, we assume you have taken CS100 in Java, as oered in the
Fall of 1997. We will assume basic familiarity with the Java language (e.g., simple variables,
for loops, method/procedure denition etc.), and with object-oriented programming (e.g.,
object references, instantiation, inheritance, etc.).
However, we do realize that many of you will not have taken the most recent oering of
CS100. Therefore, your options are:
Attend the CS211 Java boot camp (see below), do the exercises, and complete assignment #0 (worth no marks); continue in CS211 this term.
Retake or audit CS100 in Java; take CS211 later.
Spend some time teaching yourself Java (read Core Java) this term; take CS211 later.
Our rule of thumb is that if you have CS100-like experience in C or C++, then the \boot
camp" is likely to be a reasonable option for you. If your experience is in another language
such as Pascal or Basic, then it is likely you will need to spend a little time learning Java
and object-oriented programming. But the choice is yours.
The due date of the rst assignment will be delayed slightly to allow students unfamiliar
with Java to get in some extra practice.
Java Boot Camp: We will be holding a review session over the rst two Thursday nights for
students who do not have a good background in Java. We will assume that you can already
program at a CS100 level in another language. These sessions are intended for students with
no programming background in Java who wish to learn the basics of Java and object-oriented
programming. Please read through chapters 3, 4, and 5 of Core Java as preparation.
The sessions will be held Thurs Jan 22, and Thurs Jan 29 in Olin 155 from 7:00 pm to 10:00
pm. Plan to attend both sessions if you did not take CS100 in Java last term.
Code Warrior Demos: CS100 will be holding several sessions on how to use the CodeWarrior
system. If you have not used CodeWarrior with Java then plan to attend one of these sessions
(they will all have the same content):
Tues Jan 20 7-9 pm
Wed Jan 21 7-9 pm
Sun Jan 24 3-5 pm and 7-9 pm
CS211 Info Sheet
Page 2 of 4
Cornell University
CS 211, Spring 1998
Computing Resources: We will be using Java as the programming language for CS211, and
we will assume that you are using CodeWarrior toolset from Metrowerks to do your Java
programming. CodeWarrior has been installed in undergraduate lab in the basement of
Upson and on all other CIT labs on machines with sucient capacity.
You can (optionally) purchase CodeWarrior for both Mac and Windows from the campus
store. If you have problems installing CodeWarrior on your home computer, please contact
Metrowerks (www.metrowerks.com), not the course sta.
It may be also possible to do many of the assignments using a Java tool other than CodeWarrior (e.g., VJ++, VisualAge, Cafe, JDK). We have no objection to this. However, if you
choose to follow this path, you will be on your own if problems crop up.
Collaboration and Academic Integrity: In short, plagiarism is a form of academic fraud and
is treated very seriously. If you have any questions, consult the course sta. You are expected
to abide by the Cornell academic integrity code.
Some projects in this course will be done in small groups; the rest will be done alone.
Collaboration and co-operative work is required within the groups, but not allowed between
groups. General discussion of the topics of the solitary assignments is allowed unless the
assignment forbids it, but specic discussion, sharing of code, and the like are violations of
academic integrity. In addition, faking the output of any programs is also illegal; if your
program doesn't work, don't try to pretend that it does.
It is not dicult for the graders to detect undue collaboration, and every year several
students discover this the hard way. You do not want to become a trophy head on my oce
wall (for one thing, I'm running out of room).
Note that it is also a serious oense to help someone commit plagiarism. Do not \lend"
your printouts or source les or let others have copies of them. If you suspect
someone has stolen a copy of your work somehow, contact your instructor immediately.
Recitations: Recitations, or tutorials, are an important part of the course. The TAs will be
going over examples of concepts discussed in class, going over ne points of assignments,
discussing how to use the tools, etc. Recitations are meant to be more interactive than
lectures, so bring your questions and don't be afraid to raise your hand.
Handing In Assignments: Each assignment will contain instructions as to when it is due, and
what is expected to be handed in.
Late Policy: Assignments are due at the beginning of class (if due in class) or by the end of the
TA oce hour on the due date. You may also hand them in earlier to a TA or the instructor
during an oce hour. Late assignments are not accepted for credit.
You will nd that right before the assignment is due the computer labs may be very busy, and
it may be dicult to nd a computer. There is always the possibility of a printer jam, and
other such delights. It is your responsibility to complete the assignment on time regardless
of these situations. In the week prior to the assignment due-date, the computer labs will
often be relatively idle, and the consultants and TAs have much more time to help you with
your assignment. Start your assignment earlier and you will avoid many problems.
Getting Back Graded Assignments: Graded assignments will be available in the consulting
oce (Upson 305). If you have a serious disagreement with the grading of an assignment,
you may submit it for a regrade. To do so, ll out a regrade form (available on the rack
outside of Upson 303) and staple it to your assignment. Leave the assignment in the CS211
mailbox in Upson 303 (check the oce hours). You have one week after an assignment is
returned to submit a regrade. Please note that by submitting the assignment for a regrade,
you understand that your grade may be left the same, raised, or even lowered.
CS211 Info Sheet
Page 3 of 4
Cornell University
CS 211, Spring 1998
Grading: Your nal grade will be based on the assignments, two prelims, and either a project or
exam (our choice; likely a project):
Assignments (5 or 6) 50%
Prelims (2)
30%
Project or Exam
20%
Important Dates: Check web page for prelim dates.
Getting Help: You are mature Cornell students (!!). You should be intelligent and experienced
enough to look for a lot of information by yourself (or, if you aren't, it's about time for you
to learn).
There are a variety of sources of information available.
The CS211 consultants in Upson 305. Check the door for schedule information.
Tool help pages. Please spend some time running demos and looking through the help
pages if you have questions about the tools.
The web. If you've never looked, there is a whomping amount of information out there
on all sorts of topics related to the course. The course home page will have pointers to
some good starting points, but you should also learn how to use a good web query engine, like AltaVista. Two important web sites are Metrowerks (who make CodeWarrior)
at www.metrowerks.com, and Sun (who created Java) at www.javasoft.com.
Textbooks, and library books.
Experimentation. A good way to gure out what something does is to write a short
program to try it out.
Other students, especially your teammates. It is acceptable to ask any other student
for details of tools and/or languages as long as they don't write any code for you or
solve any of the assignment.
\I still have a question..."
OK, if you have checked the web page and other appropriate resources and still have an
unanswered question, then you can:
drop by a during consultant, TA, or instructor oce hour.
post a query to the newsgroup (cornell.class.cs211)
send mail to the course account ([email protected]).
CS211 Info Sheet
Page 4 of 4