About
Announcements
Modules
Coursework
FAQ
Java API
|
- Instructor: Prof. Rahul Simha
- Time/place:
- Class: Tuesdays/Thursdays 2.20-3.35pm, Tompkins 410.
- Lab: Wednesdays, 11.10-1pm, Tompkins 410.
- Office Hours: Tue/Thu 4-6pm, Phillips 717.
- TA: TBA
- TA Office Hours: Mondays 11-1 and Fridays
12-2, both in Phillips 725 (the lab in the CS dept, 7th floor
Academic Center).
- Course CRN's: Class (73828), Lab (73829)
- Prerequisites:
CS 53 or equivalent
(See undergraduate
curriculum).
- Official course description:
Object-oriented software. Inheritance, exceptions, development
of classes. Data structures such as trees, lists, stacks, queues,
and strings. Sorting and searching. Introduction to algorithm
performance prediction.
- My description:
This is your second course in programming (in Java). You will
learn fundamental data structures such as linked lists, stacks
and queues, and a little about trees (more of which will be
covered in CS-3212). We will also spend some time with arrays,
even though you might have covered some in CS-1111.
You will learn about problem-solving,
especially recursion. You will get better and more confident
in Java while learning a little about objects, software
development and debugging.
- Textbook:
It's fair to say that you can do without a textbook since all
the lecture material
will be available to you on this site. However,
some students like books, so I decided to go with the
best match I could find:
Data Structures and Other Objects Using Java.
M.Main (Addison-Wesley).
- Supplemental material:
Each module is accompanied by supplemental material. Most of this
additional material is meant for reading. You will
see variations of examples presented in class, along with a few
small exercises. By reading the variations you will both
developing your code-reading skills and will learn alternative
ways of accomplishing the same tasks.
- Programming load:
The course will be fairly programming-intensive, perhaps a little
more than CS-1111. But then, you know more about programming now,
so it should balance out.
- Coursework and grading:
- 5-10 points: some unannounced quizzes, in-class exercises.
- 20 points: 3-5 1-week exercises.
- 40 points: 3-4 2-week assignments.
- 25-30 points: two in-class exams.
NOTE: the weightage may change depending on how the course
evolves.
- Assignment submission and late work policy:
- All assignments will be submitted via your
Unix accounts. Follow these
instructions when submitting work.
- No late submissions will be accepted for the exercises.
- The assignments may be submitted late, but points will be
taken off: 20 percent for each 24-hour period after
the due-date. These points will not be pro-rated hourly. Thus,
if an assignment is due 5pm Oct 19th, a submission at 5.05pm Oct 19th loses
20 percent.
- The submission time will be determined by the file-date of your crypt file.
Hardcopy late submissions must be initialled with
the submission time by one of the secretarial staff if I am not available.
- If you're seeking an extension because you've been ill and have
a letter from a doctor, come by and see me about it.
- Email policy:
You can send email to my GW email address.
I will answer most class email during specific times set aside during
the week for this purpose - so do not expect an instantaneous response.
You may not perform "debugging by email".
That is, do not send me code snippets and ask me to identify the problem.
If you want me to look at your code, you have to stop by in person
during office hours and bring along hardcopy. Email is typically used
for clarification regarding coursework. If there is a TA assigned to
the course, you ought to try to email the TA assignment-related questions before
emailing me.
- Academic Integrity policy:
- In this course, you will be expected to work on all assigned
coursework by yourself, unless otherwise specified by instructions on
this page. If you have any questions whatsoever regarding these
policies, see me during office hours.
- You may not, without permission from the instructor,
exchange course-related code with anyone (including
anyone not registered in the course), or download code for use
in your coursework, or use material from books other than the textbook.
Likewise, you may not look
at anyone else's code or show your code to anyone else. Protect
your work: for example, be careful not to leave your printouts around.
- If using a tutor, you may not show your CS151-related code to
your tutor nor use code shown or written by your tutor.
All tutors for this class need to first register with me, by meeting
me during office hours.
- If you use material in your assignments that are from
outside the course material, then you should be prepared
to explain that material. The instructor and TA's reserve
the right to question you on your use of extraneous material.
Failure to answer such questions might be viewed as
grounds for an integrity violation.
- The
Academic Integrity Code or Student Conduct Code
will apply to this course. Please read
through the code carefully.
- Penalties for violating the code or the policies described here
include failing this course, and are elaborated in the Academic Integrity Code.
- If you have a disability that may
effect your participation in this course and wish to discuss academic acommodations,
please contact me as soon as possible.
- Coding standards:
- We will be a little fastidious about proper indentation in
this course. Points may be taken off if you don't stick to
a consistent and standardized indentation style.
- You will need to document/comment all your code. Again,
we might take off points if your comments are too sparse.
- We would like you to test your code. Generally, you should
address the question "What did you do to ensure that your code works?"
|