Abstract. We study two textbooks for teaching undergraduate softineering, both focusing on software design and data abstraction in particular. We describe the differences in their didactic approaches. We analyze how the subject matter is influenced by the choice of programming language, one book using Ada and the other book using Java. Java is a relatively new candidate for teaching software engineering. How does it compare to Ada?