The Problem with Teaching Java
For many years, Java was often taught by focusing on the tools rather than on the underlying concepts. A student might learn: Applets Swing JSP Servlets JDBC In my particular case, my first experience with Java was through an applet. The focus was on demonstrating that Java could run inside a graphical application or a web browser, but not necessarily on understanding broader concepts such as object-oriented design, separation of responsibilities, or application architecture. Because an applet alone does not explain: Class | Object | Responsibility | Collaboration Between Objects | Complete System A student could understand how to create an Applet and override a method such as paint() , but that did not necessarily prepare them to design an enterprise application. At that stage, I still did not fully understand concepts such as: Object-Oriented Programming. Class responsibilities. Separation of layers. Client-server architecture. Data persist...