Shelf:Computer programming concepts