CS3100 Syllabus


home

Syllabus

CS3100 Data Structures and Algorithms

Prereq: 2500.

Professor:

Dr. R. Silverman

http://www.cs.csustan.edu/~rrsilver



Learning objectives:

This course is about learning how to write program components.

We model components by concept called Abstract Data Type. Abstract data type are models of “components” appearing often in computer programs, for example: list, queue, binary search tree, or a B-tree.

We will learn how different ADT's work and implement them in the object oriented language Java.

An intro to Java language will be given to students with background in C++. (Koffman book Appex A)

We will learn how to evaluate speed performance of selected algorithms.

[maybe] We will learn how to prove algorithm correctness.

For Java programs use the format/style described on this website.

Main | research | JavaCorner | there are few pages you should study, one containing program : ProgramStyle2500


Sometimes we may represent programs using flow charts (FC).

For each FC give the name of the program represented.

Required textbook:

Book: Data Structures Abstractions and Design Using Java, 2E; Koffman

ISBN: 978-0-470-12870-1




General Notes:

If a lecture has a reference, that means you should read the reference material before that lecture. Everything is subject to change.


Schedule

week

date

Topic

ref

note

1

1/28

course mechanics

hwk submission

Java for C++

array of objects

program style see help2500 page

Notes

CS2500

appendix

help2500

ch1.1,1.2,1.3


2

2/4

Classes, Objects

OO language

reference

7SP see help2500 page

ADT concepts

Notes

CS2500

appendix

help2500

ch1.4,1.6


3

2/11

Integer Stack

ADT Stack

generic Stack

Ch3.1, ch3.3


4

2/18

LL iterative

Ch2.5


5

2/25

Recursion concept

ch5


6

3/4

LL recursive

Ch2.5


7

3/11

LL recursive

Ch2.5


8

3/18

Performance

Big Oh


ch2.4


9

3/25

Sort

performance

Ch8.3-8.7

ch8.9


10

4/1

break



11

4/8

Sort

performance

Ch8.3-8.7

ch8.9


12

4/15

Trees

BST

Ch6.1-6.4


13

4/22

Trees

BST

Ch6.1-6.4


14

4/29

Heap

Ch6.5


15

5/6

Graph algorithms

Ch10.1-10.4


16

5/13

ADT concepts

notes






















Points Allocation


hwk or small projects (number x TBD)

20, x TBD

surprise quizzes (number q TBD)

10, q TBD

exams (3)

100, each

Total points

(300 + 20 * x + 10 * q)

raw average

{e1*100 + e2*100 + e3*100 +sum(x * 20) + sum(q * 10)} / totalPoints





Tardiness grade adjustment

ra – raw average

fa – final average

k – number of times student is late

fa = ra – 10 * floor (k / 3)


Final grade assignment


Final average

Letter grade

[90, 100]

A

[80, 90)

B

[70, 80)

C

[60, 70)

D

rest

F





Copyright

All information on this website is copyrighted by Robert R. Silverman, 2002, ... current date. No part of this system or information presented here can be reproduced using any means, such as: book print, physical, electronic, chemical, biological, mathematical, telepathic, or other not yet discovered means without the explicit permission by Dr. Robert R. Silverman, CSU Stanislaus, rsilverman@csustan.edu An explicit permission is given to all my students to copy this material as needed for educational noncommercial purpose.