Java Learning Object Ontology

Save this PDF as:
 WORD  PNG  TXT  JPG

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Extracting knowledge from Ontology using Jena for Semantic Web

Extracting knowledge from Ontology using Jena for Semantic Web Extracting knowledge from Ontology using Jena for Semantic Web Ayesha Ameen I.T Department Deccan College of Engineering and Technology Hyderabad A.P, India ameenayesha@gmail.com Khaleel Ur Rahman Khan

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

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

Web Services Annotation and Reasoning

Web Services Annotation and Reasoning Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate

More information

Time ontology with Reference Event based Temporal Relations (RETR)

Time ontology with Reference Event based Temporal Relations (RETR) Time ontology with Reference Event based Temporal Relations (RETR) M.Hemalatha 1, V. Uma 2 and Dr. G. Aghila 3 1 Department of Computer Science, Pondicherry University, India hemalathamohanraj@gmail.com

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

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

Using Data-Extraction Ontologies to Foster Automating Semantic Annotation

Using Data-Extraction Ontologies to Foster Automating Semantic Annotation Using Data-Extraction Ontologies to Foster Automating Semantic Annotation Yihong Ding Department of Computer Science Brigham Young University Provo, Utah 84602 ding@cs.byu.edu David W. Embley Department

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

Take Your Team Mobile with Xamarin

Take Your Team Mobile with Xamarin Take Your Team Mobile with Xamarin Introduction Enterprises no longer question if they should go mobile, but are figuring out how to implement a successful mobile strategy, and in particular how to go

More information

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle Fusion Middleware 11g: Build Applications with ADF Accel Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware

More information

Semantic Web Mining and its application in Human Resource Management

Semantic Web Mining and its application in Human Resource Management International Journal of Computer Science & Management Studies, Vol. 11, Issue 02, August 2011 60 Semantic Web Mining and its application in Human Resource Management Ridhika Malik 1, Kunjana Vasudev 2

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

Model Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee*

Model Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee* Model Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee* Allen Tucker (Chair) - Bowdoin College Fadi Deek - New Jersey Inst. of Technology Jill Jones -

More information

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture

More information

Building Knowledge Models Using KSM

Building Knowledge Models Using KSM Building Knowledge Models Using KSM Jose Cuena, Martin Molina Department of Artificial Intelligence, Technical University of Madrid, Campus de Montegancedo S/N, Boadilla del Monte 28660, Madrid, SPAIN

More information

An Expert System for Design Patterns Recognition

An Expert System for Design Patterns Recognition IJCSNS International Journal of Computer Science and Network Security, VOL.17 No.1, January 2017 93 An Expert System for Design Patterns Recognition Omar AlSheikSalem 1 and Hazem Qattous 2 1 Department

More information

Knowledge and Ontological Engineering: Directions for the Semantic Web

Knowledge and Ontological Engineering: Directions for the Semantic Web Knowledge and Ontological Engineering: Directions for the Semantic Web Dana Vaughn and David J. Russomanno Department of Electrical and Computer Engineering The University of Memphis Memphis, TN 38152

More information

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information

The Design Patterns Matrix From Analysis to Implementation

The Design Patterns Matrix From Analysis to Implementation The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley

More information

This is an author-deposited version published in: Handle ID:.http://hdl.handle.net/10985/7834

This is an author-deposited version published in:  Handle ID:.http://hdl.handle.net/10985/7834 Author manuscript, published in "IDMME - Virtual Concept 2010, France (2010)" Science Arts & Métiers (SAM) is an open access repository that collects the work of Arts et Métiers ParisTech researchers and

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Object-Oriented

More information

CO Java SE 8: Fundamentals

CO Java SE 8: Fundamentals CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

More information

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Agent-Enabling Transformation of E-Commerce Portals with Web Services Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:

More information

