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
- describe the core concepts of OOP including:
- implementation by the exchange of “messages” among “objects”
- an outline of the key features of the OOP approach: e.g. encapsulation, modularity, polymorphism, inheritance
- use of private, public and protected members, accessors and modifiers to control access to data
- use of encapsulation and modularity when writing algorithms and programs
- use of classes and objects
- an outline the paradigm shift that occurred in the move from imperative and procedural programming to OOP
- the advantages of OOP over earlier paradigms
- explain key differences between OOP and procedure-oriented programming in:
- designing programs
- the storage and access of data
- the maintenance of programs
Coding
- 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
- 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:
- communicate
- manage information
- use numbers
- think and solve problems
- demonstrate positive attitudes and behaviours
- be responsible
- be adaptable
- learn continuously
- work safely
- work with others
- participate in projects and tasks
- Create a transitional strategy to accommodate personal changes and build personal values:
- identify short-term and long-term goals
- identify steps to achieve goals