Skip to main content

Questions tagged [object-oriented-paradigm]

For question regarding the teaching of the object oriented paradigm. This can also be used in conjunction with more specific tags such as inheritance and classes.

Filter by
Sorted by
Tagged with
2 votes
2 answers
101 views

Automating grading of projects with OOP and unit tests, but without imposing rigid design requirements

At our university, we teach a course on OOP in Java. Currently, our project focuses on unit testing and specifications. However, to achieve this without too much manual effort, the students did not ...
Emiel Lanckriet's user avatar
5 votes
5 answers
174 views

Seeking Effective Examples to Teach OOP Concepts Beyond Common Analogies

As a computer science educator, I have extensively researched various books for relevant examples to teach programming concepts, particularly Object-Oriented Programming (OOP). A recurring challenge I'...
nowox's user avatar
  • 457
2 votes
2 answers
208 views

Teaching a coding language in an interactive way for a school club

I am currently a senior in high school who runs a club centered around teaching C++ to interested people. However, my fellow board members and I have recognized that our style of teaching the ...
Selisine's user avatar
7 votes
16 answers
3k views

Parent class variable pointing to Child class

Given the following: Dog rover = new Puppy("rover"); // Where Puppy extends Dog A student asked why would you ever want or need a Dog variable point to ...
rss81's user avatar
  • 170
2 votes
5 answers
962 views

What is an example of class inheritance in every-day life which is easy to write in an object-oriented language?

When a student is first learning about class inheritance it is nice to use an example from every-day life. For example, Plastic Cups are ...
Samuel Muldoon's user avatar
3 votes
3 answers
83 views

Object patterns student presentation format

I am teaching a course in object design patterns for the first time, and it is not a topic I am extremely well versed in. My students are well aware of this, and signed up for the course fully ...
Ben I.'s user avatar
  • 33.9k
0 votes
0 answers
38 views

Regarding state diagrams - (different levels)

UML State diagrams could represent a single object, a system or a sub-system. I am looking for the best methods and resources which help students draw correct state diagrams, and at the right level of ...
User 19826's user avatar
0 votes
1 answer
85 views

How to decide which methods are responsibility of which classes

My students have a hard time assigning correct responsibilities and methods to classes. They get confused about which method suits which class better. Suppose we have two classes, class A and class B. ...
User 19826's user avatar
4 votes
3 answers
2k views

Object Oriented Software Engineering Project

I am looking for a software engineering project idea (based on Object Oriented Programming) which does not include financial/accounting module, yet provides reasonable challenges in terms of research ...
User 19826's user avatar
2 votes
2 answers
121 views

Decorators in Python

How to teach decorators to Undergrad students? I mean how make the concept crystal clear? Sometimes it becomes complex as : "functions passing another functions in argument, adding new ...
Free Palestine's user avatar
1 vote
1 answer
346 views

Online Platform for practicing Object Oriented Programming in Python

Is there any recommendation on an online platform that teaches and allows practicing object-oriented programming (OOP) in Python? I am familiar with Hackerrank and HackerEarth, however, they do not ...
Cute Panda's user avatar
5 votes
5 answers
827 views

How necessary is UML for a course in object programming patterns?

I'm gathering my wits to create a course that will focus a great deal on OO programming patterns (things like singleton, flyweight, command, etc, etc.) I do not have a lot of background in this topic ...
Ben I.'s user avatar
  • 33.9k
6 votes
2 answers
259 views

Common questions students may ask when they learn OOP?

Reading this question Do we really need OO languages to manage software complexity? on one of SE sites and my own experiences in teaching object-oriented concept, e.g. Some real practical example to ...
Qiulang 邱朗's user avatar
4 votes
4 answers
1k views

Some real practical example to teach object-oriented concepts and programming (in python)

I have taught my high school students to write some simple python scripts, taking some ideas from "Automate the Boring Stuff with Python", e.g. changing file names in a folder to a specific ...
Qiulang 邱朗's user avatar
5 votes
3 answers
298 views

