CS 3240 Winter 2005 Home Page
CS 3240 - Data Structures and Algorithms - 4 Credits

Instructor: David Yang (e-mail: dyang@csuhayward.edu, 885-3449)

In this course, we will:

  • introduce principles for organizing data (data structures),
  • discuss how to write well-defined solutions (algorithms), which typically make use of data structures
  • and discuss how to compare different data structures and algorithms, especially for solving problems involving large amounts of data

Data structures and algorithms are important in almost any field within computer science. Whether rendering a dinosaur, analyzing data in a data warehouse, laying the wires on the design of a CPU chip, or approximating the integral of a function, algorithms are necessary to solve the problem. More generally, the design of a solution to a problem turns out to be more important than the implementation.

At the same time, programming and the abstract problem solving skills required to write program are essential for getting something out of a computer science degree. We will be doing a lot of programming in this course, both on your assignments and in your exams.

The material for this course course is covered in part of the comprehensive exam.

Prerequisites: You are expected to be comfortable with the material in the following courses or their equivalents. In particular, you will be doing some programming in either C++ or Java.

  • CS 2360 Programming Methods and Introduction to Software Engineering
  • CS 2430 Computer Organization and Assembly Language Programming
  • (recommended for most) CS 3120 Programming Language Concepts

CS 2360 is important because you do need to know how to program in order to do the assignments and the exams. The concepts we cover and the conclusions we make will be language-independent, but you need to be able to implement the solutions as well. C++ or Java both happen to provide meaningful support for some of the concepts we will learn.

CS 2430 is important for understanding the effects of data structure design as well as practical limitations for both data structures and algorithms.

CS 3120 offers a truly practical use of the stack data structure. Furthermore, it is helpful in understanding how the concepts in this course are not limited to just C++-like languages.

Text:
Dale, C++ Plus Data Structures, 3rd ed., 2003, Jones & Bartlett, ISBN: 0-7637-0481-4.
OR
(for those planning on using Java) Dale, Joyce and Weems, Object-Oriented Data Structures Using Java, Jones and Bartlett, 2002. ISBN: 0-7637-1079-2

Calculation of your grade:There will be two exams during the quarter, worth 15% each. The final is worth 30% of your final grade. Homework assignments (written and programming) are worth 30% of your grade. There will be a lab component of this course that will primarily be done in class and will be worth 10% of your grade.

Lateness: Assignments need to be submitted to me through Blackboard by the deadline. Exceptions will be made under extreme conditions, but this would mean something like a school closing/power outage.

Final grades will be given according to the following scale: 

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-, 

67-69 D+, 60-66 D, 0-59 F

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, any cheating, or assisting another students cheating on any test, or the final exam will be penalized by either a zero on the test, or by failure of the course, at my discretion.

Finally, if you cheat (whether you do the copying or let someone copy) twice during this course, you will automatically fail the course. Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Attendance: I will take attendance through the end of the add/drop period. Note that while I will be uploading lecture notes to Blackboard after the lecture, they sometimes include material not covered in the text, and they include thought questions for class discussion that won't always be answered within the notes.

Classrooms: 

Monday, Wednesday 1:20pm-2:30pm North Science 119

ROOM CHANGE: All Friday meetings this quarter will be held in North Science 104

Office Hours

Click here for the class schedule


 
This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University.