Bev Facey Community High

CSE3120: Object-oriented Programming 1

Students add to their understanding of programming paradigms by moving from a procedural programming approach, in which modularity is handled through subprograms, to an object-oriented approach, in which it is handled through objects. They learn a simple object-oriented analysis and design approach based on the use of object diagrams and write programs that use objects associated with one another in a client/server relationship.

Theory

explain and represent the nature, rationale and key approaches associated with OOP

  1. describe the core concepts of OOP including:
    1. implementation by the exchange of “messages” among “objects”
    2. an outline of the key features of the OOP approach: e.g. encapsulation, modularity, polymorphism, inheritance
    3. use of private, public and protected members, accessors and modifiers to control access to data
    4. use of encapsulation and modularity when writing algorithms and programs
    5. use of classes and objects
    6. an outline the paradigm shift that occurred in the move from imperative and procedural programming to OOP
    7. the advantages of OOP over earlier paradigms
  2. explain key differences between OOP and procedure-oriented programming in:
    1. designing programs
    2. the storage and access of data
    3. the maintenance of programs

Coding

  1. Create a company with employees using OOP
    • You are allowed flexibility in how you choose to relate your company and employees to each other, but they must satisfy the following requirements:
      • An employee can work for a maximum of 1 company
      • You must include at least three different employee roles
      • A company must have at least the following information available for retrieval:
        • Name
        • Description
        • Number of Employees
      • An employee must have at least the following information available for retrieval:
        • Name
        • Role
        • Boss (if applicable)
        • Subordinate(s) (if applicable)
        • Salary
  2. Design and write a coding project of your choice involving the use of OOP
    • Write a description of your intended project, and show evidence of planning your project
    • Submit the above documents along with any required program files to run your code

Competencies and Skills

You will also be evaluated on your basic competencies such as your ability to: