Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

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.

4
votes
7answers
128 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: ...
49
votes
13answers
6k 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
5answers
177 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
2answers
51 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
1answer
208 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) ...
5
votes
3answers
141 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 ...
5
votes
4answers
112 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
4answers
141 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 ...
5
votes
5answers
149 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
3answers
90 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
1answer
61 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
2answers
259 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 ...
36
votes
11answers
12k 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 ...
39
votes
18answers
11k 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 ...
15
votes
10answers
2k 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 and <...
8
votes
1answer
130 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 ...
5
votes
2answers
157 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, ...
7
votes
9answers
564 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 ...
7
votes
7answers
320 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
6answers
358 views

Analogy for abstract classes

Abstract classes are peculiar things. Consider: ...
3
votes
4answers
1k 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
3answers
83 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): ...
16
votes
16answers
1k 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 ...
8
votes
11answers
351 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 ...