• 제목/요약/키워드: Java programming

검색결과 267건 처리시간 0.021초

새싹: 초보자를 위한 한글 객체 지향 프로그래밍 언어 (Saesark: A Korean Object-Oriented Programming Language for Beginners)

  • 천준석;우균
    • 한국콘텐츠학회논문지
    • /
    • 제16권3호
    • /
    • pp.288-295
    • /
    • 2016
  • 컴퓨터가 일상생활에 널리 사용됨에 따라 프로그래밍은 필수 기술로 떠오르고 있다. 프로그래밍 교육을 지원하기 위해서 우리나라는 2018년까지 프로그래밍 정규 과목을 개발할 계획을 추진하고 있다. 하지만 대부분의 프로그래밍 언어가 영어를 기반으로 하고 있기 때문에 우리나라의 프로그래밍 교육은 어려워지고 있으며 학생들도 집중력을 쉽게 잃을 수 있다. 이 논문에서는 우리나라 학생들의 프로그래밍 교육에 효과적인 한글 프로그래밍 언어 새싹을 제안하고 있다. 새싹은 Java를 바탕으로 개발하였으며, 객체지향 프로그래밍과 람다 식을 지원한다. 새싹의 교육 적합성을 평가하기 위해서 우리는 새싹을 다른 한글 프로그래밍 언어와 세 가지 측면에서, 즉 문법적 특성, IDE 지원, 한국어 오류 메시지 측면에서 비교하였다. 비교 결과, 새싹이 다른 한글 프로그래밍 언어보다 더 교육에 적합함을 알 수 있었다. 특히, IDE 기능과 한글로 출력되는 오류 메시지는 프로그래밍 초보자에게 도움이 많이 될 것으로 예상된다.

프로그래밍 언어의 다원성과 상호운영성의 실증적 분석 (An Empirical Study of Diversity and Interoperability of Programming Languages)

  • 고봉석;이병철
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권5호
    • /
    • pp.304-309
    • /
    • 2017
  • 둘 이상의 프로그래밍 언어로 상호 작용하는 프로그램을 작성하고 사용하는 경우가 증가하고 있으나 그 무결점성을 확보하기는 어렵다. 프로그램 오류의 원인과 결과가 서로 다른 언어의 코드와 데이터에 존재할 경우 오류 제거의 난이도가 높아지고 Java Native Interface(JNI) 및 Python/C와 같은 프로그램 언어 인터페이스를 잘못 사용하여 새로운 종류의 프로그램 오류가 발생하기 때문이다. 프로그램 언어 상호 작용 오류를 해결하기 위한 프로그램 분석 기법과 도구가 활발히 연구 개발되었으나 이들을 평가하기 위한 프로그램 언어, 프로그램 언어 인터페이스 및 오류들의 실재성에 대한 고찰이 부족한 상황이다. 본 논문에서는 적지 않은 사용자를 가지는 우분투 소프트웨어 생태계 내에서 프로그래밍 언어의 다원성과 상호운영성을 실증적으로 조사하여 다중 언어 프로그래밍 연구의 실재성과 연구의 타당성을 실제 데이터 기반으로 확립하고자 한다.

웹 프로그래밍 학습을 위한 자기주도적 코스웨어의 설계 및 구현 (Design and Implementation of Self-Directed Courseware to Study Web Programming)

  • 정유진;박은희
    • 한국콘텐츠학회논문지
    • /
    • 제9권2호
    • /
    • pp.453-461
    • /
    • 2009
  • 본 논문에서는 Html, CSS, JavaScript, Dhtml 등의 웹 언어를 자기주도적으로 학습할 수 있는 웹-기반 코스웨어를 설계하고 구현하였다. 각 단원별로 이론 학습 및 동영상 학습, 실습, 형성평가, 과제실과 자유 게시판으로 이루어져 있으며, 교수자가 그러한 학습내용을 토대로 평가가 가능하도록 하여 웹상에서 교육, 평가, 성적을 처리할 수 있도록 구현하였다. 특히, 한 화면에서 동영상을 보면서 화면의 이동 없이 따라하며 실습하고 결과보기를 할 수 있어, 웹 언어 학습 내용을 학습자 스스로 충분히 숙지하고 실습할 수 있는 웹-기반 학습 환경을 제공한다. 이를 통하여 학습자는 텍스트로 즉각적으로 이해하기 어려운 웹 언어를 효율적으로 실습해 볼 수 있어 학습 이해도를 높일 수 있고 학습자가 주도적으로 학습에 참여하여 흥미를 높일 수 있게 하였다.

