Semantic ideas in computing