203,109 research outputs found

    Integrating ERD and UML Concepts When Teaching Data Modeling

    Get PDF
    In this paper, we describe a teaching approach that evolved from our experience teaching in both the traditional database and systems analysis classes as well as a number of semesters spent team-teaching an object-oriented systems development course. Fundamentally, we argue that existing knowledge of structured systems development can and should inform our teaching processes when teaching object-oriented systems development techniques. We draw from an anecdotal industry example provided by one of our former students to illustrate the value of this approach given our perception that there is a need in practice today to easily shift from structured to object-oriented thinking

    Review and Outlooks of the Means for Visualization of Syntax Semantics and Source Code. Procedural and Object Oriented Paradigm – Differences

    Get PDF
    In the article, we have reviewed the means for visualization of syntax, semantics and source code for programming languages which support procedural and/or object-oriented paradigm. It is examined how the structure of the source code of the structural and object-oriented programming styles has influenced different approaches for their teaching. We maintain a thesis valid for the object-oriented programming paradigm, which claims that the activities for design and programming of classes are done by the same specialist, and the training of this specialist should include design as well as programming skills and knowledge for modeling of abstract data structures. We put the question how a high level of abstraction in the object-oriented paradigm should be presented in simple model in the design stage, so the complexity in the programming stage stay low and be easily learnable. We give answer to this question, by building models using the UML notation, as we take a concrete example from the teaching practice including programming techniques for inheritance and polymorphism

    Reducing the complexity of the software design process with object-oriented design

    Get PDF
    Designing software is a complex process. How object-oriented design (OOD), coupled with formalized documentation and tailored object diagraming techniques, can reduce the complexity of the software design process is described and illustrated. The described OOD methodology uses a hierarchical decomposition approach in which parent objects are decomposed into layers of lower level child objects. A method of tracking the assignment of requirements to design components is also included. Increases in the reusability, portability, and maintainability of the resulting products are also discussed. This method was built on a combination of existing technology, teaching experience, consulting experience, and feedback from design method users. The discussed concepts are applicable to hierarchal OOD processes in general. Emphasis is placed on improving the design process by documenting the details of the procedures involved and incorporating improvements into those procedures as they are developed

    Teaching Object-Oriented Modelling using Concept Maps

    Get PDF
    As one of the most important tasks in object-oriented analysis and design (OOAD) is the abstraction of the problem domain into specific concepts or objects, information technology (IT) students need appropriate skills of abstraction in order to identify the essential concepts and relationships within a problem domain. However students in higher education generally find difficulty performing abstractions of real-world problems within the context of OOAD. Concept mapping is a popular tool used in education for facilitating learning, comprehension and the development of knowledge structures. We have successfully adopted concept maps as stepping-stones to assist students in constructing class and sequence diagrams. In this paper, we present a framework for teaching object-oriented (OO) modelling using concept maps. This framework – comprising four teaching modules – could be integrated into existing OOAD courses at the undergraduate or postgraduate level, and OOAD workshops to help software engineering educators resolve some of the difficulties they face in trying to teach OOAD. We also report results of an evaluative study on the effectiveness of integrating concept mapping techniques into an introductory OOAD course

    From Alice to BlueJ: a transition to Java.

    Get PDF
    The teaching of introductory courses in computing has seen several changes over the last decade. These changes not only affected the curricula when the emphasis was shifted from Imperative (also Procedural) to Object-Oriented Programming (OOP) but also reignited debates regarding which is the better programming language. Furthermore, the shift in emphasis also has encountered challenges with the object-oriented pedagogy. More recently, the assessment procedure for how students are learning object-oriented concepts has been given attention. When the programming language Java was adopted to teach object-oriented programming, it was not without difficulties. Various studies cited the development environment for Java, which was designed for professional programmers and its complex syntax structures as the main source of Javas difficulties (Kolling & Rosenberg 2001). The studies were not only limited to identifying the problems of teaching and learning Java but they also identified solutions. One of these included the creation of programming tools and environment to help novice programmers learn object-oriented concepts effectively. Among the integrated development environments created for teaching object-oriented programming using Java is BlueJ. Another programming tool for teaching object-oriented programming is Alice. The technology of animated program visualization keeps the focus on objects while teaching about behaviour and state (Dann et al 2003). The study concerns how the different programming tools help students in learning object-oriented concepts. One is classified as a text-based tool, BlueJ, and the other is graphical-based tool, Alice. There are three main questions for this study: 1. Does the process of learning object-oriented concepts using graphical-based tools differ from using text-based tools? 2. Do graphical-based tools support text-based tools in learning object-oriented concepts? 3. Do graphical-based tools offer more help in understanding object-oriented concepts than text-based tools? To answer the questions, the researcher conducted a survey whereby two sets of questionnaires were distributed to the students of Robert Gordon module entitled Object-Oriented Programming Techniques (CM1011). The student respondents found significant difference in the use of the graphical-based and text-based programming tools in understanding the following object-oriented concepts: Message Passing, Encapsulation and Polymorphism. The data gathered were also indicative that a graphical-based programming tool like Alice is helpful in learning object-oriented concepts with the use of a text-based programming tool like BlueJ. Whether graphical tools like Alice help more in understanding object-oriented concepts than text-based tools like BlueJ was inconclusive. The initial study suggests that there was no significant difference with students confidence in learning the various object-oriented concepts using the programming tools. The student respondents appeared to recognise that both programming tools are useful in learning various object-oriented concepts. However, it seems that they expected Alice to be a more sophisticated animation tool and that the animations produced would be of a cinematic calibre. The study aspires to contribute to the improvement of the object-oriented pedagogy. Specifically, it aims to contribute in the development of teaching methodologies for object-oriented programming and then create learning strategies for object-oriented programming and, not to forget, make the assessment of object-oriented programming more effective and suitable. Alongside the improvement of object-oriented programming pedagogy, the study also tries to make the computing course curricula more appropriate and flexible with the use of the various programming tools. Suggestions on how the study can be made more rigorous have been listed including use of additional data gathering instruments and methodology. Also, recommendations on how else the questions can be written were incorporated

    Teaching Software Development to Non-Software Engineering Students

    Get PDF
    This paper argues that although the object-oriented programming (OOP) paradigm is appropriate for students taking programming modules on Higher Education (HE) software engineering course, this paradigm is not as relevant for students from other courses who study programming modules. It is also asserts that adopting another paradigm when teaching programming to non-software engineering students need not prevent the encouragement of good software engineering practices The paper discusses the software development model, procedures, techniques and programming language that the author requires non-software engineering students to employ when developing their software. This discussion also includes consideration of implementation issues in an educational context. The paper concludes that his alternative approach has been successfully implemented, that it requires the student to adopt a rigorous approach to development and that it encourages best software engineering practices. The conclusions also note that delivering this alternative offers the opportunity to include good educational practice, such as role-play

    Systems Analysis & Design: An Essential Part of IS Education

    Get PDF
    Systems analysis and design has been as critical building block in Information Systems (IS) education since the inception of the IS major. Whether it is taught using the traditional or structured approach or the object-oriented approach, it exposes students to the different methods, tools, and techniques used in developing new systems, develops students analytical and problem-solving skills, teaches fact-finding and data gathering techniques, and provides teamwork skills. All of these are valuable skills for systems analysts. This paper introduces the reader of this special issue on systems analysis and design education to the issue, discusses the two approaches to teaching systems analysis and design, and ways that it is taught in the various curricula

    Blue - A Language for Teaching Object-Oriented Programming

    Get PDF
    Teaching object-oriented programming has clearly become an important part of computer science education. We agree with many others that the best place to teach it is in the CS1 introductory course. Many problems with this have been reported in the literature. These mainly result from inadequate languages and environments. Blue is a new language and integrated programming environment, currently under development explicitly for object-oriented teaching. We expect clear advantages from the use of Blue for first year teaching compared to using other available languages. This paper describes the design principles on which the language was based and the most important aspects of the language itself
    • …
    corecore