Introduction to Microsoft.NET Framework Programming using VS 2005 (C#)

Introduction to Microsoft.NET Framework Programming using VS 2005 (C#) Introduction to Microsoft.NET Framework Programming using VS 2005 (C#) Course Length: 5 Days Course Overview This instructor-led course teaches introductory-level developers who are not familiar with the

More information

AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview

AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview AP Computer Science A in Java is based on the syllabus developed by the College Board. Topics include program design and implementation,

More information

XETA: extensible metadata System

XETA: extensible metadata System XETA: extensible metadata System Abstract: This paper presents an extensible metadata system (XETA System) which makes it possible for the user to organize and extend the structure of metadata. We discuss

More information

Agenda item: (Board Office to complete) USF Board of Trustees October 7, 2010

Agenda item: (Board Office to complete) USF Board of Trustees October 7, 2010 Agenda item: (Board Office to complete) USF Board of Trustees October 7, 2010 Issue: Change of CIP code for MS in Management Information Systems in USF College of Business Proposed Action: Approve change

More information

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course 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 provides

More information

KNOWLEDGE MANAGEMENT AND ONTOLOGY

KNOWLEDGE MANAGEMENT AND ONTOLOGY The USV Annals of Economics and Public Administration Volume 16, Special Issue, 2016 KNOWLEDGE MANAGEMENT AND ONTOLOGY Associate Professor PhD Tiberiu SOCACIU Ștefan cel Mare University of Suceava, Romania

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) David Haraburda January 30, 2013 1 Introduction Scala is a multi-paradigm language that runs on the JVM (is totally

More information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1 Design Principles Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques 2-1 Data Structures Data Structure - A systematic way of organizing and accessing

More information

G COURSE PLAN ASSISTANT PROFESSOR Regulation: R13 FACULTY DETAILS: Department::

G COURSE PLAN ASSISTANT PROFESSOR Regulation: R13 FACULTY DETAILS: Department:: G COURSE PLAN FACULTY DETAILS: Name of the Faculty:: Designation: Department:: Abhay Kumar ASSOC PROFESSOR CSE COURSE DETAILS Name Of The Programme:: BTech Batch:: 2013 Designation:: ASSOC PROFESSOR Year

More information

A Comparative Study of Ontology Languages and Tools

A Comparative Study of Ontology Languages and Tools A Comparative Study of Ontology Languages and Tools Xiaomeng Su and Lars Ilebrekke Norwegian University of Science and Technology (NTNU) N-7491, Trondheim, Norway xiaomeng@idi.ntnu.no ilebrekk@stud.ntnu.no

More information

Student Performance Q&A:

Student Performance Q&A: Student Performance Q&A: 2004 AP Computer Science A Free-Response Questions The following comments on the 2004 free-response questions for AP Computer Science A were written by the Chief Reader, Chris

More information

Towards the Semantic Web

Towards the Semantic Web Towards the Semantic Web Ora Lassila Research Fellow, Nokia Research Center (Boston) Chief Scientist, Nokia Venture Partners LLP Advisory Board Member, W3C XML Finland, October 2002 1 NOKIA 10/27/02 -

More information

Understanding the Object Paradigm

Understanding the Object Paradigm 2 Understanding the Object Paradigm M MAJOR A J O R T TOPICSO P I C S Objectives... 18 Pre-Test Questions... 18 Introduction... 19 Classes... 19 Classes and Functions... 20 Abstraction... 25 Adding and

More information

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Contextual Android Education

Contextual Android Education Contextual Android Education James Reed David S. Janzen Abstract Advances in mobile phone hardware and development platforms have drastically increased the demand, interest, and potential of mobile applications.

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012)

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) This QuickGuide is for SEAS students thinking of majoring or minoring in Computer Science. It explains how the program is structured,

More information

Computer. Course Description

Computer. Course Description Computer Science Computer Science A Computer Science AB Course Description May 2009 The College Board: Connecting Students to College Success The College Board is a not-for-profit membership association

More information

Development of Virtual Machine for Programmable Logic Controller (PLC) by Using STEPS Programming Method

Development of Virtual Machine for Programmable Logic Controller (PLC) by Using STEPS Programming Method Development of Virtual Machine for mable Logic Controller (PLC) by Using STEPS ming Method Norashikin M. Thamrin, Mohd. Mukhlis Ismail Faculty of Electrical Engineering Universiti Teknologi MARA Shah Alam,

More information

Extension and integration of i* models with ontologies

Extension and integration of i* models with ontologies Extension and integration of i* models with ontologies Blanca Vazquez 1,2, Hugo Estrada 1, Alicia Martinez 2, Mirko Morandini 3, and Anna Perini 3 1 Fund Information and Documentation for the industry

