Maricopa Community Colleges  CSC205AB   20066-99999 

Official Course Description: MCCCD Approval: 6-27-2006

CSC205AB  2006 Fall – 2011 Fall

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

Object Oriented Programming and Data Structures

Covers Object-Oriented design and programming; elementary data structures; arrays; lists; stacks; queues; binary trees; recursion; searching and sorting algorithms.

Prerequisites: CSC100, or CSC110, or permission of Instructor.

 

Course Attribute(s):

General Education Designation: Computer/Statistics/Quantitative Applications - [CS]

Go to Competencies    Go to Outline
 

MCCCD Official Course Competencies:

 

CSC205AB  2006 Fall – 2011 Fall

Object Oriented Programming and Data Structures

 

1.

Describe how modern Software Engineering techniques are used in program development. (I)

2.

Implement programs that use Object-Oriented Programming techniques: classes, aggregate classes, inheritance, interfaces, abstract classes, and polymorphism. (II)

3.

Write applications that handle run-time errors by using Exception Handling techniques. (II, III)

4.

Write programs using basic data structures such as arrays, ArrayLists, and Vectors. (II, IV)

5.

Implement linked lists, stacks, and queues using Object- Oriented techniques. (II, IV)

6.

Implement Binary Search Trees and use recursive methods as part of the implementation. (II, IV, V)

7.

Analyze and compare the efficiency of different searching and sorting algorithms, including algorithms that are implemented recursively. (V)

8.

Write applications that read and write text and Object files. (II, VI)

9.

Discuss social and ethical issues related to Computer Science. (VII)

10.

Implement a simple Graphical User Interface as part of an application. (VIII)

Go to Description    Go to top of Competencies
 

MCCCD Official Course Outline:

 

CSC205AB  2006 Fall – 2011 Fall

Object Oriented Programming and Data Structures

 

I. Applying Modern Software Engineering Principles

A. Software Life Cycle Model

B. Pre- and post-conditions of an algorithm

C. Generating test cases

D. Design UML (Unified Modeling Language) diagrams and use them to implement Object Oriented Programs

II. Using Object Oriented Programming constructs

A. Classes and subclasses

B. Aggregate classes

C. Inheritance

D. Polymorphism

E. Interfaces and abstract classes

III. Applying Exception Handling techniques

A. Signal existence of runtime error

B. Handle runtime error without program termination

IV. Introducing Data Structures

A. Arrays

B. Simple data structures such as ArrayLists/Vectors

C. Linked Lists

D. Stacks

E. Queues

F. Binary Trees

V. Understanding algorithms

A. Recursion

B. Searching

C. Sorting

D. Efficiency of Algorithms using BigO notation

VI. Using Input/Output mechanisms

A. Console Input/Output

B. Reading and Writing text files

C. Serialization

VII. Understanding other issues related to Computer Science

A. Social and/or ethical issues

VIII. Using Graphical User Interfaces

A. Implementation using existing classes

 

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