시각화방법을 이용한 객체지향프로그래밍 교육에 관한 연구 (A Study on Object-Oriented Programming Education using Visualization Method)

  • 신우창
    • 정보교육학회논문지
    • /
    • 제21권5호
    • /
    • pp.557-565
    • /
    • 2017
  • 4차 산업혁명시대를 맞이하여 학생들에 대한 프로그래밍 교육이 더욱 중요시되고 있다. 그러나, 학생들이 프로그래밍 능력을 습득하는 데에는 많은 시간과 연습이 필요하다. 특히, 산업현장에서 널리 사용되고 있는 JAVA, C++와 같은 객체지향언어를 학습하는데 있어서 학생들은 더욱 많은 어려움을 느낀다. 본 논문에서는 객체지향프로그래밍 개념을 교육하고, 기능을 이해하며, 소스코드 분석 및 이해향상에 도움을 줄 수 있는 객체 상호작용 시각화 방법을 제안한다. 제안된 시각화 방법은 기존 소스코드를 자동적으로 변경하여 프로그램 실행과 동시에 객체들이 동작하는 모습을 시각적으로 보인다.

마이크로비트를 이용한 IoT 무선 디바이스 제어용 Java SW설계 교육 방법 (An Education Method of Java SW Designs for IoT Wireless Device Control using Microbits)

  • 허경
    • 실천공학교육논문지
    • /
    • 제12권1호
    • /
    • pp.85-91
    • /
    • 2020
  • 무선 통신 기술이 적용된 다양한 IoT 디바이스들을 제어하는 SW는 오류없이 동작해야 한다. IoT 디바이스들이 널리 보급되기 위해서는 이러한 SW를 설계하는 엔지니어들의 기술력이 향상되어야 한다. 단일 디바이스의 입출력 SW를 설계하는 것과 비교할 때, 송신기와 수신기 간의 다양한 입출력 관계를 명확하게 정의하는 SW Flowchart 설계 및 Java SW 프로그래밍 과정은 복잡도가 높다. 본 논문에서는 무선 통신 기반의 IoT 디바이스들을 제어하기 위한 SW Flowchart 설계 방법을 제안하였다. 이 과정에서 전체 제어 알고리즘이 문제 분할 과정을 거쳐 구현되는 것을 설명한다. 그리고, 설계된 SW Flowchart를 교육용 IoT 디바이스인 마이크로비트를 이용하여, Java SW로 프로그래밍하는 교육 방법을 제안하였다. 본 교육방법을 적용한 강좌에서 학생들의 만족도 평가 결과를 분석하여, 마이크로비트를 활용한 IoT 디바이스 제어 SW 교육방법의 유효성을 분석하였다.

그래픽 유저 인터페이스를 지원하는 웹 기반 프로그래밍 환경 '봄밭'의 설계 및 구현 (BomBart : Web-based Programming Environment Support to Graphic User Interface)

  • 천준석;송지원;우균
    • 한국콘텐츠학회논문지
    • /
    • 제17권5호
    • /
    • pp.317-325
    • /
    • 2017
  • 최근 전세계적으로 프로그래밍 교육에 대한 관심이 증가하고 있다. 하지만 대부분의 언어는 컴파일러와 통합 개발 환경을 컴퓨터에 설치하여야만 사용할 수 있는 문제가 있다. 이를 해결하기 위해 Eclipse Che나 JDOODLE과 같은 웹 기반 프로그래밍 환경이 다수 개발되었지만 대부분이 GUI 프로그래밍을 지원하지 않고, 특히 한글 프로그래밍 언어는 지원하지 않는다. 이 논문에서는 '봄밭'이라고 하는 웹 기반 프로그래밍 환경을 제안한다. 봄밭은 한글 프로그래밍 언어인 새싹을 지원하고, GUI 프로그래밍도 지원한다. 콘솔 기반의 입출력 또한 지원한다. 콘솔 및 GUI 인터페이스를 모두 지원하기 위해서 봄밭에는 두 개의 서브 컴파일 시스템을 설계하고 구현하였다. 우리는 봄밭의 GUI 지원의 성능을 측정하기 위해서 Java의 모든 GUI 튜토리얼 코드를 새싹으로 변환하여 봄밭에서 실행해 보았다. 그 결과, 81.42%의 코드를 정상적으로 실행할 수 있는 것을 확인하였다.

