James Madison University

College of Integrated Science & Technology

Department of Computer Science

Fall 2007

 

CS 240 Data Structures and Algorithms

 

Professor:    Dr. Elizabeth S. Adams

Office:      ISAT/CS  213

Phone:          (540)-568-1667

E-Mail:        adamses@jmu.edu

Office Hours: 

Mondays:  4:00-5:00 pm

Tuesdays:  10:30-11:30 am

Wednesdays: 1:30-3:00 pm

Thursdays:  10:30-11:30 am

Fridays:  by appointment and whenever my door is open

 

NOTE:  I am frequently in my office at other times, particularly in the evening and you are welcome whenever I am there and my door is open

 

Class Room :  HHS 2208

 

Class Meeting Times:

Monday

Wednesday

Section 002

5:15-6:30pm

Section 001

5:15-6:30pm

 

Textbook: 

  • Ada  plus Data Structures, John McCormick and Nell Dale, 2nd Edition, Jones and Bartlett, 2006

 

Useful Other Materials:

  • Software Construction and  Data Structures with Ada 95,  Michael Feldman, Addison Wesley   - on reserve in CISAT library
  • Ada Language Reference Manual – available as part of GNAT Ada installation and on reserve in CISAT library
  • Class web pages found at  https://users.cs.jmu.edu/adamses/web

 

 

FINAL EXAM will be Monday, December 10th – 7pm in _____

Course Description:

  • In this course students will study the classic data structures including, but not limited to: stacks, queues, linked lists, trees, graphs, heaps and hash tables.  They will be interested in the storage structures and algorithms used to manipulate these data structures and the operations that can be performed on them.  They will learn to differentiate between the specification of the operations performable on a data structure and the implementation of it.
  • Students will study classic sorting and searching algorithms in detail and will learn how to evaluate their efficiency (asymptotic run times). 
  • Students will have the opportunity to write recursive algorithms and to be come better acquainted with their usefulness and their requirements..

 

Grading Categories and Weights:

Categories

Basic

Quizzes & Programs for homework

15%

Programming Assignments

20%

Midterm Exam(s)

20%

Final Exam

30%

Attendance/class participation

5%

 

Grade Criteria:

Grade

A

B

C

D

F

Average

90 or more

80-89

70-79

60-69

less than 60

 

Course Assumptions:

  • Students are in this class to learn
  • The programming language in the course is Ada
  • This course requires a lot of time
  • The coding of programming assignments and programming homeworks are individual work although questions may be addressed to the professor or posted on the Blackboard Discussion Board for this class
  • Discussing the requirements of a programming assignment or programming homework with other students is permitted
  • Students will come for help rather than not turning in an assignment
  • Grades will be posed on Blackboard
  • Feedback will be given on student work – in the form of class discussions and individual grades

 

Programming Assignment Delivery Requirements

  • Source code will be submitted via the Blackboard. What else to submit will be specified with each assignment and may include sample input used to test the program and output produced by program test. 
  • Submission instructions will be specified.
  • Specifications for names of files will be provided.
  • Printouts of source code,  sample input, sample output must be submitted for each programming assignment and must be submitted in a folder.
  • Late programs will suffer a penalty point deduction.
  • When students are asked to bring code to class on transportable media such as a flash drive or CD, or to submit a .exe file, such code will be readable using the Windows operating system.

 

Exam Information:

  • No makeup exams will be given.
  • The date of the midterm will be announced in advance of the exam.
  • As per the registrar’s schedule, the final exam will be given:  Tuesday, December 12th from 8-10am.  NOTE: we will discuss this in class.
  • You must take the final to pass the course regardless of the grade you have earned up to that point (i.e. even if you have enough points to pass the course with a 0 on the final, you must take it to pass the course).

 

Professor/Course Policies:

 

Policy on Incompletes:

Incompletes are not usual.  They are never automatic.  They will be considered only when circumstances beyond your control prevent timely completion of the course.  You can not be granted an incomplete unless you are passing the course at the time you request the incomplete.

 

Attendance Policy:

 I expect you to attend every class and be prompt. If you are late, please enter quietly so as not to disrupt the class. I would rather you come late than miss an entire class.  If you have to miss class, it is YOUR responsibility to get any material you may have missed from another student in the class.  If you tell a friend in advance, they can take notes for you..  If you must miss a class, please let me know via e-mail before the class or as soon afterwards as is possible.

 

