Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good challenges/tasks/exercises for learning or improving object oriented programming (OOP) skills [closed]

Tags:

oop

What is a good challenge to improve your skills in object oriented programming?

The idea behind this poll is to provide an idea of which exercises are useful for learning OOP.

The challenge should be as language agnostic as possible, requiring either little or no use of specific libraries, or only the most common of libraries. Try to include only one challenge per answer, so that a vote will correspond to the merits of that challenge alone. Would also be nice if a level of skill required was indicated, and also the rationale behind why it is a useful exercise.

Solutions to the challenges could then be posted as answers to a "How to..." question and linked to from here.

For example:

  • Challenge - implement a last-in-first-out stack
  • Skill level - beginner
  • Rationale - gives experience of how to reference objects
like image 376
Grundlefleck Avatar asked Sep 12 '08 22:09

Grundlefleck


People also ask

How do I improve my OOP skills?

So to develop your skills in OOP you do not need to practice the problems from some site just make it your habit to see real world things in terms of OOP. Map the concepts of OOP to real life, your day to day life. It is thing which would be improved by practice. To practice OOP using real life problems.

What are the 4 basic methods in object-oriented programming?

Now, there are four fundamental concepts of Object-oriented programming – Inheritance, Encapsulation, Polymorphism, and Data abstraction.

What is the best way to learn OOP?

Best way to learn OOP concepts is to write more and more code and get it reviewed often. Practice maketh a good programmer. Think real world scenarios, define a problem statement - solve it in code and get it reviewed.

What are OOP skills?

Types of OOP skills to add in your resume:Encapsulation. Polymorphism. Inheritance: Single, multiple, and multilevel. Understanding objects and classes. Experience working with interfaces.


2 Answers

Building Skills in Object-Oriented Design is a free book that might be of use.

The description is as follows:

"The intent of this book is to help the beginning designer by giving them a sequence of interesting and moderately complex exercises in OO design. This book can also help managers develop a level of comfort with the process of OO software development. The applications we will build are a step above trivial, and will require some careful thought and design. Further, because the applications are largely recreational in nature, they are interesting and engaging. This book allows the reader to explore the processes and artifacts of OO design before project deadlines make good design seem impossible."

like image 171
Craig Angus Avatar answered Sep 25 '22 20:09

Craig Angus


Write a challenging program from scratch. Try to get some people (around five, that should be doable) to use it. Respond to their change requests.

Adapt your program's design. Start small, then watch it grow. Manage this growth. This is hard. You will also have to fix bugs and maintain the thing over time, which for me was a very valuable lesson.

like image 43
Paweł Hajdan Avatar answered Sep 26 '22 20:09

Paweł Hajdan