teaching the fundamentals of object-oriented concepts and programming and implementation.