The aim of Semantic Web is to provide distributed information with well-defined meaning, understandable for humans as well as machines. E-learning is an important domain which can be benefited from the Semantic Web technology. Ontologies, as a building structure of Semantic Web, will fundamentally change the way in which e-learning systems are constructed. The explicit conceptualization of system components in a form of ontology facilitates knowledge sharing, knowledge reuse, communication and collaboration among system components, and construction of intensive and expressive systems. In previous research, we implemented tutoring system named Protus (PRogramming TUtoring System) that is used for learning basic concepts of Java programming language. Protus uses principles of learner style identification and content recommendation for course personalization. The new version of the system called Protus 2.0, supported by several ontologies, as well as examples of its usage for performing personalization are presented in this paper. Architecture of new system extends the usage of Semantic Web concepts, where the representation of each Protus 2.0 component is made by a specific ontology, making possible a clear separation of the tutoring system components and explicit communication among them.