Best book and video lecture series to follow for an "object oriented programming" course for advanced undergraduates

I am looking for an elegant textbook to be followed for self-study in an objected oriented programming course at the undergraduate level. Our course is as shown: I humbly request you to suggest to me ...
Ran Mouri's user avatar
  • 121
3 votes
3 answers
492 views

What's a good example of a static factory method returning instances of subclasses?

One benefit of having a class provide a static factory method rather than public constructors is the method can return an instance of a subclass. For example, if the class ...
Ellen Spertus's user avatar
2 votes
2 answers
240 views

Looking for a text book on object-oriented concepts and programming

I'm looking for a text for a course in object oriented programming. Most of the students will have done some programming courses in the past, but the background of the students is varied so the ...
Theodore Norvell's user avatar
26 votes
12 answers
4k views

What thought process would lead one to invent object-oriented programming?

A big part of understanding an idea deeply (such as a math theorem, for example) is being able to imagine a thought process which would lead one to invent or discover that idea. Michael Nielsen ...
littleO's user avatar
  • 361
4 votes
2 answers
149 views

Physical Activity for Objects

I have a vague notion that I could create some sort of introductory activity for Objects. There would be worksheets ("programs") to get kids (high school, in this case) to physically go through the ...
Ben I.'s user avatar
  • 33.9k
1 vote
1 answer
59 views

How to recast an ASPX application as Object Oriented

I am a programmer in a small department creating some new tools and applications with ASPX and SQL, and explaining the methodology to co-workers, and writing documentation (so the question here ...
Scott Rowe's user avatar
4 votes
7 answers
283 views

Mental Model of Type Conformance/Subtype Polymorphism

I'm finding that my CS2 students really struggle with the notions of type conformance and subtype polymorphism in Java. Say we have the following: ...
cryptic_star's user avatar
52 votes
14 answers
11k views

Interesting Programming Exercises to Teach Inheritance?

I originally asked this over on Stack Overflow, but they suggested I look here instead: I'm currently teaching my students about the concept of inheritance (we're using Python 3) but am unable to ...
Patch's user avatar
  • 631
5 votes
5 answers
285 views

A meaningful exercise that requires using a destructor

I am teaching destructors in C++ and would like to give the students an interesting homework exercise that requires them to build a class with destructor. In previous years, the homework were ...
Erel Segal-Halevi's user avatar
4 votes
2 answers
78 views

Object Design Lab

When I have finished introducing my students to Objects (including Encapsulation, Inheritance, Polymorphism, and a healthy dose of philosophy), I would like to give them a lab with the following ...
Ben I.'s user avatar
  • 33.9k
6 votes
1 answer
298 views

Is there evidence of differences in the outcomes of objects-early vs objects-late?

