945 research outputs found

    Java-Meets Eclipse - An IDE for Teaching Java Following the Object-later Approach

    Get PDF
    International audienceIn this paper, we introduce a new Eclipse-based IDE for teaching Java following the object-later approach. Inparticular, this IDE allows the programmer to write code in Java--, a smaller version of the Java language thatdoes not include object-oriented features. For the implementation of this language we used Xtext, an Eclipseframework for implementing Domain Specific Languages; besides the compiler mechanisms, Xtext also allowsto easily implement all the IDE tooling mechanisms in Eclipse. By using Xtext we were able to provide animplementation of Java-- with all the powerful features available when using an IDE like Eclipse (includingdebugging, automatic building, and project wizards). With our implementation, it is also straightforward tocreate self-assessment exercises for students, which are integrated in Eclipse and JUnit

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)

    Development of the Curriculum for the Introduction to Computer Science Course

    Get PDF
    This project proposes to reformat the curriculum for an Introduction to Computer Science course for high school students, currently taught as a one semester course. Several issues with the current course are addressed with recommendations for changes intended for the benefit of students at their school. In the past five years, enrollment in the school\u27s Advanced Placement (AP) Computer Science course has decreased from 50 students to 25 students despite no significant change in overall enrollment or student demographics. For the portion of those students enrolled in the course who have taken the Advanced Placement exam during the past four years, the passing rate was 50% to 100%. When students were encouraged to take the AP Computer Science A exam, a less rigorous exam, the passing rate increased. The school has been known to develop a curriculum that best meets the needs of its students. The current Introduction to Computer Science course is not meeting their needs. This project addresses several key aspects of the course that could be changed to better prepare the students for the Advanced Placement (AP) Computer Science course and increase enrollment in both the introductory and advanced courses, particularly (this would be an added bonus) with respect to female students. The key aspects with the Introduction to Computer Science course that this paper will address are as follows: 1. The effectiveness of the curriculum as an introduction to the Advanced Placement (AP) Computer Science, following the curriculum as outlined by the College Board. 2. The course objectives such as the educational philosophy of the course, how the students will be introduced to object-oriented programming using java, the programming language used in the AP Computer Science course, and choosing the software, textbook and supplemental materials that would best meet the needs of the students and support the course objectives. 3. The classroom teaching methodology. This would include, but not be limited to, the expectations of the students both in the classroom and as it relates to homework beyond class times, the nature of homework assignments, when and how much would be assigned on a daily basis, the types of assessments that would determine the students grades, and how these assessment would be graded. 4. Building student interest in the computer science field and demonstrating that every student is capable of basic programming skills

    A transversal alignment between measurements and enterprise architecture for early verification of telecom service design

    Get PDF
    International audienceEarly verification of Telecom Services (TS) at the design time helps an enterprise to avoid wasting of implementation cost and time. Simulation provides the designer with helpful feedbacks on TS design leaving the implementation and installation costs behind. Our objective in this paper is to present our approach to obtain valuable feedbacks from network simulators and relate them to the information from high abstract scenario of a TS. Relying on Model Driven Engineering discipline and Enterprise Architecture standard, we propose to associate measurement elements with the design ones of different abstraction levels. We implement a model transformation to generate automatically the configurations for NS-3 simulator as a test-bed for our case studies. We illustrate our approach with a video conference example, presenting the different abstract levels and their relationship with measurements

    Mobile Learning Application for Basic Router and Switch Configuration on Android Platform

    Get PDF
    AbstractThis paper presents the design and development of Mobile Learning Application for Basic Router and Switch Configuration on Android Platform using Java Programming Language to help students in computer networking courses at the Department of Computer Technology and Networking, Faculty of Computer and Mathematical Sciences, University of Technology Mara, Malaysia. Our approach is to incorporate multimedia animations concept with command langguage to create the pervasive learning environment in presenting the Router and Switch Configuration systematically. With this mobile learning application, student could learn at his or her own pace, anywhere and anytime. This mobile learning application intends to complement the current traditional classroom and e-learning systems. Initial testing has shown that a well-presented multimedia animations capability that is delivered through a mobile phone has a great potential to promote and enhance learning process

    How To Create An App

    Get PDF
    Mobile Computing is booming and everyone has ideas how to profit from it. But only few people know how to build an app that will make those ideas a reality. Businesses are looking for innovative ways to generate revenue from this rapidly growing technology while taking the advantage of the immediacy and convenience that mobile technology has to offer. Mobile apps play a vital role, and have changed the focus from what's on the Web, to the apps on mobile devices, and it is no longer an option but an imperative. The purpose of this article is to provide information on how to create an app and to explore the commonly used tools and technologies to create an app

    Using a Class-Wide, Semester-Long Project to Teach Software Engineering Principles

    Get PDF
    A senior-level, project-based Software Engineeringcourse taught at the University of Central Arkansas serves asthe capstone course for the Computer Science Program andintroduces students to the theory, tools, and techniques used tobuild large-scale software systems in a project-driven setting.Foundational to the course is the use of a class-wide, semesterlongcourse project to emphasize the theoretical aspects of thesoftware process and the system used for scoring studentperformance on the project. One project is selected for theentire class with students divided into teams of four to sixstudents to support different functional requirement areas. Amilestone-driven approach is used following a modifiedversion of the Unified Process for project development.Student scores on the project are divided into a group score,assignable via a rubric-like grade sheet, and an individualscore which is determined by the individual’s effort asassigned using the task-management tool, Issue-Tracker.Experiences gained and lessons learned in teaching the courseare provided as a guide for those wishing to follow a similarapproach to teaching Software Engineering in the future
    • …
    corecore