Maricopa Community Colleges  CSC200JB   19986-20002 
Official Course Description:   MCCCD Approval:  06/22/99  
CSC200JB     19986-20002 L+L 3 Credit(s) 4 Period(s)
Principles Of Computer Science (JAVA)
Introduction to computer science. Issues and concepts throughout the field, including software development, data organization, machine architecture, algorithmic machines, and ethics in computing. Programming in Java. Prerequisites: CSC100
 
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC200JB   19986-20002 Principles Of Computer Science (JAVA)
1. Design a computer program using current software engineering techniques that contains multiple object classes. (I)
2. Explain the steps taken in develop major pieces of software. (I)
3. Describe an operating system and its use. (I)
4. Develop computer programs that use objects, methods, class level fields and streams. (II)
5. Develop computer programs that implement interfaces and call static methods. (II, III)
6. Develop computer programs that make use of diverse operators. (III)
7. Develop computer programs that use classes and interfaces from a large class library. (I, II, III)
8. Describe the different kinds of memory in an executable process. (III)
9. Explain why the limitations of algorithmic machines require techniques developed in artificial intelligence. (IV)
10. Present arguments for and against an ethical issue related to computing. (V)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC200JB   19986-20002 Principles Of Computer Science (JAVA)
    I. Software Development
        A. Design
          1. Functional
          2. Data-driven
          3. Pseudo code
          4. Application Programming Interface (API) specifications
        B. Programming environment
          1. Interactive Development Environments (IDEs)
          2. Compilers
          3. Interpreters
          4. Debuggers
          5. Profilers
          6. Libraries
          7. Packages
          8. Class Hierarchies
        C. Programming languages
          1. Control structures
          2. Objects and classes
          3. Data manipulation
        D. System software
          1. Operating systems
          2. Shells
          3. Windowing systems
          4. File systems
        E. Software engineering
          1. Software life cycle
          2. Useful tools
        F. Programming
      II. Data Organization
          A. Data structures
            1. Primitive types
            2. Classes and objects
            3. Object methods and fields
            4. Wrapper Classes
            5. Strings
            6. Arrays
            7. Interfaces
          B. File structures
            1. File streams
            2. Random access streams
          C. Databases
        III. Machine Architecture
            A. Data storage
              1. Free store
              2. Stack
              3. Static
              4. Garbage collection
            B. Data manipulation
              1. Reads and writes
              2. Operators and expressions
          IV. Potential of Algorithmic Machines
              A. Artificial intelligence
              B. Theory of computation
            V. Ethics in Computing
                A. Privacy
                B. Intellectual property
            Go to Description    Go to top of Competencies    Go to top of Outline