Maricopa Community Colleges  CSC210AB   20002-99999 

Official Course Description:  MCCCD Approval: 5-25-1999

CSC210AB  2000 Spring – 2000 Spring

L+L  4.0 Credit(s)  4.0 Period(s)  4.0 Load  Acad

Data Structures and Algorithms (Java)

Static and dynamic data structures and associated applications; recursive and iterative sorting and searching algorithms; introduction to object oriented design and programming techniques; software engineering methods including design models and implementation/testing strategies; professional responsibilities; Java language.

Prerequisites: CSC200.

 

Go to Competencies    Go to Outline
 

MCCCD Official Course Competencies:

 

CSC210AB  2000 Spring – 2000 Spring

Data Structures and Algorithms (Java)

 

1.

Write computer programs utilizing current software engineering techniques. (I)

2.

Describe how and why the basic object oriented principles of object classes, data abstraction, inheritance and polymorphism are used in the software engineering process. (II)

3.

Write Java applications that use objects and classes, methods, interfaces, object inheritance and exceptions. (II, III)

4.

Write Java programs that read/write to both file streams and random-access streams. (II, III)

5.

Write Java programs that handle exceptions.(III)

6.

Specify, design and implement maintainable programs in Java that include multiple pieces that work together to solve a single problem. (I, II, III)

7.

Design and write program modules that are used and reused with multiple projects, and describe the techniques and power of reuseability in the software engineering process. (I, II, III)

8.

Write Java programs that use the native vector and hash table data structures.(IV)

9.

Given a set of requirements, design and implement a solution in Java using data structures and algorithms that match the given requirements. (V, VI)

10.

Compare and analyze algorithms for searching and sorting. (VI)

Go to Description    Go to top of Competencies
 

MCCCD Official Course Outline:

 

CSC210AB  2000 Spring – 2000 Spring

Data Structures and Algorithms (Java)

 

I. Software Engineering

A. Description and justification

B. Use of case tools

C. Government regulations

D. Corporate and individual responsibilities

II. Design Models

A. Function model

B. Object oriented model

1. Classes

2. Inheritance

3. Polymorphism

4. Data abstraction

5. Interfaces

C. Comparison of design models

III. Java Language Features and Basic Packages

A. Primitive types, operators, statements

B. Strings, classes, objects, methods, fields

C. Privacy, scope

D. Arrays, static methods and objects

E. Extending classes, inheritance

F. Interfaces, abstract classes and methods

G. Object class hierarchies, polymorphism

H. File and stream input/output, binary files

I. Exception handling

IV. Advanced Java Packages

A. Wrapper classes

B. Collections

C. Vector

D. BitSet

E. Hash table

F. Enumerations

G. Threads

V. Data Structures

A. Arrays

1. Vectors

2. Multi-dimensional arrays

B. Linked lists

1. Single

2. Double

3. Circular

4. Non-circular

C. Stacks

D. Queues

E. Binary trees

F. Hash table

VI. Algorithms

A. Searching

1. Linear methods

2. Binary search

3. Using binary trees (recursive and iterative methods)

B. Sorting

1. Linear methods

2. Binary insertion sort

3. Quick sort

C. Comparison of algorithms

D. Complexity of algorithms-0 notation

 

Go to Description    Go to top of Competencies    Go to top of Outline