Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Java

Master Object Oriented Design in Java - Homework + Solutions

Don't just learn Java! Learn to write practical industry standard object oriented software and super charge your career!
Rating: 4.6 out of 54.6 (4,325 ratings)
25,383 students
Created by Imtiaz Ahmad
Last updated 8/2019
English
English, French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Advance your programming skills from a junior level newbie to a competent intermediate level object oriented software developer
  • Design and develop software using best practices in Object oriented programming
  • Apply the 5 crucial object oriented design principles using Java
  • Apply design patterns such as Strategy, Observer, Template Method, Factory, and Builder
  • Make the leap into professional software craftsmanship and take your career to the next level!
Curated for the Udemy for Business collection

Course content

5 sections • 39 lectures • 5h 37m total length

  • Preview01:16
  • Download Source Code for Lectures
    00:12

  • Preview12:35
  • Program Flow and Using Constructor (Optional Prerequisite)
    11:40
  • Object and Class
    5 questions
  • Application Runtime (Optional Prerequisite)
    11:05
  • Preview24:07
  • Class Inheritance (Optional Prerequisite)
    13:52
  • Application Runtime Quiz
    4 questions
  • Interfaces and Abstractions (Optional Prerequisite)
    11:28
  • Abstract Classes (Optional Prerequisite)
    15:24
  • Interfaces and Abstract Classes
    5 questions
  • Message From The Instructor
    00:45

  • Objects, Messages and Dependencies
    12:04
  • Forming Associations Between Objects
    04:10
  • Overview of Software Design
    05:27
  • Single Responsibility Principle
    Preview14:03
  • UML Diagram - Single Responsibility
    1 page
  • Single Responsibility - Homework
    25:41
  • Quiz on Single Responsibility Principle
    3 questions
  • Open Closed Principle & STRATEGY Pattern
    16:57
  • Open Closed Principle - Homework
    00:06
  • Quiz on the Open Closed Principle
    2 questions
  • Preview07:08
  • Dependency Inversion & Template pattern - Homework Solution
    12:24
  • UML Diagram - Dependency Inversion
    1 page
  • Quiz on Dependency Inversion principle
    3 questions
  • Liskov Substitution Principle
    13:50
  • Liskov Substitution Principle UML
    1 page
  • Quiz on Liskov Substitution Principle
    3 questions
  • Interface Segregation Principle
    15:49
  • UML Diagram - Interface Segregation
    1 page
  • Quiz on Interface Segregation Principle
    1 question

  • Dependency Injection Part 1
    09:39
  • Dependency Injection Part 2 (Using Spring)
    14:52
  • Observer Pattern
    10:44
  • Observer Pattern - Homework Solution
    22:19
  • UML Diagram - Observer Pattern
    1 page
  • Coffee Shop Assignment (another application of the observer pattern)
    00:05
  • Builder Pattern
    12:52
  • Factory Design Pattern
    14:01
  • UML Diagram - Factory Pattern
    1 page
  • Singleton Design Pattern (Newly Added)
    10:47
  • Real world Project - Create an API
    00:15

  • Preview04:51
  • Final Comments from Instructor
    00:46
  • Bonus: Lifetime Access to All My Course
    00:22

Requirements

  • You should have a java editor installed. We'll be using Eclipse.
  • Install Jdk from oracle website
  • Understand the basics of loops and conditionals.

Description

LATEST: Course Updated Nov 2018


SUPER CHARGE OF YOUR PROGRAMMING CAREER and acquire some seriously marketable skills!

    Just because you learned how to use a hammer doesn't mean you are ready to construct a building. Similarly, It's not enough to just understand a programming language. That's just a tool that can be used to develop various programs. The real craftsmanship is in software DESIGN. 

    This course is designed to take a junior level programmer with limited knowledge about object orientation to a competent level object oriented software designer! I expect you to understand the basics of loops, methods and conditionals in Java. You'll be completing hands-on HOMEWORK Exercises through out the course! I have provided detailed video solutions to the exercises so that you can check your answers and get step by step instructions of how to tackle the object oriented design assignments. 

      You can find plenty of resources online for solving a programming puzzle  or practicing algorithms. But… when it comes to object oriented design,  admittedly, there is limited material out there for you to practice. So  in this course, we use a LEARN-BY-DOING  approach to explore a series of progressively challenging exercises to  discover the 5 core object oriented design PRINCIPLES summarized by an  acronym called SOLID: 

  (S). Single Responsibility   

          (O). Open/Closed   

    (L).  Liskov Substitution   

          (l ). Interface Segregation   

          (D). Dependency Inversion   

      During this journey you'll get practice applying some of the most important DESIGN PATTERNS that competent developers must have under their belt. There are so many design patterns out there, but we'll be thoroughly covering only the most important ones. Save yourself the time from learning all the design patterns and going on a design frenzy. Focus on the 20% that covers 80% of the scenarios and add miles to your programming efficiency. 

  These cover 80% of patterns used out there in professional software development.   

  1). Strategy Pattern   

          2). Observer Pattern   

          3). Builder pattern   

          4). Factory method pattern   

          5). Template Method Pattern   

  6). Singleton Pattern 

                              The topics can be applied to pretty much any object oriented language. But, we'll be using Java, so I expect you to be familiar with the basic language constructs such as classes, methods and interfaces. But don't worry if you don't know about these, I've taken the time to create 6 comprehensive prerequisite lessons on introduction to object orientation. In these lessons, new comers can learn about the basics of object orientation such as: 

  1). Classes and objects   

          2). Inheritance and polymorphism,   

          3). Interfaces and abstract classes.   

                              I'm certain that, by practicing the concepts covered, you'll make a substantial leap forward in your programming career. I hope to see you in the coming lessons.

This course is from This site offers lectures on practical software development topics to immediately impact your programming skills. Things you can take to your interview and feel confident in your abilities!

Who this course is for:

  • If you've had trouble creating java programs that contain more than 1 or 2 classes, this course is for you
  • If you're afraid to show your code to senior developers, you MUST take this course
  • If you want to design well constructed software this course is for you

Featured review

Rafael Santos
Rafael Santos
128 courses
17 reviews
Rating: 5.0 out of 59 months ago
Really Straight to the point, very objective with concepts explained super clearly. I strongly recommend this course if you want both to start diving into Java development or if you want to reenforce concepts.

Instructor

Imtiaz Ahmad
Senior Software Engineer & Trainer @ Job Ready Programmer
Imtiaz Ahmad
  • 4.6 Instructor Rating
  • 67,333 Reviews
  • 262,429 Students
  • 12 Courses

Imtiaz is an award winning Udemy instructor who is highly experienced in big data technologies and enterprise software architectures. Imtiaz has spent a considerable amount of time building financial software on Wall St. and worked with companies like S&P, Goldman Sachs, AOL and JP Morgan along with helping various startups solve mission critical software problems. In his 13+ years of experience, Imtiaz has also taught software development in programming languages like Java, C++, Python, PL/SQL, Ruby and Javascript. He's the founder of Job Ready Programmer - an online programming school that prepares students of all backgrounds to become professional job-ready software developers through real-world programming courses.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.