title.gif (5891 bytes) 
Fall 2000

Look at the README214 file for the final exam location.

Important Links


Lecture Slides


Instructor:
Don Smith, 1409 Dept. of Computer Science,
email: dsmith@cs.sunysb.edu, phone: 632-1522.

Office Hours:
Mon and Wed 1:00pm - 2:00pm and by appointment.

Lectures:

MWF 9:25- 10:20 Engineering 145 Secs 1-6
MWF 10:30- 11:25 Engineering 145 Secs 7-12

It is essential that you attend lecture.

Prerequisites:
A grade of C or better in CSE 114 or a passing grade for its proficiency exam.

Course web page:
Important notices (such as corrections to assignments), copies of assignments, hints, and other course materials will be available at the course web site, at http://www.cs.sunysb.edu/~cse214 You should bookmark http://www.cs.sunysb.edu/~cse214/README214 and check it often, since I will be placing important messages at the start of that file.

Course directory:
Other course material, such as programs, will be available on sparky.ic.sunysb.edu in /users/home/cse214/.

Recitation:
Recitations start the week of Sept 11. Click here to see the recitation times and locations (per section) as of Tuesday, Sept 5. Visit http://notes.cc.sunysb.edu/Prov/registrar.nsf/pages/courses for up-to-date recitation times and locations. (Click on "Course Schedule Menu" and then enter the course info: CSE, 214, Fall. Then click on Submit Query.)

Textbooks:

Required:

Data Structures and Other Objects Using Java by Michael Main ISBN 0-201-35744-5, Softcover, 800 pages, 1999.
Available at bookstore. Make sure you keep up with the readings, as indicated by the schedule below.

Recommended:

  • Java: How to Program by Deitel & Deitel, Prentice Hall (Third Edition). Thorough coverage.
  • Teach Yourself Java 2 Platform by Laura Lemay and Rogers Cadenhead, Sams Publishing.

Course Outline:

This course introduces data structures, algorithms, and (object-oriented) software engineering concepts. Small to medium sized programs will be developed using the Java programming language. Topics include: abstract data types, preconditions and postconditions, recursion and iteration, object-oriented programming, linked lists, stacks and queues, big O notation, concepts in analysis of algorithms, sorting and searching, binary trees, heaps, hashing, and balanced trees.

Course Grades:
Approximate weighting for grades:
one or two quizzes
10% - 15% combined;
two midterm exams
25% combined;
one final exam
25%; and
five programming projects
35% - 40% combined.
The first quiz is scheduled; there may be a second, surprise quiz. Students must receive passing grades on the combined average of quizzes, tests, and the exams in order to pass the course. That is, a passing grade will not be awarded only on the basis of outstanding programming work. Incomplete (I) grades will not be given in CSE 214 except in the most extraordinary cases.

Quizzes and exams will cover material from the lectures, textbook, and homework. If you skip lectures, readings or assignments, your performance on quizzes and exams will probably suffer.

Homeworks:

Homework projects will, in part, involve development of programs in areas such as web programming, game playing, and (small) database access. Students should become proficient at using basic Unix facilities and at using standard Java libraries and language features. Homework projects must be handed in electronically by 10PM on the due date. See http://www.cs.sunysb.edu/~cse214/Fall/handin.html for instructions on handing in assignments electronically.

Some general guidelines for homework submissions.

  • All files should be in ASCII (no Word, Wordperfect, etc).
  • Make sure all your files are protected so that other students can't steal your answers. If substantially similar work is submitted by multiple students, all students involved risk receiving low grades or worse. Use a Unix command like
      chmod og-rwx 214
    
    to protect all files in directory 214 from viewing by others.
  • Make sure you document your program. Try following the documentation guidelines presented in the textbook.
  • An important note on program testing and grading. For each program, build in test cases so that your grader can judge whether your program works. Either allow the user to enter new test data, or (better yet), build in a file of test cases(or a menu that selects test cases). It's your obligation to convince your grader that your code works. For example, if your program processes a list, build in several lists to test, including an empty list, a list of length one, and several longer lists.
  • Submit by 10:00 PM on the day due. (It would be cruel and foolish to make the deadline midnight.) You are allowed one late submission (up to four days after the deadline) per semester. It's OK to submit partial answers; just specify what parts you did and didn't finish.

Re-grading:
For re-grading an assignment or exam, please meet with the person (instructor or teaching assistant) responsible for the grading. Please try to arrange a re-evaluation within one week of receiving the graded work. All such requests that are later than one week from the date the graded work is returned to the class will not be entertained.

Academic Dishonesty:

You are encouraged to work and study with your classmates. You can discuss homework or recitation problems with your classmates in order to understand what you are being asked to do. HOWEVER, you must work on the actual solution on your own. All work you submit for homework, projects, or exams MUST be your own work. This is the only way you will learn the skills of programming and program design. If you cheat or aid someone in cheating knowingly, you can automatically fail this course and be brought up on charges of academic dishonesty without warning. (Each semester several students are caught and prosecuted!)

PLEASE NOTE:This semester, all submitted programs will be checked using online tools for similarity in design and documentation. Remember, all programming work MUST be your own work. It should not be somebody else's design or a team-work effort. Students submitting programs that are identical or nearly identical can fail this course immediately without warning. DON'T DO IT!

Disability:
If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the staff in the Disabled Student Services office (DSS), Room 133 Humanities, 632-6748/TDD. DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.



Readings, Assignments, and Quizzes, and Exams
(subject to change)

Date assignment/exam Readings
Wed Sep 6   Ch. 1
Mon Sep 11   Ch 2
Mon Sep 18   Ch 3
Wed Sep 20 HW1 due  
Mon Sep 25 Quiz 1 Ch 4
Mon Oct 2   Ch 5
Mon Oct 9 no class Ch 6
Wed Oct 11 Monday schedule  
Wed Oct 11 Exam 1  
Mon Oct 16 HW2 due Ch 7
Mon Oct 23   Ch 8
Mon Oct 30   Ch 9
Mon Nov 6 HW3 due Ch 9
Wed Nov 8 Exam 2  
Fri Nov 10 last day to withdraw, change to P/NC  
Mon Nov 13   Ch 10
Mon Nov 20 HW4 due Ch 10
Thu Nov 23 Thanksgiving recess  
Fri Nov 24 Thanksgiving recess  
Mon Nov 27   Ch 11
Mon Dec 4 HW5 due Ch 12
Mon Dec 11    
Fri Dec 15 last day of classes  




Don Smith (dsmith@cs.sunysb.edu)
2000-09-04