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.
44
questions
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 ...
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'...
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 ...
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 ...
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 ...
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 ...
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 ...
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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:
...
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 ...
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 ...
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 ...
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)
...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
8
votes
6
answers
886
views
Analogy for abstract classes
Abstract classes are peculiar things. Consider:
...
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 ...
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):
...
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 ...
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 ...