THE COLLEGE OF NEW JERSEY
Computer Science Department
CSC230 : Introduction to Data Structures
Fall 2004

Course Description

A second course in computer science in which students learn how the algorithms and structures studied in CS220 are implemented on a sequential machine. Classic data structures (lists, queues, stacks, trees, and tables) and algorithms (searching and sorting) are considered, but the emphasis is on analysis. First analysis of  implementation techniques is addressed by studying the trade-offs between static and dynamic structures. Second analysis of complexity of algorithms is studied first informally and then using formal proof techniques. The implementation of the object-oriented paradigm is also shown via Java.

Course Prerequisites

CSC or CMSC 220 with a grade of C or higher.



About the Instructor

Miroslav Martinovic
    Brief Biography
        Ph.D. 1993 Belgrade University / New York University.
        CS Faculty 2000-present, TCNJ
        CS Faculty, 1989-2000, Wagner College
        CS Faculty, 1983-1988, Belgrade University
        Principal Scientist, 1989-present.
    Research Interests
        Question-Answering Systems
        Natural Language Processing
        Information Retrieval
        Logic Programming
        Expert Systems
    Sponsors
        NSF
        DARPA
        NIST

<!--[if !supportEmptyParas]-->


Class Time:
 
Lectures Monday, Thursday 12:30-1:50 at Holman Hall 253.
Lecture / Lab Monday 2-3:20 at Holman Hall 370


Textbooks:
 
 
Course Main Textbook
Java Software Solutions, 2004 Edition 
by:  John Lewis and Joseph Chase
Published by Addison Wesley
ISBN: 0-201-78878-0 


Instructor:
 
 
          Dr. Miroslav Martinovic.


E-mail Address :
 
 
          mmmartin@tcnj.edu


Telephone :
 
 
          (609) 771-2789.


Office :
 
 
          Holman Hall 230.


Office Hours :
 
 
Monday : 
 
9-10
11:30-12:30
Tuesday : 
 
9-10 (by scheduled appointment)
Wednesday : 
 
10-11:30
 
Thursday : 
 
9-10
11:30-12:30
Friday : 
 
2-3:30 (by scheduled appoinment)
 



Grading Policy:
 
 
 
 

 
 
 
Homeworks, Labs, Class Participation and Effort
30%
Midterm ( 10/28)
(Midterm Exam Hints
Midterm Exam ( 10/28) Solutions Set
30%
Final Exam (12/16)
(Final Exam Hints)
Final Exam Solution Set
40%

 
 
 
*         Homeworks are regularly due on the next class period. No late homework will be accepted.
**       The lowest homework grade will be replaced by the average of other homework grades.
***     There will be no make up exam for this course.
****   Other Course Policies: 
. Grades are not scaled unless things go uniformly very badly. I advise planning that there will be no scale at the end of the semester. 
. I expect students to be on time to class, and prepared for the lecture/quiz/lab. Additionally, you should be reading ahead in the textbook, prior to coming to class. 
. Please shut off all cell phones, pagers and other devices before class starts. 
. Late work is accepted in two flavors: 
                     o Without penalty: if you are sick and have a note from the health center that they saw you, or you need to return home to address a family emergency. 
                     o With penalty: under most other circumstances, work turned in late is subject to a 10 point per day penalty. 
. Developing Software: 
Unless otherwise specified explicitly in the specifications, I expect that all work (take-home projects, homework assignments, and work in the closed-labs) be completed on an individual process. All work will be examined for similarities by my inspection and by using an automated system. Violations of this policy will be handled through the University's honor system. Discussing problems and talking about solutions in a general sense with your peers is welcomed and encouraged. The outright sharing of program source code is explicitly forbidden and will be prosecuted to the 
fullest extent possible. If you are uncertain about a particular activity, ask in class, or email me privately and I will clarify this policy for you.
*****  Special Accommodations: 
If a student requires special accommodation due to a documented disability, please speak to me within the first week of the semester so that I may make proper arrangements.
****** Statute of Limitations: 
Students have one week following the return of graded work to dispute grades. After the one-week time frame, re-grading or adjusting grades will not be performed. This one-week window starts from the time the material is return to you (or made available to you) regardless if you attend classes or not. 


Attendance Policy:
        Missing four classes lowers the grade for the course by one.
        Missing eight classes results in a failure.






 
 
CSC230
Tentative Schedule


 
 
 
 
Chapter I.1 
Week 1 
Foundations of Programming (CS I Topics)

 
 
 
Chapter I.1 
 Week  1 
Software Development Methods (Review)

 
 
 


 
 
 
 
Chapter I.2
Week  2 
Collections 
HW/Lab1 : Page 66 / Problems 2.2, 2.3, 2.4 
Due : 09/20/2004 

 
 
 


 
 
 
 
Chapter I.3
Week 3 
Linked Structures
HW/Lab2 : Page 89 / Problems 3.2, 3.3 
Due : 09/30/2004 

 
 
 


 
 
 
 
Chapter I.4
Week 3 
Recursion
HW/Lab3 : Page 114 / Problem 4.7 
Due : 10/06/2004 

 
 
 


 
 
 
 
Chapter I.5
Week 4 
Sorting and Searching

 
 
 
HW/Lab4
Due : 10/21/2004 


 
 
 
 
Chapter II.6
Week 5 
Stacks
 
HW/Lab5 : Page 172 / Problems 6.1, 6.2; Page 173 / Problem 6.1 
Due : 10/28/2004


 
 
 
 
Chapter II.7
Week 6 
Queues

 
 
 
HW/Lab6 : Page 213 / Problems 7.1, 7.2; Page 215 / Problem 7.8 
Due : 10/28/2004


 
 
 
Week 7 
Chapter II.8
Lists

 
 
 

HW/Lab7 : Page 257 / Problems 8.1, 8.2, 8.3; Page 258 / Problem 8.6 
Due : 11/10/2004



 
 
 
Midterm Exam Review
MIDTERM EXAM
Week 8 
 


 
 
 
 
Discussion and Presentation of 
Midterm Exam Solutions
Week 9
Chapter III.9  
Trees
HW/Lab8 : Page 293 / Problems 9.2, 9.3, 9.4; Page 294 / Problem 9.8 
Due : 11/22/2004


 
 
 
 
Chapter III.10 Week 10 
Binary Search Trees

 
 
 
HW/Lab9 : Page 334 / Problems 10.1, 10.2 Page 335 / Problem 10.1 
Due : 12/2/2004


 
 
 
 
Chapter III.11, III.12 Week 11
Heaps, 2-3, 2-4, B-Trees

 
 
 
 
HW/Lab10 : Page 363 / Problems 11.1, 11.2 Page 364 / Problem 11.1 
Due : 12/16/2004


 
 
 
 
Chapter III.13, III.14 Week 12 
Hashing, Graphs

 
 
 


 
 
 
 
Week 13 
Final Exam Review