powered by
Center for Curriculum and Transfer Articulation
Principles of Computer Science (Java)
Course: CSC200AB

First Term: 2018 Fall
Lec + Lab   4.0 Credit(s)   4.0 Period(s)   4.0 Load  
Subject Type: Occupational
Load Formula: T - Lab Load


Description: 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.



MCCCD Official Course Competencies
1. Use current software engineering techniques to design a computer program that contains multiple object classes. (I)
2. Explain the steps necessary to develop major pieces of software. (I)
3. Describe an operating system and its use. (I)
4. Describe the difference between an applet and an application.(I)
5. Develop computer programs that make use of exception handling.(I)
6. Describe the difference between object-oriented programming and traditional procedural programming.(I)
7. Develop computer programs that make use of inheritance.(I)
8. Develop computer programs that use objects, methods, class level fields and streams.(II)
9. Develop computer programs that implement interfaces and call static methods. (II, III)
10. Develop and implement programs that make use of diverse operators. (III)
11. Develop computer programs that use classes and interfaces from a large class library. (I, II, III)
12. Describe the different kinds of memory in an executable process. (III)
13. Explain why the limitations of algorithmic machines require techniques developed in artificial intelligence. (IV)
14. Present arguments for and against an ethical issue related to computing. (V)
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. Software Development\n
   A. Design\n
      1. Functional\n
      2. Data-driven\n
      3. Pseudo code\n
      4. Application Programming Interface(API) specifications\nB. Programming environment\n
      1. Interactive Development Environments (IDEs)\n
      2. Compilers\n
      3. Interpreters\n
      4. Debuggers\n
      5. Profilers\n
      6. Libraries\n
      7. Packages\n
      8. Class hierarchies\n
      9. Applets and applications\n
   C. Programming languages\n
      1. Control structures\n
      2. Objects and classes\n
      3. Exception handling\n
      4. Object oriented vs. traditional procedural programming\n
      5. Inheritance/polymorphism\n
      6. Data manipulation\n
   D. System software\n
      1. Operating systems\n
      2. Shells\n
      3. Windowing systems\n
      4. File systems\n
   E. Software engineering\n
      1. Software life cycle\n
      2. Useful tools\n
   F. Programming\n
II. Data Organization\n
   A. Data structures\n
      1. Primitive types\n
      2. Classes and objects\n
      3. Object methods and fields\n
      4. Wrapper classes\n
      5. Strings\n
      6. Arrays\n
      7. Interfaces\n
   B. File structures\n
      1. File streams\n
      2. Random access streams\n
   C. Databases\n
III. Machine Architecture\n
   A. Data storage\n
      1. Free store\n
      2. Stack\n
      3. Static\n
      4. Garbage collection\n
   B. Data manipulation\n
      1. Reads and writes\n
      2. Operators and expressions\n
IV. Potential of Algorithmic Machines\n
   A. Artificial intelligence\n
   B. Theory of computation\n
V. Ethics in Computing\n
   A. Privacy\n
   B. Intellectual property\n
 
MCCCD Governing Board Approval Date: 5/25/1999

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.