http://www.math.sjsu.edu/%7Efoster/cs46bgrnf02.doc

advertisement
Fall 2002
Instructor: Leslie Foster
Office:
MH 312
CS 046B
Introduction to Data Structures
Email: foster@mathcs.sjsu.edu Home page: www.mathcs.sjsu.edu/faculty/foster
Telephones: 924-5123, Secretaries: 924-5100
Office Hours (tentative): MWF 10:30-12:10, by appointment or (for questions related to the course) any time I'm not busy
Other assistance: The Math / CS Tutor lab in MH 331B or the SJSU Learning Assistance Resource Center in the Student
Service Center on Tenth Street. See http://acadsvcs.sjsu.edu/larc/
Prerequisites:
CS 46A with a grade of C- or better.
Corequisite: M042
Language: All students are assumed to have a basic working knowledge of Java as taught in 46A. This includes objects,
objects references, classes, methods, instance variables, repetition, selection, an introduction to recursion, inheritance,
subclasses, an introduction to clones, arrays, vectors, exceptions, input / output, streams, good style and javadoc
documentation.
All
code
that
you
submit
must
follow
the
department
style
guide
(http://www.mathcs.sjsu.edu/department/JavaCodingGuidelines.html). New or reinforcing
material on Java in CS46B will include clones, wrapper classes, interfaces, recursion, packages, iterators and the Java Class
Libraries (JCL) collections classes For a compiler you could use Sun’s jdk 1.3, Textpad and / or Forte. For information on
how
to
download
Windows
versions
of
these
see
http://www.mathcs.sjsu.edu/faculty/pearce/jlab/index.htm. You could also use a Unix Java
compiler. See http://www.mathcs.sjsu.edu/courses/cs46b/cs46blab/mainLabDirectory.html
for information on compiling java in unix. To get a computer account please go to MH 226/227 when you are registered.
Text:
Michael Main . Data structures and Other Objects using Java, Addison-Wesley, 1999.
Material Covered: Chapters 1-6, 7 (except 7.4), 8, 9, 10.3, 11, 12.1, 13, Appendix D, additional material on the JCL
collections classes and some discussion of ethics and computing. This includes a review of Java (Chapters 1, 2 , part of 3
and 13.1), linked lists, iterators, Java class collection libraries, stacks, queues, recursion, binary trees, searching, hashing,
and quadratic sorting algorithms.
Required
Lab:
There is a separate required laboratory with its own material (see
http://www.mathcs.sjsu.edu/courses/cs46b/cs46blab/mainLabDirectory.html).
You must
attend the separate lab to determine the grading requirements of the lab instructor.
Requirements and Points
Points Each
2 midterms
Final
3-6 Quizzes
5-10 programs
Separate Lab
100
150
20
10-20
50
Total
~600
Basis of Grade
Curve within reason. The
curve for each individual
test/quiz/program will be
announced in class when the
assignment is returned. If
not announced the curve is
90/80/70/60 for A/B/C/D.
In order to pass the course your average grade on the programming assignments must be passing. Also you must pass the
separate lab.
Homework: Keep a collection of all assigned homework. The entire set will be picked up from time to time during the
semester. If your grade is in doubt homework and other signs of work will help your grade up to a maximum of 2-3%
points in the final grade.
Make-up exams and quizzes: None except under very unusual circumstances and then only if you contact me (via phone,
message, in person, note, ...) before the exam. Make-up exams will be more difficult.
Cheating: Cheating on any quiz, exam, or program may result in an F in the course. All incidences will be reported to the
University. On programs you can consult with other students on general matters. A copied program is cheating. Also
turning in output that is not produced by your program is cheating.
CS46B Homework Assignments for
Michael Main . Data structures and Other Objects using Java, Addison-Wesley, 1999
For programs you only need to write out and turn in clear psuedocode for each method in the class or
classes. You do not need to (but you could) include java code for the programs and test runs. . The
weight of each program problem assigned will be five points and each review question will be one
point.
Chapter
Problem
1
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13
2
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
Programs: 1, 4, 5, 8
3
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29
Programs: 3, 4, 6
4
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
Programs: 2, 4, 5, 6, 9, 10
5
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
Programs: 5
6
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
Programs: 2, 4, 10
7
Self Test (7.1- 7.3): 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
Programs: 3, 7
8
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13
Programs: 1,5,6,10
9
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
Programs: 7, 10, 11
10
Self Test (10.3): 10,12
11
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
Program: 4
12
Self Test 1,2,3
13
Self Test: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Download