COMP 2247-01 – Algorithms and Data Structures


Fall 2002
4 credits

Section 2247-01: Monday, Tuesday, Wednesday, Thursday 12:00 – 12:50   EH 103

Instructor:  Kathleen Creager
Office:  MH439
Phone:  285-7171 (office)
Email: kathleen.creager@roch.edu (school)   or   kathleen.creager@charter.net (home)
Office Hours: Monday 11:00 – noon, Wednesday 1:00 – 2:00
Tuesday 7:45 – 8:45 in EH211 (after the evening class.  I will stay till 8:45 or until there are no students left there, whichever comes first!)
(additional office hours by appointment)

Catalog Description: Problem solving techniques with data structures.  Introduction to object-oriented concepts.  Use of linked lists, stacks, queues, and binary search trees.  Sorting and searching algorithms.  Complexity of algorithms.

Recommended entry skills/knowledge:  Ability to:
a)  Design algorithms using stepwise refinement
b) Document algorithms using flowcharts or pseudocode
c)  Write and document programs in Java using :
  simple data types, class objects, and arrays
  input and output from keyboard/screen and files
  sequential, selection, and looping control structures
  subprograms (methods)
d)  Compile and run a Java program
e)  Test and debug a program
f). understand the rudiments of data storage within a digital computer
g) define the activities of a computer’s CPU
h) understand the concept of an algorithm and its importance within the discipline of computer science
i) understand the benefits of modular design
j) understand the concept of abstraction and elementary abstract data types
k) distinguish the difference between conceptual and actual file organization
l) understand the concept of computability.
 

Prerequisite: Comp 1150, Comp 2243, (and therefore Math 1115, which is a prerequisite of Comp 2243), college level reading.  The recommended entry skills listed above are included in the objectives of Comp 1150 or Comp 2243.

Objectives/Competencies: After completing this course, students will be able to:
a) Analyze and compare complexities of algorithms
b) Design, write, document, and test programs using object-oriented concepts including class types and objects, encapsulation, and information hiding
c) Design, write, document, and test programs using :
  linked lists, sorting algorithms, search algorithms, stacks, queues,
  binary search trees
 

Text: Programming and Problem Solving with JAVA by James M. Slack

Other Materials:Optional:  JPadPro software license for home use, available through the bookstore.

Disability Accomodations: Any student who may need an accomodation for a disability needs to speak to Travis Kromminga, RCTC Disability Director.  Travis’ office is SS 168, and his phone number is (507) 280-2968.  TTY Relay number is 1-800-627-3529.

Attendance Policy:  Class attendance is not directly part of your final grade.  However, you are responsible for all material covered in class, even when you aren’t there!  Attendance for tests and the final exam is mandatory.  If it is impossible for you to be present for a scheduled test or exam, you must let me know BEFORE the test, so a make-up test can be scheduled.  Failure to schedule a make-up within 2 school days of the scheduled test time will result in a grade of 0 for that test.  Quizzes will be announced at the previous class period.  Missed quizzes may not be made up.  The lowest quiz score will be dropped.

Please be considerate of your classmates during class.  Students are expected to show courtesy and respect toward their classmates.  Please do not carry on side discussions with other students during lecture time – when you have a question, please raise your hand and ask the question so that everyone may benefit from it.  Also, please try to make sure that your cellular phone and/or pager does not interrupt during lecture time, and especially during test time.

Grading:
6 Homework assignments each worth 5 points              30 points
5 Programming Assignments each worth 30 points      150 points
6 Quizzes each worth 10 points, low score dropped      50 points
3 Tests each worth 50 points                                     150 points
Comprehensive final exam                                         100 points

Total        480 points

Total points earned as a percent of total points available will be used to determine the course grade as follows*:
90 to 100%     = A (432 or more points)
80 up to 90%  = B (384 – 431 points)
70 up to 80%  = C (336 – 383 points)
60 up to 70%  = D (288 – 335 points)
less than 60% = F (no credit for course: 287 or fewer points)

*  homework/programming assignment average AND test/quiz average must be 60% or higher to pass the course – if total quiz/test/final points (after dropping low quiz score) is less than 180, or total homework/program points is less than 108, course grade will be an F regardless of overall total points.

All homework assignments (but not programming assignments) may be done in groups.  Homework assignments are due at the BEGINNING of class on the date due, and will not be accepted late.

Programming assignments may NOT be done in groups.  All programming assignments are to be your own work. Plagiarism will not be tolerated.  Any duplicate programs or parts of programs turned in will result in a course grade of F for all people involved.  The programs are to be electreonically submitted (details announced later) by noon on the day they are due.

The policy for late programs is: A late assignment turned in by noon two class periods following the due date will lose 3 points.  A late assignment turned in by noon one week following the due date will lose 6 points.  Assignments will not be accepted later than one week following the day they are due.  Exceptions to the late policy may be made IF there are special circumstances AND you let me know before the assignment is due.

Requirements for each programming assignment (unless stated otherwise in the program handout) are: program design (flowchart or pseudocode), source code listing (printout) complete with comments, test plan information, printout of test data and test results, and source files, class files, and any required data files submitted electronically.

Tests, quizzes, and the final exam are open book, open notes.

Tests are not released to students.  Once tests are graded, they will be handed back and gone over in class, and then collected by the instructor.  Please do not take notes while we are going over them in class!  At any time during the semester a student may request to look over a graded test in my office.

Weather or Other Cancellations: If class is canceled on a day that an assignment is due, the assignment will be due at the following class period, but the "late date" will not be extended.  If class is canceled on a day scheduled for review for a test (other than the final), the review and the test will each be moved out one class period.  If class is canceled on a day scheduled for a test (other than the final), the test will be given at the following class.

Schedule: A schedule showing all assignment due dates and scheduled test dates will be available by Wednesday August 28.