CS310 DATA STRUCTURES - Fall 2004
BA 347 MW: 2-3:15pm
Updated: 08Dec04

Dr. Kris Stewart (stewart@rohan.sdsu.edu)
Office: GMCS 535
Office Hours: Mon Wed 12:30-1:30pm and 3:30-4:30pm
San Diego State University

NOTE:
Only email with a subject field indicating CS310 and the topic sent from your class account to the instructor's Rohan account will be read and/or responded to. Any attachments will be deleted, unread.

This URL is stewart.cs.sdsu.edu/cs310/

Welcome to your exciting programming class implementing a variety of useful data structures and discovering how to effectively predict the performance of the algorithms used to manipulate these structures.

PREREQUISITES:

CS 108 Intermediate Computer Programming,
Math 245 Discrete Mathematics (and its prerequisite Math 150 or Math 121 - Calculus)

LEARNING OUTCOMES:
Students will develop the programming skills to effectively code the solution to problems in Data Structures using JAVA. Students will also gain understanding of the properties of algorithms and how these properties affect the time to solution for various sized problems. Students will come to understanding performance properties of algorithms through programming assignments and studying for examinations. The first-hand knowledge gained through adapting sample programs to address alternate problems and the analysis of the run-time behavior of these solutions is a fundament skill for all computer scientists.

Examinations [60% course grade]

Programming Projects [40% course grade]

Resources for CS 310 [includes email archive]

Chapter 15: When to use What? 08Dec04 Lecture

Demos from Chapters 12-15
Finishing Up Calendar Fall04 (22Nov04) [last 3 weeks]
October & Mid November Calendar
September Calendar

TEXT:
We use a textbook which provides examples in Java in the text and useful sample codes online to allow you to do your own explorations and discovery.

Data Structures & Algorithms in Java, 2nd Edition, by Robert LaFore
SAMS Publishing
Text URL
Table of Contents [from Text Web Site]

SYNOPSIS: (from SDSU Catalog) Representations and operations on basic data structures. Arrays, linked lists, stacks, queues, and recursion; binary search trees and balanced trees; hash tables, dynamic storage management; introduction to graphs. An object oriented programming language will be used.

This course will use JAVA. If you have a background in C++, then you should find the discussion in Chapter 1 of the text to be useful.

COMPUTING ENVIRONMENT:
For this course, you will do extensive programming in Java. Java is the language of instruction for the course. Each student is given a class account on Rohan, the university academic Sun computer. All programming assignments must compile and run in your class account on Rohan. You must use the default Java version as installed on Rohan. Your class accounts will be distributed on the first day of class and you are encouraged to logon to them right away.

You should use this account only for work related to this class. It is against University policy to use SDSU computer resources for commercial purposes. All SDSU students may apply for a personal account on Rohan. You should use a personal account for all work not related to this course.

By default, the permissions set on your account files are private. Do not set global permissions on any files in your class account. This is a gradeable issue.

You should safeguard your password, and protect access to your class account. Be vigilant when working in the computer labs. Lock the screen, or log out if you must step away from the lab. You are responsible for protecting your intellectual property.

GRADING CRITERIA:

  1. You will have three to four Java programming assignments reinforcing topics from our text. These assignments will comprise 40% of your grade.
  2. You will have two midterms and one final. These exams will comprise 60% of your grade.

Fall 04 Course Activities

Lab 2 - BA 110 - Rohan to run the text sample codes from Chapter 2 Arrays - 8Sept04
Lab will ensure that students have accessed their Class Rohan account and can successfully view the text book's sample Java programs. We will also review information from the first lab, last week, focussing on Student Responsibilities for Academic Computer Use.
Lab 1 - BA 110 - xTerm access to Rohan.sdsu.edu Wednesday 1Sept04
Students log into class Rohan account. Sample programs will be compiled and run. Our course focus is Java on Rohan and your future programming assignments must be turned in from your class account on Rohan. We will be working with the Chapter 2 Arrays examples, so please read to prepare yourself.

There are additional responsibilities that all students must be aware of in using the resources at San Diego State University which will be covered this lab. Several of the references will be useful to you during the semester as your skills in Java programming in the Solaris Unix environment evolve.

COURSE RESOURCES: