Java Learning Object Ontology

Size: px
Start display at page:

Download "Java Learning Object Ontology"

Transcription

1 Java Learning Object Ontology Ming-Che Lee, Ding Yen Ye & Tzone I Wang Laboratory of Intelligent Network Applications Department of Engineering Science National Chung Kung University Taiwan limingche@hotmail.com, aska@lina.es.ncku.edu.tw, wti535@mail.ncku.edu.tw Abstract This paper presents an ontology, the Java Learning Object Ontology - JLOO, for organizing learning objects of Java courses in an adaptive e-learning environment. The classification is based on the Computing Curricula CC2001 of the ACM and IEEE/CS. Using the curriculum as a guideline, the ontology defines the atomic knowledge units (i.e. learning objects) for an introductory course of Java programming. The most significant contributions of JLOO are: 1) defining the atomic knowledge units of introductory courses of Java language, and the relationships among them, 2) making the knowledge units of JLOO sharable and reusable, 3) allowing different learning strategies of a e-learning environment to choose dynamically, using JLOO as a guideline, different learning paths, and 4) making the realization of adaptive learning easy. 1. Introduction In 2001, The Joint IEEE Computer Society/ACM Task Force on the "Model Curricula for Computing" (CC) published the Computing Curricula 2001 (i.e. CC2001) [1] that contains curriculum recommendations for undergraduate programming courses in computer science. The report also called for additional discipline-specific volumes for each of computer engineering, information systems, and software engineering. In the curriculum six top-level concepts are suggested for the programming fundamentals; they are Data model, Control structures, Order of execution, Encapsulation, Relationships among encapsulated components, and Testing and debugging respectively. To introduce object-oriented programming, Java is the most common used language because of its popularity and practicability. Different educational strategies may lead to different learning paths in Java course. For example, if an institute chooses Object-First as their teaching strategy, Class and Object concepts may be presented first in its course. However, if Functional-first is chosen, some functional programming languages and algorithms may be presented before Java, and Java course can start from syntax, procedure rules, or data structures instead of class and object. This paper presents a Java Learning Object Ontology JLOO, which is used as a guideline in developing the learning objects of introductory Java courses and in organizing these learning objects in an adaptive learning environment. The work is based on the Computing Curricula CC2001 of the ACM and IEEE/CS. JLOO focuses on the basic knowledge units in Java language without considering other advanced Java programming features (such as swing package, network programming, or multi-threading). The rest of this paper is organized as follows: section 2 describes the concept of ontology in brief, and analysis the methodology for building ontology. Section 3 describes the structures of JLOO in detail. Section 4 is a case study in class tutoring. Different strategies and learning path are also examined in this section. Conclusion and future work are given in section Ontology concepts and methodology Ontology is a philosophical theory about the nature of existence. Artificial Intelligence researchers reincarnate this term as their own jargon for expressing a shared and common understanding of some domain that can be communicated between people and

2 application systems [2]. A typical ontology has a taxonomy defining the classes and their relationships and a set of inference rules powering reasoning functions [3]. 2.1 Ontology Definitions Ontology is recognized as a term referring to the shared understanding of some domains of interest, which is often conceived as a set of classes (concepts), relations, functions, axioms and instances [4]. Guarino [5] established a comprehensive survey of the ontology definition from the high cited relevant works in the knowledge sharing community. For the purpose of this paper, an ontology is a formal description of concepts in a domain of concepts (we use class in this paper), properties of each concepts describing various features and attributes of the concept ( slot is used in this paper), and restrictions on slot ( facets is used in this paper). 2.2 Methodologies for ontology development This sub-section describes our methodology for JLOO development, which is called purpose-oriented model. Here we discuss general issues to consider and offer one practical process for developing an ontology. The steps are: (1) Determine the domain and purpose of the target ontology. Defining explicit domain and purpose is the most important step in developing an ontology. For example in JLOO, the domain is targeted at atomic knowledge units of introductory Java language. So the class hierarchy is constructed by learning concepts, and Java APIs are not mentioned. (2) Consider reusing legacy ontologies There are libraries of reusable ontology on the Web and in the literature, such as Ontolingua ontology library [6], DAML ontology library [7]. Lots of commercial ontologies are also available (e.g. UNSPSC [8], RosettaNet [9], DMOZ [10]). If one considers to reuse existing ontologies, it s necessary going back to step1 and check the originally purpose. (3) Survey important terms in this domain It is useful to write down a list of all important terms (or terms that have special meaning). The scope must also be limited to the domain and purpose of this ontology. (4) Define classes and class hierarchy Hhow to build a class hierarchy (in other words, considering which terms should be classes) strongly depends on the expert s view and the purpose. We organize the classes into a hierarchical taxonomy by referring two principles: (a) Each instance of B is an instance of A, if and only if B is a sub-class of A (b) If C has no instance, then C should be considered as an instance. (5) Define slots of classes What slots should be added into a class also depends strongly on the purpose of the target ontology. For example in JLOO, String is a formal learning concept (i.e. a class). But in Java, Strings are objects. Specifically they are the instances of the class Java.lang.String. While the purpose of JLOO is to provide a learning object knowledge base, not a Java APIs inventory, the package path (Java.lang) has no reason to be a slot in the String. (6) Create instances The final step is to create the instances of the classes. If an instance is unconcerned with the purpose, it should not be created. This step also refers to the principles in step The structure of Java Learning Object Ontology This section describes the ontology developed in this paper, the JAVA Learning Object Ontology JLOO. 3.1 Definition of Learning Objects The term Learning Objects is defined based on the Declarative Knowledge Representation the knowledge of facts, concepts, principles, and mental model [11]. The normal descriptions of these four knowledge types in related to Java programming language are: Facts "Know what"; Fact is a statement that explains the relationship between two objects or events. For example in Java, all the Arithmetic operators (+ (unary plus), - (unary minus), *, /, %, +, -) are Facts.

3 Concepts Know that A Concepts is a class of items, words, or ideas that are known by a common name, shares some common features and includes multiple specific examples. In Java language, declaration statement could be a concepts. Principles Know why A principle is a type of relational rules that can be used as if-then or cause-effect relationships. For example, in Java, Double-selection structure (if/else), and Multiple-selection structure (switch) could be the principles. Mental Model A mental model is a network constructed from facts, concepts, and principles. For example, in Java, many higher level abstractions, such as the Recursion or the Iteration could be defined as mental models. fit as possible to the original description for the data model in CC2001, which is Standard structures for representing data; abstract (described by a model) and concrete (described by an implementation) descriptions. In addition to the primitive types in Java language, class, the user defined data type, are also included in JLOO. The Control Structure Concepts As mentioned above, Learning Object is defined as: a significant instruction entity (maybe a text, a talk, a test, or other kinds of representations), which belongs to a fact, concept, principle, or mental model. 3.2 Classes and class hierarchy This sub-section describes the classes and the class hierarchy of JLOO. Protégé 3.0 beta [12] is used to build JLOO. The leaf nodes are the concretizations of facts ; they are the template definitions of atomic learning objects which can have various learning contents for the facts. A non-leaf node, on the other hand, represents the concretization of concepts, principles, or mental model ; an instance of it should integrate, in some form, the instances created from all the leaf nodes that are direct descendants of the node. Figure 2. Sub-Class Hierarchy of Control structure The original description of control structure in CC2001 is: Effects of applying operations to program objects; what an operation does (described by a model); how an operation does it (described by an implementation). It implies the inclusion of all the expressions and statements in programming languages; thus, they are included exactly as expressions and statements concepts in JLOO and shown as that in figure 2. The Order of Execution Concepts The Data Models Concepts Figure 3. Sub-Class Hierarchy of Order of Execution Figure 1. Sub-Class Hierarchy of Data models Data models cover the basic data types in Java and some simple concepts in OO paradigm. They adhere as The original description of order of execution in CC2001 includes: Standard control structures: sequence, selection, iteration; function calls and parameter passing. This description implies that the execution order maybe different while some variables

4 values are changed. The results in JLOO are shown as in figure 3. The Encapsulation Concepts. Figure 6. Sub-Class Hierarchy of Testing and Debugging Figure 4. Sub-Class Hierarchy of Encapsulation The primary description of encapsulation concept in CC2001 is: Indivisible bundling of related entities; client view based on abstraction and information hiding; implementer view based on internal detail. This implies the necessity in the course to comprise OO concepts (client view) and the related syntax (implementer view). Thus, JLOO contains the necessary knowledge in the hierarchy. The result is shown as in figure 4. The Relationships among Encapsulated Components Concepts. Figure 5. Sub-Class Hierarchy of Relationships among Encapsulated Components The original description of the relationships among encapsulated components in CC2001 states: The role of interfaces in mediating information exchange; responsibilities of encapsulated components to their clients; the value of inheritance. The concepts are reflected in JLOO as composition, inheritance, package, polymorphism, and scope rules as shown in figure 5. The Testing and Debugging Concepts The description of testing and debugging concepts in CC2001 is just: The importance of testing; debugging strategies. In fact, the concepts of testing and debugging are hard to be classified. Referring to the debugging and testing techniques found in software engineering, JLOO classifies the concepts as error types, testing strategies, testing techniques, and etc, as shown in figure Definition of Slots In JLOO three specific slots are defined for a concept: PREREQUISITES MUST-TAKE OPTION-TAKE They are discussed as follows PREREQUISITES Part of the values of PREREQUISITES indicates the learning objects that must be learned first to gain the prerequisite knowledge before studying an instance learning object of this class; i.e. a learning object is not to be taught unless that the prerequisite condition is satisfied. The remaining values indicate some learning objects that can be optionally learned. Figure 8 illustrates the concept of PREPREQUISITES. To enhance the scalability and flexibility of PREREQUISITES, two template classes, AND-GATE and OR-GATE (both with type Boolean ) are added in JLOO. The meaning of AND-GATE and OR-GATE is similar to the logic gates. Figure 10 shows two examples. On the right side (Multi-selection Structure (switch), Class Method use Static) are the target learning objects, and on the left side are the corresponding prerequisite learning objects. That is, the AND-GATE points to the required objects. All the objects that connect to the left hand side of the AND-GATE must be taken, i.e., the AND-GATE will be set true if and only if all the connected objects were

5 done (in the reality, for example, pass a test). The OR-GATE will be set true if and only if one of the connected objects was done. Name constant Variable Initializtion Call Assignment public static Value-returning Method Void Method break Primitive Type Modifiers Method Multi-selection Structure (swtich) Class Method use Static Figure 7. Case Study of Type Class There are two significant implications of PREREQUISITES. (1) As the first case shown in figure 7, there are multiple ways to get into Multi-selection Structure (switch). Also at the second case, to get into Class Method use Static, there are multiple selections. Different learning strategies may choose different paths, especially in an e-learning environment. In such an environment, the course structure is quite different from the traditional instruction, such as the concept-oriented instruction, programming-skill-oriented instruction, or even the certification-oriented instruction that with limited teaching hours. In the implementation, we referred to experts opinion and gave each learning object the corresponding prerequisite values, which could be the minimal restriction of the learning path chosen. (2) With different learning paths, the content of the target learning object should be adjusted. For example, as the first case in figure 7, if the prerequisites of the target is Variable ; Assignment ; break; Primitive Type, the content of switch should not include Initialization or others MUST-TAKE & OPTION-TAKE. These two MUST-TAKE and OPTION-TAKE are used to describe the non-leaf nodes of the class hierarchy. As mentioned in a previous section, non-leaf node is the concrete knowledge with types concepts, principles, or mental model, and the learning content is constructed by its children. The value of MUST-TAKE records the must take learning objects, and OPTION-TAKE records the optional learning objects which can enhance the comprehension of the target. Ontology (JLOO), which is used to be a guide for various learning strategies chosen. As we showed above, JLOO is a reusable and sharable ontology. In most institutions, programming skills (at least programming fundamental concepts) are provided in the introductory courses, i.e., students may touch this domain at the first year of college. With the specific slots, JLOO is easy to help teachers to build the most suitable instruction process. This paper also presents a purpose-oriented methodology that we use to build JLOO. Comparing with the existed ontology development methodologies, the proposed methodology provides a more practical way to build a domain specific ontology. References [1] Computing Curricula of The Joint IEEE Computer Society/ACM Task Force. [2] Gruber, T. R., Toward principles for the design of ontologies used for knowledge sharing, IJHCS, 1994, no. 43(5/6), pp [3] Tim Berners-Lee, James Hendler, and Ora Lassila, The semantic web. Scientific American, 2001, May. [4] Gruber, T. R., A translation approach to portable ontology specifications, Knowledge Acquisition, no. 5, pp , [5] Guarino N., Understanding, Building and Using Ontologies: A Commentary to Using Explicit Ontologies in KBS Development", by van Heijst, Schreiber, and Wielinga, International Journal of Human and Computer Studies, no. 46(2/3), pp , [6] [7] [8] [9] [10] [11] Gagne, R., The conditions of learning, New York: Holt, Rhinehart and Winston, [12] 4. Conclusions This paper presents a Java Learning Object

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011). AP Computer Science A Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled

More information

Ontology Creation and Development Model

Ontology Creation and Development Model Ontology Creation and Development Model Pallavi Grover, Sonal Chawla Research Scholar, Department of Computer Science & Applications, Panjab University, Chandigarh, India Associate. Professor, Department

More information

KNOWLEDGE MANAGEMENT VIA DEVELOPMENT IN ACCOUNTING: THE CASE OF THE PROFIT AND LOSS ACCOUNT

KNOWLEDGE MANAGEMENT VIA DEVELOPMENT IN ACCOUNTING: THE CASE OF THE PROFIT AND LOSS ACCOUNT KNOWLEDGE MANAGEMENT VIA DEVELOPMENT IN ACCOUNTING: THE CASE OF THE PROFIT AND LOSS ACCOUNT Tung-Hsiang Chou National Chengchi University, Taiwan John A. Vassar Louisiana State University in Shreveport

More information

An Ontology-Based Intelligent Information System for Urbanism and Civil Engineering Data

An Ontology-Based Intelligent Information System for Urbanism and Civil Engineering Data Ontologies for urban development: conceptual models for practitioners An Ontology-Based Intelligent Information System for Urbanism and Civil Engineering Data Stefan Trausan-Matu 1,2 and Anca Neacsu 1

More information

Ontology for Exploring Knowledge in C++ Language

Ontology for Exploring Knowledge in C++ Language Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,

More information

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011 A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the

More information

Software Development Fundamentals (SDF)

Software Development Fundamentals (SDF) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Software Development Fundamentals (SDF) Fluency in the process of software development is a prerequisite to the study of most

More information

Java Programming Fundamentals

Java Programming Fundamentals Java Programming Fundamentals Course JAVAB Five Days Instructor-led Hands on This five-day, instructor-led course helps any programmer learn Java faster and better than ever before: It's the one Java course

More information

Multi-Paradigm Approach for Teaching Programming

Multi-Paradigm Approach for Teaching Programming Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate

More information

AP Computer Science A Syllabus

AP Computer Science A Syllabus AP Computer Science A Syllabus Course Overview The focus of this class is structured logic with an emphasis on developing simple, elegant algorithms and thinking in an object-oriented manner. The Java

More information

Ontology Development. Qing He

Ontology Development. Qing He A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far Ontology Development Qing He 1 Why develop an ontology? In recent years the development of ontologies

More information

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

Developing Microsoft.NET Applications for Windows (Visual Basic.NET) Developing Microsoft.NET Applications for Windows (Visual Basic.NET) Course Number: 2555 Length: 1 Day(s) Certification Exam This course will help you prepare for the following Microsoft Certified Professional

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET 2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET Introduction Elements of this syllabus are subject to change. This five-day instructor-led course provides students with the knowledge

More information

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy. Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy. Contents Executive Summary... 3 IT Curriculum Overview... 3 Aims... 3 Oracle Academy Introduction to Computer Science...

More information

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Minal Bhise DAIICT, Gandhinagar, Gujarat, India 382007 minal_bhise@daiict.ac.in Abstract. The semantic web offers

More information

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE Ping Zhang, Ph.D., Interim Department Chairperson Math and Science Building, 1 st Floor 1000 ASU Drive #30 Phone: 601-877-6430 FAX: 601-877-6631 Degrees Offered

More information

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME CO-1 Programming fundamental using C The purpose of this course is to introduce to students to the field of programming using C language. The students

More information

Organizing Information. Organizing information is at the heart of information science and is important in many other

Organizing Information. Organizing information is at the heart of information science and is important in many other Dagobert Soergel College of Library and Information Services University of Maryland College Park, MD 20742 Organizing Information Organizing information is at the heart of information science and is important

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 95-96 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

Sri Vidya College of Engineering & Technology

Sri Vidya College of Engineering & Technology UNIT I INTRODUCTION TO OOP AND FUNDAMENTALS OF JAVA 1. Define OOP. Part A Object-Oriented Programming (OOP) is a methodology or paradigm to design a program using classes and objects. It simplifies the

More information

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10 Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer

More information

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline :: Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience

More information

SCourse Description. Includes important information regarding the introduction of the language Java. MAY 2004, MAY 2005

SCourse Description. Includes important information regarding the introduction of the language Java. MAY 2004, MAY 2005 SCourse Description C O M P U T E R S C I E N C E Includes important information regarding the introduction of the language Java. CS MAY 2004, MAY 2005 The College Board is a national nonprofit membership

More information

Towards Ontology Mapping: DL View or Graph View?

Towards Ontology Mapping: DL View or Graph View? Towards Ontology Mapping: DL View or Graph View? Yongjian Huang, Nigel Shadbolt Intelligence, Agents and Multimedia Group School of Electronics and Computer Science University of Southampton November 27,

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

Object-Oriented Programming. Objects. Objects. Objects

Object-Oriented Programming. Objects. Objects. Objects References: Beginning Java by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin Object Oriented Programming defined

More information

Business Rules in the Semantic Web, are there any or are they different?

Business Rules in the Semantic Web, are there any or are they different? Business Rules in the Semantic Web, are there any or are they different? Silvie Spreeuwenberg, Rik Gerrits LibRT, Silodam 364, 1013 AW Amsterdam, Netherlands {silvie@librt.com, Rik@LibRT.com} http://www.librt.com

More information

Semantic web. Tapas Kumar Mishra 11CS60R32

Semantic web. Tapas Kumar Mishra 11CS60R32 Semantic web Tapas Kumar Mishra 11CS60R32 1 Agenda Introduction What is semantic web Issues with traditional web search The Technology Stack Architecture of semantic web Meta Data Main Tasks Knowledge

More information

Data modeling among non-programmers. Mads Hjorth Danish Commerce and Companies Agency

Data modeling among non-programmers. Mads Hjorth Danish Commerce and Companies Agency Data modeling among non-programmers Mads Hjorth Danish Commerce and Companies Agency Background I live and work in Copenhagen, Denmark Educational from Roskilde University with degrees in Educational Science

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction Adaptable and Adaptive Web Information Systems School of Computer Science and Information Systems Birkbeck College University of London Lecture 1: Introduction George Magoulas gmagoulas@dcs.bbk.ac.uk October

More information

AP Computer Science A (Java) Scope and Sequence

AP Computer Science A (Java) Scope and Sequence AP Computer Science A (Java) Scope and Sequence The CodeHS AP Java course is a year-long course designed to help students master the basics of Java and equip them to successfully pass the AP Computer Science

More information

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,

More information

Programming Languages 2nd edition Tucker and Noonan"

Programming Languages 2nd edition Tucker and Noonan Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "

More information

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Departament Departament

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

Ontology Development Tools and Languages: A Review

Ontology Development Tools and Languages: A Review Ontology Development Tools and Languages: A Review Parveen 1, Dheeraj Kumar Sahni 2, Dhiraj Khurana 3, Rainu Nandal 4 1,2 M.Tech. (CSE), UIET, MDU, Rohtak, Haryana 3,4 Asst. Professor, UIET, MDU, Rohtak,

More information

Design Principles for a Beginning Programming Language

Design Principles for a Beginning Programming Language Design Principles for a Beginning Programming Language John T Minor and Laxmi P Gewali School of Computer Science University of Nevada, Las Vegas Abstract: We consider the issue of designing an appropriate

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

INFO216: Advanced Modelling

INFO216: Advanced Modelling INFO216: Advanced Modelling Theme, spring 2018: Modelling and Programming the Web of Data Andreas L. Opdahl Session S13: Development and quality Themes: ontology (and vocabulary)

More information

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

CompuScholar, Inc. Alignment to Nevada Computer Science Course Standards CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards Nevada Course Details: Course Name: Computer Science Primary Cluster: Information and Media Technologies Standards Course Code(s):

More information

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Natalya F. Noy, Monica Crubézy, Ray W. Fergerson, Samson Tu, Mark A. Musen Stanford Medical Informatics Stanford University Stanford,

More information

ITT Technical Institute. SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS

ITT Technical Institute. SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS ITT Technical Institute SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS Credit hours: 3 Contact/Instructional hours: 40 (20 Theory Hours, 20 Lab Hours) Prerequisite(s)

More information

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET VB.NET Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Grade Weights. Language Design and Overview of COOL. CS143 Lecture 2. Programming Language Economics 101. Lecture Outline

Grade Weights. Language Design and Overview of COOL. CS143 Lecture 2. Programming Language Economics 101. Lecture Outline Grade Weights Language Design and Overview of COOL CS143 Lecture 2 Project 0% I, II 10% each III, IV 1% each Midterm 1% Final 2% Written Assignments 10% 2.% each Prof. Aiken CS 143 Lecture 2 1 Prof. Aiken

More information

Semantic Web and Electronic Information Resources Danica Radovanović

Semantic Web and Electronic Information Resources Danica Radovanović D.Radovanovic: Semantic Web and Electronic Information Resources 1, Infotheca journal 4(2003)2, p. 157-163 UDC 004.738.5:004.451.53:004.22 Semantic Web and Electronic Information Resources Danica Radovanović

More information

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Jorge Gracia, Eduardo Mena IIS Department, University of Zaragoza, Spain {jogracia,emena}@unizar.es Abstract. Ontology matching, the task

More information

Helmi Ben Hmida Hannover University, Germany

Helmi Ben Hmida Hannover University, Germany Helmi Ben Hmida Hannover University, Germany 1 Summarizing the Problem: Computers don t understand Meaning My mouse is broken. I need a new one 2 The Semantic Web Vision the idea of having data on the

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Chapter 18 XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Fábio Ghignatti Beckenkamp and Wolfgang Pree Abstract: Key words: WebEDI relies on the Internet infrastructure for exchanging documents among

More information

Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications

Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications 2009 International Conference on Computer Engineering and Technology Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications Sung-Kooc Lim Information and Communications

More information

Object Oriented Programming In C By Robert Lafore 3rd Edition

Object Oriented Programming In C By Robert Lafore 3rd Edition Object Oriented Programming In C By Robert Lafore 3rd Edition We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer,

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1 Table of Contents Introduction... ix Chapter 1: Exploring Fundamental Programming Concepts... 1 1.1 Exploring the Editors... 2 History of Editors... 2 Exploring the Types of Text Editors... 3 Describing

More information

Object-Oriented Programming

Object-Oriented Programming References: Beginning Java Objects by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin 9/11/2003 1 Object Oriented

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS

SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS João Paulo Orlando 1, Adriano Rívolli 1, Saeed Hassanpour 2, Martin J. O'Connor 2, Amar Das 2, and Dilvan A. Moreira 1 1 Dept.

More information

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. Preface p. xv Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. 8 Specification and Design Aspects p.