Here is the essential parts of a (HS) Junior level question from one of our (Canadian) national computing challenges. (http://www.cemc.uwaterloo.ca/contests/computing/2017/stage%201/juniorEF.pdf) ...
Mr Bradley's user avatar
4 votes
3 answers
189 views

Encourage students to learn and use advanced design

I mentor an FRC (FIRST Robotics Competition) team, and they program in java. The team members who work programming the robot are using an extension1 library which they themselves write. The library ...
ItamarG3's user avatar
  • 6,312
4 votes
4 answers
269 views

How to START an Objects-First Course

In light of this question (and many others on this site), I have been noodling around with the idea of reversing my AP Computer Science A course and taking an Objects-Early approach. I'm having a bit ...
Ben I.'s user avatar
  • 33.9k
4 votes
4 answers
207 views

Where, sequentially, do Interfaces sit in an introduction to Objects?

I've been teaching Objects for years now as part of AP Computer Science A (which means that I am teaching OOP in Java), and I have experimented with putting Interfaces in at different locations. In ...
Ben I.'s user avatar
  • 33.9k
4 votes
5 answers
373 views

Resource recommendations for teaching OOP via a practice-oriented example

I intend to teach some OOP methodology but everywhere I look, there are only syntethic examples and elaborations of various concepts of the OOP world (for example: what is inheritance, how to use ...
Nestor's user avatar
  • 141
3 votes
4 answers
170 views

Clear example of the Object-Relational Mismatch

An important issue in programming is the Object-Relational Mismatch, but I have not seen any good explanations that use familiar terms. I came up with one involving a Family Tree application. The ...
user3464's user avatar
2 votes
1 answer
74 views

Going from syntax to CS concepts

I am going to be teaching a small-ish group of people to write code to control a device. The code is built around a giant framework made to make it easy to write the actual code. My job nominally is ...
thesecretmaster's user avatar
  • 4,795
6 votes
2 answers
394 views

Teaching OOP in Java, to students who already know Java

I am going to teach a course in object-oriented programming in Java, and am looking for materials - textbooks and slides. It is a course for 2nd-year undergrads. In the 1st year, they already learned ...
Erel Segal-Halevi's user avatar
38 votes
11 answers
14k views

Learning fundamental differences between functional programming and Object Oriented Programming

I've been trying to learn the differences between Functional Programming and OOP, but I can't seem to find a comparison of the two. A Google search did not yield any chart or table showing such a ...
ItamarG3's user avatar
  • 6,312
40 votes
20 answers
12k views

Is it important to teach pointers in a first course using Java?

Many instructors teaching with Java started their education using earlier languages such as C or C++ in which pointers are essential. Pointers, however, are not a Java concept, though those same ...
Buffy's user avatar
  • 36.4k
17 votes
11 answers
3k views

Explaining access levels and visibility in OOP

While teaching OOP in a high school CS major (in java), it is important (and part of the curriculum in any case) to explain "what is the meaning of this public ...
ItamarG3's user avatar
  • 6,312
8 votes
1 answer
169 views

To what extent should UML be covered in the context of a degree?

As part of my Computer Science degree, we covered UML in quite a bit of depth as part of a software engineering module. Whilst some parts did seem useful, a lot of it was interesting but not very ...
Adam Williams's user avatar
6 votes
2 answers
210 views

Principles of SOLID in OOP

I am trying to prepare lessons about the five SOLID principles of Object Oriented Programming to high school students that have learned about polymorphism, abstract classes and interfaces. However, ...
ItamarG3's user avatar
  • 6,312
8 votes
9 answers
3k views

Justification for an objects-early approach to introductory programming

I'm familiar with two schools of thinking for approaching an introductory level class in an object oriented language: objects-late, and objects-early. In objects-late, you teach various procedural ...
Ben I.'s user avatar
  • 33.9k
10 votes
10 answers
6k views

Explaining how an Interface is a contract

When teaching Interfaces (in Java, for example), it is common to describe them as a contract. Which means that if a class implements an interface, it has to use the methods in the interface. As an ...
ItamarG3's user avatar
  • 6,312
8 votes
6 answers
886 views

Analogy for abstract classes

Abstract classes are peculiar things. Consider: ...
Ben I.'s user avatar
  • 33.9k
4 votes
4 answers
3k views

Basic OOP practice exercises for inheritance and polymorphism

After teaching inheritance and implementation (implements vs extends in Java) and overriding methods and basic OOP (classes and ...
ItamarG3's user avatar
  • 6,312
4 votes
3 answers
102 views

Introducing self containing objects (Node)

In some programming languages, many data structures use Node<T> (The examples in the question are in Java, but I suppose they are similar in other languages): ...
ItamarG3's user avatar
  • 6,312
20 votes
18 answers
6k views

What is a good analogy for the Object Oriented paradigm?

What is the most effective analogy that you have used or have thought of to teach the object oriented paradigm? Hopefully the analogy can translate well to inheritance as well, and includes the ...
thesecretmaster's user avatar
  • 4,795
9 votes
11 answers
694 views

Objects Lab Before Inheritance and Polymorphism

I am finding it very difficult to create a lab for Objects in Java before we've involved Inheritance and Polymorphism. The problem, as I see it, is that Inheritance and Polymorphism are basically the ...
Ben I.'s user avatar
  • 33.9k