Programming Foundations: Object-Oriented Design

This course provides a comprehensive introduction to object-oriented design, a crucial aspect of software development that allows for planning applications before writing any code. It covers foundational concepts in an engaging and interactive manner, helping you quickly develop your skills. The course guides you through the process of taking app requirements, identifying use cases, and mapping out classes using Universal Modeling Language (UML). The final design can then be translated into code using popular object-oriented programming languages like Java, C#, Ruby, or Python. This course is an excellent resource for anyone looking to understand and apply object-oriented design principles in their software development process.

Skills for certificate:

Object Oriented Programming

Testing

Problem Solving

Critical Thinking

Programming Foundations: Object-Oriented Design

Programming Foundations: Object-Oriented Design certificate image

190a56bee558ac47ecc390563ebb20e4eebaccc00a1f1a7180dec108e371985d

Description

This course provides a comprehensive introduction to object-oriented design, a crucial aspect of software development that allows for planning applications before writing any code. It covers foundational concepts in an engaging and interactive manner, helping you quickly develop your skills. The course guides you through the process of taking app requirements, identifying use cases, and mapping out classes using Universal Modeling Language (UML). The final design can then be translated into code using popular object-oriented programming languages like Java, C#, Ruby, or Python. This course is an excellent resource for anyone looking to understand and apply object-oriented design principles in their software development process.

Learning Objectives

  • Understanding object-oriented design principles
  • Identifying and working with objects and classes
  • Applying abstraction and encapsulation concepts
  • Implementing inheritance and polymorphism
  • Analyzing, designing, and programming using UML
  • Defining and working with FURPS+ requirements
  • Creating and diagramming use cases
  • Writing and interpreting user stories
  • Identifying objects and class relationships
  • Assigning class responsibilities and using CRC cards
  • Creating class diagrams and converting them into code
  • Working with multiple constructors and static attributes/methods
  • Identifying and implementing inheritance situations
  • Understanding and using abstract and concrete classes
  • Working with interfaces, aggregation, and composition
  • Understanding OOP support in different languages
  • Applying general development principles
  • Understanding software testing and design patterns

Certificate Issuer

LinkedIn