Basic concepts abstract class abstract method algorithm artificial intelligence behavior class class method class variable 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 programming language protocol scope state Techniques software engineering software testing