During my last year of high school I took AP Computer Science. It sounded interesting, but prior to the summer homework assignment, I wasn’t sure what it would be about. At the time I had ideas that it could have been a general, basic class about how all the hardware worked together, or maybe it would be an introduction to software assembly, about all the bits and bytes in computing.
I was fortunately wrong. The class is simply an introduction to Java. It taught me the basics of Object Oriented Programming (OOP) using a language I have grown to call my favorite language. Through Cay Horstmann’s 4th edition of Java Concepts, the class taught:
- Basic Computer Hardware (CPU, RAM, etc)
- Objects and Classes
- Data Types
- Flow Control (if/else, loops)
- Arrays and ArrayLists
- Interfaces, Inheritance, and Polymorphism
- Searching and Sorting Algorithms
The above mentioned topics provide a great foundation for Java Concepts. Since a lot of the material in the class taught the underlying concepts of the programming constructs in computer science terms, it is easy to learn new languages after that (something I would assume that students starting with Python would have a harder time doing – I’ll elaborate on this in another post).