More information

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language Categories of languages that support OOP: 1. OOP support is added to an existing language - C++ (also supports procedural and dataoriented programming) - Ada 95 (also supports procedural and dataoriented

More information

OOP as an Enrichment of FP

OOP as an Enrichment of FP Position Paper for OOPSLA 2001 Workshop Pedagogies and Tools for Assimilating Object-Oriented Concepts Abstract OOP as an Enrichment of FP Robert "Corky" Cartwright and Dung "Zung" Nguyen Department of

More information

Context-Aware Systems. Michael Maynord Feb. 24, 2014

Context-Aware Systems. Michael Maynord Feb. 24, 2014 Context-Aware Systems Michael Maynord Feb. 24, 2014 The precise definition of 'context' is contentious. Here we will be using 'context' as any information that can be used to characterize the situation

More information

Self-Controlling Architecture Structured Agents

Self-Controlling Architecture Structured Agents Self-Controlling Architecture Structured Agents Mieczyslaw M. Kokar (contact author) Department of Electrical and Computer Engineering 360 Huntington Avenue, Boston, MA 02115 ph: (617) 373-4849, fax: (617)

More information

Chapter 2: Java OOP I

Chapter 2: Java OOP I Chapter 2: Java OOP I Yang Wang wyang AT njnet.edu.cn Outline OO Concepts Class and Objects Package Field Method Construct and Initialization Access Control OO Concepts Object Oriented Methods Object An

More information

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe OBJECT ORIENTED PROGRAMMING USING C++ CSCI 5448- Object Oriented Analysis and Design By Manali Torpe Fundamentals of OOP Class Object Encapsulation Abstraction Inheritance Polymorphism Reusability C++

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Text Mining and the. Text Mining and the Semantic Web. Semantic Web. Tim Finin. University of Maryland Baltimore County

Text Mining and the. Text Mining and the Semantic Web. Semantic Web. Tim Finin. University of Maryland Baltimore County Text Mining and the Text Mining and the Semantic Web Semantic Web Tim Finin University of Maryland Baltimore County recommend tell register Next Generation Data Mining Workshop Baltimore, November 2002

More information

Course list for the Bachelor of Computer Science in INFORMATION SYSTEM

Course list for the Bachelor of Computer Science in INFORMATION SYSTEM Course list for the Bachelor of Computer Science in INFORMATION SYSTEM Course Objectives: Preparing graduates with knowledge, skills and competencies in the field of information systems, especially in

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

Constraints in Feature Algebra

Constraints in Feature Algebra Constraints in Feature Algebra Andreas Zelend Institut für Informatik, Universität Augsburg, Germany zelend@informatik.uni-augsburg.de Abstract. Feature Algebra captures the commonalities of feature oriented

More information

EXAM BLUEPRINT PRPC Certified System Architect

EXAM BLUEPRINT PRPC Certified System Architect EXAM BLUEPRINT PRPC Certified System Architect White Paper Copyright 2011 Pegasystems Inc., Cambridge, MA All rights reserved. This document describes products and services of Pegasystems Inc. It may contain

More information

Computational Thinking. Computational Thinking for Computer Science (CT4CS) Students

Computational Thinking. Computational Thinking for Computer Science (CT4CS) Students Computational Thinking Computational Thinking for Computer Science (CT4CS) Students Background An undergraduate course at Virginia Tech Offered twice as an alternative to a required problem-solving class

More information

Bachelor of Science in Business Administration - Information Systems and Technology Major

Bachelor of Science in Business Administration - Information Systems and Technology Major Bachelor of Science in Administration - Information Systems and Technology Major Ling Li, Chair Harris Wu, Information Technology Area Coordinator Roya Ardalan, Chief Discipline Advisor The information

More information

KawaWiki: A Semantic Wiki Based on RDF Templates

KawaWiki: A Semantic Wiki Based on RDF Templates Kawa: A Semantic Based on RDF s Kensaku Kawamoto, Yasuhiko Kitamura, and Yuri Tijerino Kwansei Gakuin University 2-1 Gakuen, Sanda-shi, Hyogo 669-1337, JAPAN {kkensaku, ykitamura}@ksc.kwansei.ac.jp, yuri@tijerino.net

More information

License.

License. License This document is licensed under the terms of the Creative Commons Attribution-Noncommercial 3.0 Germany license. You are allowed to to Share to copy, distribute, and transmit the document to Remix

More information

Oracle Data Modeling and Relational Database Design

Oracle Data Modeling and Relational Database Design Oracle University Contact Us: +632 976 8896, 1800 16516277 Oracle Data Modeling and Relational Database Design Duration: 4 Days What you will learn This Oracle Data Modeling and Relational Database Design

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

A comparison of computer science and software engineering programmes in English universities

A comparison of computer science and software engineering programmes in English universities A comparison of computer science and software engineering programmes in English universities Meziane, F and Vadera, S Title Authors Type URL Published Date 2004 A comparison of computer science and software

More information

THE TECHNIQUES FOR THE ONTOLOGY-BASED INFORMATION RETRIEVAL

THE TECHNIQUES FOR THE ONTOLOGY-BASED INFORMATION RETRIEVAL THE TECHNIQUES FOR THE ONTOLOGY-BASED INFORMATION RETRIEVAL Myunggwon Hwang 1, Hyunjang Kong 1, Sunkyoung Baek 1, Kwangsu Hwang 1, Pankoo Kim 2 1 Dept. of Computer Science Chosun University, Gwangju, Korea

More information

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli Identify and overcome the difficulties encountered by students when learning how to program List and explain the software development roles played by students List and explain the phases of the tight spiral

More information

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence Instances and Classes in SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci 24 Summer 1999 intelligence Software Engineering Over the past decade or so, one of the many areas that artificial intelligence

More information

Universal Model Framework -- An Introduction

Universal Model Framework -- An Introduction Universal Model Framework -- An Introduction By Visible Systems Corporation www.visible.com This document provides an introductory description of the Universal Model Framework an overview of its construct

More information

COMPUTER SCIENCE. Computer Science 123

COMPUTER SCIENCE. Computer Science 123 Computer Science 123 COMPUTER SCIENCE Natural Applied Sciences Division Jamie Alonzo, Division Dean Division Office, Room 701 Steve Hodges, Program Contact, (831) 479-6494 Aptos Counseling: (831) 479-6274

More information

CTI Short Learning Programme in IT Enigneering

CTI Short Learning Programme in IT Enigneering CTI Short Learning Programme in IT Enigneering Module Descriptions 2015 1 Short Learning Programme in IT Engineering (8 months full-time, 20 months part-time) Computer Literacy Knowing how to use a computer

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Developing University Ontology using protégé OWL Tool: Process and Reasoning

Developing University Ontology using protégé OWL Tool: Process and Reasoning International Journal of Scientific & Engineering Research Volume 2, Issue 9, September-2011 1 Developing University Ontology using protégé OWL Tool: Process and Reasoning Naveen Malviya, Nishchol Mishra,

More information

Racer: An OWL Reasoning Agent for the Semantic Web

Racer: An OWL Reasoning Agent for the Semantic Web Racer: An OWL Reasoning Agent for the Semantic Web Volker Haarslev and Ralf Möller Concordia University, Montreal, Canada (haarslev@cs.concordia.ca) University of Applied Sciences, Wedel, Germany (rmoeller@fh-wedel.de)

More information

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) Computer Science, Bachelor of Science (B.S.) 1 COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) The Bachelor of Science in Computer Science is built on a rigorous, highly concentrated, accredited curriculum

More information

BASIC CONCEPT OF OOP

BASIC CONCEPT OF OOP Chapter-6 BASIC CONCEPT OF OOP Introduction: Object oriented programmingg is the principle of design and development of programs using modular approach. Object oriented programmingg approach provides advantages

More information

COMPUTER SCIENCE (CS)

COMPUTER SCIENCE (CS) Computer Science (CS) 1 COMPUTER SCIENCE (CS) CS 1308. Computer Literacy and the Internet. A study of the uses of computers and their effects on society. Text processing, spreadsheets, databases, and Web

More information

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes Java Curriculum for AP Computer Science, Student Lesson A20 1 STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes INTRODUCTION:

More information

Design Patterns IV. Alexei Khorev. 1 Structural Patterns. Structural Patterns. 2 Adapter Design Patterns IV. Alexei Khorev. Structural Patterns

Design Patterns IV. Alexei Khorev. 1 Structural Patterns. Structural Patterns. 2 Adapter Design Patterns IV. Alexei Khorev. Structural Patterns Structural Design Patterns, 1 1 COMP2110/2510 Software Design Software Design for SE September 17, 2008 2 3 Department of Computer Science The Australian National University 4 18.1 18.2 GoF Structural

More information