|
|
CSIS 310 - Data Structures
Course Description
- An introduction to the concepts of information organization,
and manipulation. The course covers basic sequential
structures such as lists, linked lists, stacks, and queues
and moves on to more complex data structures such as trees,
graphs, priority queues, and dictionaries. Programming
projects are completed in one or more high-level languages.
Instructor
- Dr. David M.
Hansen
Texts
-
- Required
-
- Recommended
-
(Strongly)
- Aho, A.V., and Ullman, J.D.
Foundations of Computer Science C Edition.
New York, New York: W.H. Freeman and Company.
- Pohl, Ira, and McDowell, Charlie.
Java by Dissection.
Reading, MA: Addison-Wesley.
(only if you need Java help - not available in bookstore)
Objectives
-
- Students will understand how to build and use basic data
structures including:
- Lists
- Stacks
- Queues
- Trees
- Graphs
- Priority Queues
- Dictionaries
- Students will be able to choose, implement, and use
data structures appropriate to a given problem.
- Students will be able to use these basic data structures
to build more complex data structures and complete programs
to solve specific problems.
By the end of this class I hope you'll find that
- you never worked harder,
- never learned more, and
- can't wait for more.
Course Organization
- This course will be programming intensive. Though many data
structures are now provided by libraries or programming
languages themselves, we will implement many of these
structures in this course to gain programming experience
and an understanding of basic programming principles. The
data structures studied here form the fundamental building
blocks used in developing complex programs.
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
-- Linus Torvalds
Programming assignments will be carried out in a prescribed
high-level language. Instruction in the use of
this language will be provided, but the focus of this course
will not be on a particular programming language, but on
language-independent data structures. You are assumed to
have previous experience with one or more high-level
languages and will be expected to acquire the language skills
necessary for this course with a minimum level of instruction.
The course will include regular homework and programming
assignments (please see my
comments on collaboration and
programming). There will be
NO CREDIT given for late assignments (without
an excused absence) - turn in as much as you can.
Reading assignments should be completed
before the lecture covering the material.
Not all reading material will be covered in the lectures,
but you will be responsible for the material on homework
and exams.
Quizzes over the assigned reading
may be given at any time.
The Vision Statement of the Computer and Information Science
Department states that our students are distinctive by:
"Bringing a Christ-centered worldview to our increasingly technological
world."
As one step towards the fulfillment of this objective, each
semester, I will identify an influential Christian writing to be read
and reflected upon by students in my classes throughout the term.
This will be treated as an official component of every course and will
be uniquely integrated and assessed at my discretion, and
included as a component of the quiz grade. Each Monday morning
students should email a brief reflection on the
previous week's assigned
reading to the
readings
email list.
It is my hope that students will not view this as one more task to
complete, but as a catalyst for continued discussion ultimately leading
to a deeper walk with Christ.
The chief end of man is to glorify God, and enjoy Him
forever. (Westminster Confession)
If you have specific physical, psychiatric, or learning disabilities and
require accommodations, please contact the Disability Services Office as
early as possible so that your learning needs may be appropriately met.
You will need to provide current documentation of your disability to the
Disability Services Office. For more information, go to
ds.georgefox.edu
or contact Rick Muthiah, Dean
of the Center for Teaching and Learning (ext. 2314)
Grading
- Grading Scale
The final grade will be based on:
Tentative Schedule
-
|