Basic concepts abstract class abstract method algorithm artificial intelligence behavior class class method class variable data structures encapsulation functional programming Hello World Program hierarchy human-computer interface inheritance input input/output device instance instance method instance variable memory computer networking protocol method object object-oriented programming output override polymorphism programming language protocol scope state subroutine variable Techniques software engineering software testing