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 |