Official Course
Description: MCCCD Approval: 6-27-2006 |
||
CSC205 2011 Fall – 2011 Fall |
L+L 3.0 Credit(s) 3.0 Period(s) 3.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: |
|
|
|
CSC205 2011
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) |
Go to Description Go to top of
Competencies
MCCCD
Official Course Outline: |
|
|
|
CSC205 2011
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 |