Course: CSC205AB First Term: 2012 Spring
Final Term: Current
Final Term: 2018 Summer
|
Lec + Lab 4 Credit(s) 4 Period(s) 4 Load
Credit(s) Period(s)
Load
Subject Type: AcademicLoad Formula: S |
MCCCD Official Course Competencies | |||
---|---|---|---|
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) | |||
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements. | |||
MCCCD Official Course Outline | |||
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 0A. Social and/or ethical issues VIII. Using Graphical User Interfaces A. Implementation using existing classes | |||
MCCCD Governing Board Approval Date:
12/13/2011 |