Fall 2009 - CS 163 - Data Structures - Syllabus

  Instructor T.A.
name: Tim Sheard ?
office: FAB 120-04 ?
email: ?
location: lecture
FAb 150
Labs
?

Please note that the syllabus will be adjusted during the quarter. I reserve the right to change it at any time for any reason. You will see on the Daily Record on the class homepage when a change has been made and are expected to check the class Daily Record before every class: http://web.cecs.pdx.edu/~sheard/course/Cs163/DailyRecord.html

Course Description

Data abstraction with formal specification. Elementary algorithm analysis. Basic concepts of data and its representation inside a computer. Linear, linked, and orthogonal lists; tree structures. Data structures are implemented as data abstractions. Sorting and search strategies. Data management. Prerequisite: CS 162.

Prerequisites: CS 162, Introduction to Computer Science II.

Goals: To acquaint students with structures used when programming for the storage and manipulation of data. The concept of data abstraction and the problem of building implementations of abstract data types are emphasized. Both pure and stateful implementations of major structures are presented and the advantages and disadvantages of each are discussed. Structures include lists of several types, stacks, queues, trees, binary trees, B-trees and graphs. Recursion and key transformation (hashing) are examined. Students are encouraged to examine algorithms and to make judgments about the practical and social application of these algorithm concepts to large scale programming projects; the course stresses the importance of quantitative methods in designing software.

Upon the successful completion of this course students will be able to:

  1. Apply data abstraction in programming problems.
  2. Become proficient at evaluating the benefits and drawbacks of their design in terms of memory and run time efficiency.
  3. Program using classes and linear linked lists, circular linked lists, doubly linked lists, binary search trees, arrays of linear linked lists.
  4. Select the proper sorting algorithm for a problem.
  5. Design solutions to problems requiring complex data structures (combinations of lists, stacks, queues, hash tables, and trees).
  6. Apply data abstraction.
  7. Apply both static and dynamic implementations of lists, stacks, queues, hash tables and trees.
  8. Evaluate the performance tradeoffs between binary search, 2-3, 2-3-4, red-black, B-trees, and AVL trees.
  9. Build and traverse data structures to manage a simple graph.
  10. Apply recursion and key transformations.
  11. Make judgments about the practical and social application of algorithm concepts as they apply to large scale programming projects.

Major Topics:

Texts for the Class

None.

Course Website

The class web-page: http://web.cecs.pdx.edu/~sheard/course/CS163/ is an invaluable resource. Be sure and learn how to use it effectively.

The class webpage maintains a "Daily Record" which catalogs every class activity. Activities include lectures, reading assigments, writing assignments, projects, etc. These are catalogued by day, both when they are assigned and when they are due. You should check the daily record before every class.

Black Board

We will use the blackboard system to turn in assignments. Be sure you have access to the cs163 blackboard site when you login: https://bb.pdx.edu/webct/entryPageIns.dowebct

Things needed

Grading and Assignments

The course grade will be based upon a number of factors including short daily homeworks, weekly programming assignments, longer programming projects, a midterm, class participation (see below), and a final exam.

Work not turned in, unacceptable work or an unexcused absence from class when the work was done receives no credit. Excused absences requires that students make arrangements with the instructor to turn in missed work be turned in as soon as possible. It is your job to make arrangements with me.

Readiness to learn means that you will come to class with questions and insights to offer to others and be prepared to discuss the assigned reading. We will be learning from each other and your voice is important. Your participation grade will include attendance, participation in class discussions, participation in online discussions, and group work in class on smaller design problems and case studies.

Student Conduct/Plagiarism:

The following constitutes conduct proscribed by Portland State University for which a student or Recognized Student Organization or group is subject to disciplinary action:

Academic dishonesty. Academic dishonesty is the act of knowingly or intentionally seeking to claim credit for the work or effort of another person or participation in such acts. This includes, but is not limited to: (a) cheating, (b) fraud, (c) plagiarism, such as word for word copying, using borrowed words or phrases from original text into new patterns without attribution, or paraphrasing another writer’s ideas; (d) The buying or selling of all or any portion of course assignments and research papers; (e) Performing academic assignments (including tests and examinations) for other persons; (f) Unauthorized disclosure or receipt of academic information; (g) Falsification of research data; and (h) Unauthorized collaboration.

Source: Office of Student Affairs at Portland State University, Code of Student Conduct and Responsibility. A copy of the full code can be found at http://www.pdx.edu/dos/codeofconduct. A copy can be obtained from The Office of Student Affairs at Smith Memorial Center Room 433. The Writing Center at Portland State University has prepared PLAGARISM: A Guide for Students to assist students in understanding plagiarism and developing strategies on avoiding it. A copy of this guide is available from Writing Center located in Cramer Hall 188F. Please read it carefully. Or see http://www.writingcenter.pdx.edu/ or http://www.lib.pdx.edu/instruction/survivalguide/index.htm. Scholarly work resulting from plagiarism or cheating will receive no credit and all expectations of student conduct code will be strictly enforced in class.

Disability Resources

If you have a disability and are in need of academic accommodations, please notify me (the instructor) immediately to arrange needed support. For more information about the Disability Resource Center, see http://www.drc.pdx.edu/.

Back to the class web-page.