A Catalog of Bad Smells in Design-by-Contract Methodologies with Java Modeling Language

  • Viana, Thiago
    • Journal of Computing Science and Engineering
    • /
    • 제7권4호
    • /
    • pp.251-262
    • /
    • 2013
  • Bad smells are usually related to program source code, arising from bad design and programming practices. Refactoring activities are often motivated by the detection of bad smells. With the increasing adoption of Design-by-Contract (DBC) methodologies in formal software development, evidence of bad design practices can similarly be found in programs that combine actual production code with interface contracts. These contracts can be written in languages, such as the Java Modeling Language (JML), an extension to the Java syntax. This paper presents a catalog of bad smells that appear during DBC practice, considering JML as the language for specifying contracts. These smells are described over JML constructs, although several can appear in other DBC languages. The catalog contains 6 DBC smells. We evaluate the recurrence of DBC smells in two ways: first by describing a small study with graduate student projects, and second by counting occurrences of smells in contracts from the JML models application programming interface (API). This API contains classes with more than 1,600 lines in contracts. Along with the documented smells, suggestions are provided for minimizing the impact or even removing a bad smell. It is believed that initiatives towards the cataloging of bad smells are useful for establishing good design practices in DBC.

Java로 구현한 Linux 기반의 고객 상담 시스템 (A LINUX-BASED CUSTOMER CONSULTING SYSTEM USING JAVA)

  • 김현만;정연모;진병도
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 추계종합학술대회 논문집(3)
    • /
    • pp.101-104
    • /
    • 2000
  • One of the most important marketing strategies is how to solve customers' complaints. Under developing internet environment, it is possible to use internet multimedia consultant system to do cope with the problem. In this paper, we have realized the customer consulting system which is based on Linux as the operating system. Java is used as a programming language. With the use of the RTP(Real-time Transport protocol), the system provides picture and sound transactions between a consultant and customers in a real-time fashion.

  • PDF

네트워크 응용 프로그램의 개발을 위한 Java 기반의 프로그램 프레임워크 개발 (The Development of a Java-based Framework for Network Applications Programming)

  • 심호준;김명호
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 1998년도 춘계공동학술대회 발표논문집 IMF시대의정보화 추진전략
    • /
    • pp.155-159
    • /
    • 1998
  • 프레임워크 라이브러리는 전체 프로그램 구조의 재사용과 확장을 지원하기 위한 객체지향 프로그램밍의 응용이다. 프레임워크는 GUI 와 같이 표준화된 구성요소와 대화 모델을 가진 시스템의 개발에 극히 효과적이다. 네트워크 프로그래밍에 있어서도 소켓의 생성에서부터 종료에 이르기까지 보편화된 절차와 프로그램 구조가 존재하므로 재사용 가능한 프레임워크 형태의 라이브러리를 활용할 수 있다. 본 논문에서는 Java 언어를 위한 프레임워크 형태의 네트워크 프로그래밍 라이브러리를 개발하였다. 개발된 라이브러리를 number crunching 예제에 적용하여 그 유용성을 보였으며 다른 라이브러리 시스템과도 비교하였다.

Supporting Java Components in the SID Simulation System

  • Ma'ruf, Hasrul;Febiansyah, Hidayat;Kwon, Jin-Baek
    • Journal of Information Processing Systems
    • /
    • 제8권1호
    • /
    • pp.101-118
    • /
    • 2012
  • Embedded products are becoming richer in features. Simulation tools facilitate low-costs and the efficient development of embedded systems. SID is an open source simulation software that includes a library of components for modeling hardware and software components. SID components were originally written using C/C++ and Tcl/Tk. Tcl/Tk has mainly been used for GUI simulation in the SID system. However, Tcl/Tk components are hampered by low performance, and GUI development using Tcl/Tk also has poor flexibility. Therefore, it would be desirable to use a more advanced programming language, such as Java, to provide simulations of cutting-edge products with rich graphics. Here, we describe the development of the Java Bridge Module as a middleware that will enable the use of Java Components in SID. We also extended the low-level SID API to Java. In addition, we have added classes that contain default implementations of the API. These classes are intended to ensure the compatibility and simplicity of SID components in Java.