Written Work Policy:

All work done and turned in for grading must be computer generated and printed! This includes charts, pictures, drawings, as well as text. DO NOT turn in work that is hand written unless I specifically announce that it is okay.  It must have your name, course number, semester (Fall  2007) and date of submission in the upper left corner of the first page, and multiple pages  must be stapled together.

 

Email Policy:

When you write to me to ask a question or make a comment, please use your own school account whenever possible and make sure that your mailbox has room for me to respond to you.  If you use another account, make sure you identify yourself as I will  not open mail if I can't identify the sender.  I read e-mail regularly and respond to each and every message.

 

The Honor System:

I uphold the JMU Honor Code. Unauthorized collaboration will be punished as will other violations of the JMU Honor System. Some violations to be aware of:

1.       Sharing of computer account passwords for any reason.

2.     Allow another student to use your computer account unsupervised.

3.     Giving or receiving help when we have asked you to work alone.

4.     Sharing documents or parts thereof electronically.

 

You are all here to learn, not only from me, but also from each other. I encourage you to work together towards solutions and to share your knowledge with your classmates.  A number of assignments (such as the projects) will be group assignments.  Others will be individual assignments (programs, homework, quizzes and tests). I expect that you UNDERSTAND anything that you turn in to me. If you do not at least know what’s going on in the code, do NOT take credit for it. Please note that signing a roll for another student is considered cheating and will result in a minimum one-semester suspension from the university.

 

Grades: 

Grades will be clearly indicated on graded work when it is returned to you.  It is your responsibility to keep all graded work until the end of the semester in case you wish to dispute your grade.  Grades will  be posted on Blackboard

 

Missing Tests / Exams: -

Don't!  If there is an unavoidable reason for you to miss a test, you must inform me in advance and it may be possible for you to make it up. If you miss a test and inform me afterwards, then, depending on the reason, you may be allowed to make it up (with a 25 point penalty).  If you miss the final exam, you are out of luck and will not pass the course (i.e. you will earn a grade of F) regardless of your average at that point.

 

Final Grades:

Final grades will be available as soon as I have finished grading all work for the course and submitted the grades.  Final grades may only be changed if there is a clerical error in the computation or recording of your grade. Please have all of your graded work in your possession when you come to see me if you believe an error has been made.

 

Extra Credit: 

There will be no extra credit.   Do the best job you possibly can on work and readings assigned.  If you do not have time to fully complete assignments, you won't have time for extra credit.

 

Crisis:

If you get seriously ill or have some family crisis that causes you to miss a deadline, please get in touch with me as soon as possible.  I will work with you to help you complete the course.

 

Advice:

·        LEARN!!! Listen with an open mind. Be skeptical of ideas presented. Do assignments with enthusiasm. The assignments are to aid in your learning, not because I feel you need something to do. College has many purposes: to get you a job, to prove to the world that you can solve problems well, and to educate you.  Learning need not be a chore. For whatever reason you’re here, realize that I am here to help you learn.  I can't however, learn for you.  You must do it for yourself.

 

·        PREPARE and REVIEW!!!  Prepare for class and review afterwards. Doing the assigned readings before lecture helps greatly in understanding the material as it is presented. Review the lecture material (and your notes) after lecture (the next day perhaps) to make sure that it all still makes sense. Plan to spend at least 2-3 hours of time outside of class for every hour in class

 

·        BE AWARE!!!  Know what the course policies are and carefully study the grading scheme for the course.  You can see that you will be submitting a lot of work to me.  It is important to understand that it is the totality of your work that will determine your grade.  no one  quiz can seriously affect your grade.  You should retain all graded work that is returned to you so that you can study from it and learn from your mistakes.  in addition, should you believe that your grade has been mis-calculated, the graded work will provide the basis for re-evaluation.

 

·        ENJOY!!!  Computer science is fun.  It is a fascinating major and one which you will find challenging and rewarding.  It’s not easy but it can be exciting and exhilarating.  Everything takes longer than expected so to keep it fun, keep up to date.   This course may be one of the most useful courses you will take in terms of your future in the field. 

 

Add/Drop Deadline information  ..\Fall_Semester_2007_Add-Drop_Dates.doc