| Introduction Basic Object-Oriented Concepts (C#) | 
|---|
  
    | Course Outline | Download | 
  
    | Reading Material |  | 
  
    | PowerPoint Slides |  | 
  
    | Software Installation | ArgoUML 
 | 
  
    | Useful References: |  | 
  | Day | Module | Sharing | 
|---|
  
    | 1 | 1 | 
    
        Brief HistoryKnowledge representation techniquesQuality AssuranceModeling |  | 
  
    | 2 | 
    
        Software ComplexityThe principle of Information HidingThe “What” and “How”Decoupling | 
  
    | 3 | 
    
        IdentityTangible and intangible objectsSimple and Complex objectsObject AttributesObject BehaviorObjects relationshipsOperationsMethodInterface | 
  
    | 4 | 
    
        Concept about thingsConcept as language vocabularyLanguage as toolsClassification strategiesEncapsulation – A special form of classification | 
  
    | 5 | 
    
        Relationship – IS-A/Kind-OfInstantiationInstanceDirect vs. Indirect InstantiationClass AspectsUtility ClassMultiplicity/CardinalityRelationship – Part-Of (Aggregation)Relationship – Part-Of (Composition)Relationship – AssociationRelationship – Dependency | 
  
    | 2 | 6 | 
    
        SuperclassSubclassesInheritanceWhy not Multiple Inheritance?Class TaxonomyFoundation ClassesAbstract ClassesTerminal ClassesNested Classes |  | 
  
    | 7 | 
    
        Specialization for RestrictionSpecialization for ExtensionSpecialization for OverridingPolymorphism | 
  
    | 8 | 
    
        IS-A reusePart-Of ReusePattern Reuse | 
  
    | 9 | 
    
        ModularityExtensibilitySynergyIndustry Standards | 
  
    | 10 | 
    
        Modern Programming LanguagesSoftware EngineeringDatabasesBusiness Modeling |