More information

IMACS: AP Computer Science A

IMACS: AP Computer Science A IMACS: AP Computer Science A OVERVIEW This course is a 34-week, 4 classroom hours per week course for students taking the College Board s Advanced Placement Computer Science A exam. It is an online course

More information

CGS 2405 Advanced Programming with C++ Course Justification

CGS 2405 Advanced Programming with C++ Course Justification Course Justification This course is the second C++ computer programming course in the Computer Science Associate in Arts degree program. This course is required for an Associate in Arts Computer Science

More information

An Object Oriented Programming with C

An Object Oriented Programming with C An Object Oriented Programming with C By Tanmay Kasbe Dr. Ravi Singh Pippal IDEA PUBLISHING WWW.ideapublishing.in i Publishing-in-support-of, IDEA PUBLISHING Block- 9b, Transit Flats, Hudco Place Extension

More information

SYLLABUS JAVA COURSE DETAILS. DURATION: 60 Hours. With Live Hands-on Sessions J P I N F O T E C H

SYLLABUS JAVA COURSE DETAILS. DURATION: 60 Hours. With Live Hands-on Sessions J P I N F O T E C H JAVA COURSE DETAILS DURATION: 60 Hours With Live Hands-on Sessions J P I N F O T E C H P U D U C H E R R Y O F F I C E : # 4 5, K a m a r a j S a l a i, T h a t t a n c h a v a d y, P u d u c h e r r y

More information

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3 Course Code: GK1965 Overview Java 8 Essentials for OO Developers is a three-day, fast-paced, quick start to Java 8 training

More information

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,

More information

Syllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview

Syllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview Course Number: CS 361 Course Title: Control Structures Course Description: Syllabus CS 361. CONTROL STRUCTURES (3). Discusses basic concepts of computer organization. Develops a precise and logical methodology

More information

Object Oriented Programming With C By Balagurusamy 5th Edition

Object Oriented Programming With C By Balagurusamy 5th Edition Object Oriented Programming With C By Balagurusamy 5th Edition We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your

More information

Context Ontology Construction For Cricket Video

Context Ontology Construction For Cricket Video Context Ontology Construction For Cricket Video Dr. Sunitha Abburu Professor& Director, Department of Computer Applications Adhiyamaan College of Engineering, Hosur, pin-635109, Tamilnadu, India Abstract

More information

AP Computer Science AB

AP Computer Science AB AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.

More information

Computer. Course Description. Computer Science AB. M a y , M a y

Computer. Course Description. Computer Science AB. M a y , M a y Computer Science Computer Science A Computer Science AB Course Description M a y 2 0 0 7, M a y 2 0 0 8 The College Board: Connecting Students to College Success The College Board is a not-for-profit membership

More information

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING 1. Object Oriented Programming Paradigms 2. Comparison of Programming Paradigms 3. Basic Object Oriented Programming

More information

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN YEAR 1, SEMESTER 1 YEAR 1, SEMESTER 2 Composition I 3 Composition II 3 Calculus I 5 Calculus II 5 Humanistic (Religion) 3 Physics I 5 Total Wellness 2 Statistics

More information

Internet Application Developer

Internet Application Developer Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object

More information

Core Java Syllabus. Pre-requisite / Target Audience: C language skills (Good to Have)

Core Java Syllabus. Pre-requisite / Target Audience: C language skills (Good to Have) Overview: Java programming language is developed by Sun Microsystems. Java is object oriented, platform independent, simple, secure, architectural neutral, portable, robust, multi-threaded, high performance,

More information

Web-based Interactive Support for Combining Contextual and Procedural. design knowledge

Web-based Interactive Support for Combining Contextual and Procedural. design knowledge Web-based Interactive Support for Combining Contextual and Procedural Design Knowledge J.-H. Lee & Z.-X. Chou Graduate School of Computational Design, NYUST, Touliu, Taiwan ABSTRACT: Design study can take

More information

Enhanced Class Design -- Introduction

