COSC 600.101 - Towson University - Search Page

brickcompetitiveSoftware and s/w Development

Dec 14, 2013 (3 years and 5 months ago)

247 views

COSC 600
Section 101

Fall

Semester 201
3


Advanced Data Structures and Algorithm Analysis

(3 credits)


M
W

4
:00

pm
--

5
:
15

pm.

YR
3
01 (7800 YR Rd.)


Instructor
: Dr. Yanggon Kim


Office:
473

YR




Phone: 410) 704
-
37
82


E
-
mail:
ykim@towson.edu
,
ykim0831@yahoo.com


Office hours
:
M





10
:
0
0
a
m

--

1
0
:
5
0

a
m.




W




3
:
0
0 a
m

--


3
:
5
0
p
m.




and other hours scheduled by appointment.


Prerequisite:

COSC501 or computer science graduate standing.


Course Description:


Data abstraction, linear data structures, file organization and access methods, memory
management, advanced internal and external sort and search algorithms and the trade
-
o
ffs
involved in the use of different data organization.


Course Objectives:

To study the
theory and methods of algorithm analysis
.

To
study the theory and techniques of recursion.
.

To study
different algorithm design and techniques
.

To
study linear and non
-
linear data structures
.

To
study graph algorithms and applications.


Class Organization:

This class is crucial for almost any other computer class that you will take in the future so
it is important that you do well. It is important that you attend all
the

classes
. It is the
student’s responsibility to make up missed work. The software development environment
for the course will be
Java
.


Textbooks:

Data Structures and Algorithm Analysis in Java (
3rd

Edition)
,
Mark Allen Weiss
,

Addison Wesley,

20
13

(Required)



CD
/USB memory
:

You will need to purchase
CD
/USB memory

to use throughout the
semester for storing your programs.



Grading
:

The course grade will use
+/
-

grading scheme

and
will be determined by
homework assignments,

attendance, participat
ion, and
two exam
s(One midterm Exam
and one final exam.)
.



Assignments (
7



9

assignments):



2
5
0


Quizzes and
Attendance
:




15
0


Midterm Exam :





300


Final Exam:






3
00

Total









1000


Note:


Attendance:
Attendance: Daily attendance will be checked. You can have at
most
one

absence without any penalty. But I will lower your final grade
after one

absence.


Exams:



Midterm examinations will be given:



Midterm :
October

16

(Wednes
day
) in class.


Final
exam will be during the final exam period.



Final Exam. :
Dec.

1
6

(
Wednes
day) (
4
:00

pm
-

6
:
0
0 pm)


Note: No makeup exams will be offered for any reason

unless student

provide
s

an
acceptable written document for being absent from an exam in advance.


As
signments:

You will be expected to complete
7

or more
problem solving assignments and
programming assignments of possibly varying weights.



Assignment can be done on any PC computer using
Java.




Start each assignment as soon as it is handed out, so that you

have time to ask questions.



Every assignment must start with a typed block of comments giving your name and
assignment number. This introductory block should briefly describe the purpose of the program,
inputs expected and outputs produced, any procedure
s called.



All output should be labeled and neat.



Assignments should be turned in
at the beginning of class

on the date specified by the
instructor in a folder
. Assignments will
NOT

be accepted after this point. You should always
plan to turn in
something

on time for partial credit.



All assignments are expected to be
INDIVIDUAL
work. All work handed in must be
original. Duplicate or very similar programs receive a negative grade. Please refer to "Towson
State University Code of Conduct, H. Prohibited con
duct."



Repeating A Course
:
A student may not repeat a course more than once without prior
permission of the Academic Standards Committee.

Class Schedule (Tentative
)

Week 1:

Introduction

Week 2:

Mathematics Review and Java



Week 3:

Algorithm Analysis




(Ch. 2)



Definition



General big
-
O rules



Analyze recursive algorithms

Week 4
-
5
:

Review of linear structures



(Ch.
3
)



Lists, queues, and Stacks



operations analysis



Java implementations

Week

6:

Trees






(Ch. 4
)



basic algorithms on tree



Binary trees



Binary/multi
-
way search trees and its analysis

Week 7:

Trees






(Ch. 4)



AVL trees



Splay trees



Tree Traversals



B
-
Trees

Week 8:

Midterm Exam (
Oct. 16
(Wednesday))





Week 9
-
10
:

Trees






(Ch. 4)



AVL trees



Splay trees



Tree Traversals



B
-
Tree

Week 11:

Hash
ing






(Ch. 5)

Week 12
:

Graph






(Ch. 9)



graph ADT



data structures for graph



review graph traversals



direct graph/Undirected graph

Week 13
:

Graph Algorithms




(Ch. 9)



Shortest paths



topological sorting



minimum
-
spanning tree



Network Flow Problems

Week

1
4
-
15
:

Priority Queues(Heaps)



(Ch.
6
)



Nov. 30 No class


Thanksgiving Holiday

Week 1
6
:

Sorting







(Ch.
7
)


Week 1
7
:

Final Exam :
Dec

1
6
(
Mon
day)

(
4
:00
p
m


6
:
0
0pm.)