Springfield Technical Community College
Engineering and Science Transfer Department

JDK 1.4

CSCI-401 COURSE INFORMATION

Final Syllabus -- Modified 01/30/08

JDK 1.4
Course Name Data Structures and Algorithms
Lab Number CSCI-401L
Credits 4
Date Modified 01/30/08 for the Fall 2007 Semester
Instructor Prof. Antonio C. Silvestri
Office 17/415
Phone 755-4607  (Use email whenever possible.)
E-Mail silvestri@stcc.edu
Web-Page http://faculty.stcc.edu/silvestri/
Prerequisite

CSCI-111 passed with a C- or better.   No exceptions will be made to this prerequisite.

Potential students must also feel comfortable with the Windows and Linux environments.   Questions concerning installation or OS issues will not be entertained as this is an upper level programming class.  No exceptions will be made to these prerequisite


Course Description

This course concentrates on the analysis of algorithms that manipulate information organized in structures such as arrays, lists, trees, and  graphs. Linked-Lists will be studied in their most popular variations which include simple, circular, and multi-linked lists. The classic data structures of stacks and queues will also be discussed. Search and sorting techniques are analyzed with regard to time efficiency and ease of programming. Hashing methods for quick data retrieval are demonstrated. Tree construction and balancing techniques are discussed.   The course is centered on Java as the language of implementation. Java classes will be written to implement the Abstract Data Types that each data structure possesses. Recursive techniques are introduced early in the course. This course makes use of SUN's JDK 1.6 on a Windows NT or Linux platform where primarily stand-alone apps will be written.

This course is designed for those students interested in transferring to a four year college or university. Consequently, the student must be prepared to invest much time and effort  for successful course completion.


Text and Materials

Required Text:  Data Structures Using Java
By D. Malik, P. Nair
Thomson Course Technology
ISBN: 0-619-15950-2 
Publish date: April 3, 2003
832 pages
 

Course Policy

WEBSITE: In an effort to implement distance learning, course files will be placed on the Internet. Homework and lab assignments, solutions, and class announcements can be accessed using the web. Access the STCC Computer Science Web page using the URL:

http://faculty.stcc.edu/silvestri/

All course announcements and correspondence will be done through this site. It is your responsibility to visit this site at least once every two days to view the latest course announcements, homework, and news. To simplify the process, press Ctrl-D to bookmark the site in your browser.

HOMEWORK: Homework will be assigned after a major topic has been developed. The homework will consist of a programming assignment that reinforces a topic discussed in lectures. Each assignment has equal weight. Ten or more assignments will be assigned.   To receive credit for homework, source code and executables must be posted on the student's web site.

Homework is to be a reflection of things learned in class and lectures. While you can certainly ask the instructor some questions on homework assignments, excessive questioning of the instructor on homework does not reflect well on your grasp of the material. There have been times in the past where students questioned and questioned the instructor to the point where the program they submitted was really something the instructor wrote. The instructor in reality should have been awarded the A on the assignment. So please understand that in the interest of fairness to others in the class, excessive questioning will result in a reduction of the grade earned on the assignment.

At the start of each source listing, a global comment identification section containing the following information must be included:

  1. Your name
  2. Date
  3. Course Name and Number
  4. Problem Number
  5. Short Description of the Problem
  6. The email address where you can be reached.

Missing 3 assignments will be grounds for dismissal from class. Late homework cannot be accepted as solutions to the homework are routinely given as part of lectures.

LABORATORY WORK: Laboratory work is optional in this course. This doesn't mean that homework is optional; it merely means that you are not required to attend lab.

ATTENDANCE:  Attendance is required; a student is expected to attend all scheduled classes.  Missing 6 classes or the equivalent of 2 weeks of lecture will be grounds for class dismissal.  Students who arrive late to a class and miss the attendance call will be considered absent.  Any benefit of the doubt in the final grade will be given to students who come to class regularly.  You will find each class contains much material.  If you miss a class,  do not expect  the instructor to review missed material. It is your responsibility to get the lecture notes from a fellow student. Check the website for any materials discussed in class.

CHEATING POLICY: While student interaction on the solution of homework problems and labs is encouraged, blatant cheating and/or copying on homework and lab assignments will not be tolerated and will result in a 0 grade for the assignment in question for all participants. Dismissal from the class can also be an option depending on the severity of the incident.

GRADING POLICY:

Activity

Weight

Additional Info

Homework

30%

Each assignment has equal weight. Ten or more assignments will be assigned. Missing 3 assignments will be grounds for dismissal from class. One homework assignment will be dropped.

Mid Term Mini-Exams

50%

8 to 10 Short Examlets (Mini Exams) of Equal Weight. Each Examlet will be given after each chapter is discussed.  One Examlet will be dropped.

Final Exam

20%

Any student with an A average at the end of the semester will not need to take the final!!!

Exams can be either a multiple choice type exam or in-lab problem solving exam where a programming problem is proposed and the student will write a program solution.  When an in-lab programming exam is scheduled, you required to use the Eclipse IDE and the command line java utilities, javac, java, and appletviewer.  While there are a multitude of ways to build your programs, our lab is only equipped with these utilities.


Suggestions on How to do Well in this Class

  1. Keep a notebook and take the best possible notes at each lecture. Some lecture material may not be fully discussed in the text. Also, problem solutions are performed routinely in the lectures.
  2. Start your assignments immediately after they have been assigned!!! It is unfortunate that students tend to put off working on their assignments until the day before it is due. Their work is usually substandard and their grades reflect it.
  3. In order to receive credit for an assignment, you must submit something that shows you were near a solution. The worse thing you can do is submit nothing. Nothing is the equivalent of a zero, and we all know what a zero can do to an average.
  4. Give a good effort to solving homework problems. Take the time to thoroughly understand the homework since it is through these assignments that you will understand the subject matter.
  5. Bring your textbook to class every day!!! Lectures will be based on examples given in the text.

Course Syllabus and Objectives

(Please see your book’s Table of Contents for specific chapter details.)