Enhanced Class Design -- Introduction Enhanced Class Design -- Introduction We now examine several features of class design and organization that can improve reusability and system elegance Chapter 9 focuses on: abstract classes formal Java

More information

Semantic Web Systems Introduction Jacques Fleuriot School of Informatics

Semantic Web Systems Introduction Jacques Fleuriot School of Informatics Semantic Web Systems Introduction Jacques Fleuriot School of Informatics 11 th January 2015 Semantic Web Systems: Introduction The World Wide Web 2 Requirements of the WWW l The internet already there

More information

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015 RESEARCH ARTICLE OPEN ACCESS Multi-Lingual Ontology Server (MOS) For Discovering Web Services Abdelrahman Abbas Ibrahim [1], Dr. Nael Salman [2] Department of Software Engineering [1] Sudan University

More information

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

(800) Toll Free (804) Fax   Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented

More information

RESEARCH ON REMOTE SENSING INFORMATION PROCESSING SERVICES BASED ON SEMANTIC WEB SERVICES

RESEARCH ON REMOTE SENSING INFORMATION PROCESSING SERVICES BASED ON SEMANTIC WEB SERVICES RESEARCH ON REMOTE SENSING INFORMATION PROCESSING SERVICES BASED ON SEMANTIC WEB SERVICES Qian Li a, *, Haigang Sui a, Yuanyuan Feng a, Qin Zhan b, Chuan Xu a a State Key Lab of Information Engineering

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Ontology-Specific API for a Curricula Management System

Ontology-Specific API for a Curricula Management System Ontology-Specific API for a Curricula Management System Adelina Tang Dept. of Computer Science & Networked Systems Sunway University Petaling Jaya, Malaysia adelina.tang@ieee.org Jason Hoh Dept. of Computer

More information

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation Object-Oriented Software Engineering Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized around the notion of procedures Procedural abstraction

More information

a paradigm for the Introduction to Semantic Web Semantic Web Angelica Lo Duca IIT-CNR Linked Open Data:

a paradigm for the Introduction to Semantic Web Semantic Web Angelica Lo Duca IIT-CNR Linked Open Data: Introduction to Semantic Web Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it Linked Open Data: a paradigm for the Semantic Web Course Outline Introduction to SW Give a structure to data (RDF Data Model)

More information

COWLEY COLLEGE & Area Vocational Technical School

COWLEY COLLEGE & Area Vocational Technical School COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR JAVA PROGRAMMING CIS1868 3 Credit Hours Student Level: This course is open to students on the college level in either freshman or

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

Incremental and Iterative Agile Methodology (IIAM): Hybrid Approach for Ontology Design towards Semantic Web Based Educational Systems Development

Incremental and Iterative Agile Methodology (IIAM): Hybrid Approach for Ontology Design towards Semantic Web Based Educational Systems Development Incremental and Iterative Agile Methodology (IIAM): Hybrid Approach for Ontology Design towards Semantic Web Based Educational Systems Development Santhosh John, Nazaraf Shah, and Leonid Smalov Abstract

More information

Knowledge Engineering with Semantic Web Technologies

Knowledge Engineering with Semantic Web Technologies This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0) Knowledge Engineering with Semantic Web Technologies Lecture 3: Ontologies and Logic 01- Ontologies Basics

More information

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013. AP Computer Science August 2014 June 2015 Class Description AP Computer Science is the second class after Pre-AP Computer Science that together teach the fundamentals of object-oriented programming and

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are

More information

Introduction to Software Engineering: Object Design I Reuse & Patterns

Introduction to Software Engineering: Object Design I Reuse & Patterns Introduction to Software Engineering: Object Design I Reuse & Patterns John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit 3e, Chapter 8,

More information

Fausto Giunchiglia and Mattia Fumagalli

Fausto Giunchiglia and Mattia Fumagalli DISI - Via Sommarive 5-38123 Povo - Trento (Italy) http://disi.unitn.it FROM ER MODELS TO THE ENTITY MODEL Fausto Giunchiglia and Mattia Fumagalli Date (2014-October) Technical Report # DISI-14-014 From

More information