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

검색결과 1,149건 처리시간 0.026초

A Survey of Automatic Code Generation from Natural Language

  • Shin, Jiho;Nam, Jaechang
    • Journal of Information Processing Systems
    • /
    • 제17권3호
    • /
    • pp.537-555
    • /
    • 2021
  • Many researchers have carried out studies related to programming languages since the beginning of computer science. Besides programming with traditional programming languages (i.e., procedural, object-oriented, functional programming language, etc.), a new paradigm of programming is being carried out. It is programming with natural language. By programming with natural language, we expect that it will free our expressiveness in contrast to programming languages which have strong constraints in syntax. This paper surveys the approaches that generate source code automatically from a natural language description. We also categorize the approaches by their forms of input and output. Finally, we analyze the current trend of approaches and suggest the future direction of this research domain to improve automatic code generation with natural language. From the analysis, we state that researchers should work on customizing language models in the domain of source code and explore better representations of source code such as embedding techniques and pre-trained models which have been proved to work well on natural language processing tasks.

프로그래밍 언어 교육을 위한 교수·학습 모델 설계 (Design of Teaching·Learning Model for Programming Language Education)

  • 강환수
    • 디지털콘텐츠학회 논문지
    • /
    • 제13권4호
    • /
    • pp.517-524
    • /
    • 2012
  • 이 논문에서는 프로그래밍 언어 교육을 위한 교수 학습 모델을 설계한다. 다양한 학문을 다루는 대학에서 다양한 컴퓨터 프로그래밍 언어 관련 교과목이 개설되어 운영되고 있다. 그 동안 다양한 프로그래밍 언어가 개발되었고, 개발환경도 사용자가 보다 쉽게 접근할 수 있도록 개발되었으나 여전히 많은 초보 학습자들은 프로그래밍 언어 학습을 어려워하고 있으며, 마찬가지로 교수자도 효과적인 프로그래밍 언어 교육을 위한 적합한 교수 학습 방법을 마련하지 못하고 있는 실정이다. 본 논문에서 학업성취 기반의 블렌디드 교육인 프로그래밍 언어 교육을 위한 교수 학습 모델을 설계하였다. 본 연구에서 설계한 교수 학습 모델을 2011년 2학기 강좌에 적용한 결과 학습자의 프로그래밍 언어 교육에 효과적인 것으로 나타났다.

Teaching-Learning Model for Programming Language Learning with Two-Step Feedback

  • Kwon, Boseob
    • 한국컴퓨터정보학회논문지
    • /
    • 제22권8호
    • /
    • pp.101-106
    • /
    • 2017
  • In this paper, we propose a new teaching-learning model with two-step feedback on programming language learning, which is a basic preliminary learning for programming. Programming learning is aimed at improving problem solving skills and thinking by experiencing problem solving through programming. For programming, the learner must know how to work with the computer and what to do with it. To do this, concrete thinking should be established and described in an accurate programming language. In recent, most studies have focused on the effects of programming learning and have not studied the effects of education on language itself. Therefore, in this study, the teaching-learning model for programming language education is presented and applied to the field, and the results are compared with the existing instructional-teaching model.

Console Wrapper를 활용한 C언어 학습도구 개발 (Development of a C-Language Learning Tool using Console Wrapper)

  • 황규덕;최숙영
    • 디지털융복합연구
    • /
    • 제7권3호
    • /
    • pp.113-122
    • /
    • 2009
  • The majority of programming education in the learning place attaches importance more to grammar, memorization of the imperative sentence and explanation of the program language itself than the specific way to use the target language. In addition, it is mainly used to teach theoretical knowledge based on the text. Consequently, current programming education has not interested learners in the programming learning and has not improved their ability in programming problems of the real world. We therefore developed a learning tool of C-language, which is based on the Console Wrapper. The purpose of proposing the learning tool was to make the programming education break from the typical theoretical learning and to let learners be interested in the programming education. By using the dynamic screen instead of the static console screen, the learners could enjoy learning the program. As a result of this study, we could know that the programming education using our learning tool is more effective than the typical C language programming education.

  • PDF

기초적인 프로그래밍 교육을 위한 컴퓨터 언어의 특성 및 개발 환경의 임상적 비교 분석 (Clinical Comparative Analysis of Characteristics of Computer Programming Languages and their Development Environments for Basic Programming Education)

  • 강대기
    • 공학교육연구
    • /
    • 제15권3호
    • /
    • pp.66-71
    • /
    • 2012
  • In this paper, we try to explore basic factors that defines easy-to-learn programming language and easy-to-learn development environments for novice students who have not been exposed to computer programming language education. For these purpose, we investigate and analyze computer programming languages that are widely used in industrial environments, and present the summary and analyzed results. From the experimental results, most novice programmers understand computer programming languages in terms of procedural programming languages rather than in terms of functional programming languages or object oriented programming languages. Furthermore, we have found that, for effective education of basic level programming languages, factors of development environments are much more important than factors of programming paradigms that the computer programming languages are based on.

프로그래밍 초보자를 위한 비주얼 기반의 C 프로그래밍 통합 환경 (An Integrated C Programming Environment for Novices Based on Visuals)

  • 김행임;박은경;김현주;배종민
    • 컴퓨터교육학회논문지
    • /
    • 제16권6호
    • /
    • pp.111-120
    • /
    • 2013
  • 프로그래밍 초보자는 C언어를 처음 배울 때 여러 가지 면에서 어려움을 겪는다. 그 이유 중의 하나는 C 언어 문법 이해에 대한 학생들의 학습 부담이 크고, 문제 해결보다는 문법에 치중하는 경향이 있다. 또한 소프트웨어 개발에 대한 흥미를 유발시킬 수 있는 프로그래밍 도메인이 필요하다. 본 논문에서는 문제 해결 중심의 C언어 교육을 지원하는 프로그래밍 환경을 제시한다. 이를 위하여 첫째, NXT 로봇프로그래밍용 간단한 비주얼 프로그래밍 언어 Tiny-VPL을 정의하고, Tiny-VPL로 로봇프로그래밍을 할 수 있는 환경을 제시하며, 둘째 간단한 C 언어인 Mini-C언어를 사용하여 NXT 로봇 프로그래밍을 할 수 있는 환경을 제시한다. 그리고 Tiny-VPL을 Mini-C로 변환하며, 변환결과를 대화형으로 제공하는 그래픽 인터페이스를 제시한다. 개발된 프로그래밍 환경은 로봇 프로그래밍을 통하여 학생들의 흥미를 유발할 수 있고, 비주얼언어와 C언어 사이의 관계를 그래픽으로 제공하여 문제 해결 중심의 C 언어 교육에 효과적으로 활용될 수 있다.

  • PDF

프로그래밍입문 수업에서 스크래치 활용 효과분석 (The Effect of teaching Scratch in introductory programming course)

  • 박정신;조석봉
    • 디지털융복합연구
    • /
    • 제10권9호
    • /
    • pp.449-456
    • /
    • 2012
  • 초보자들은 프로그래밍 입문 수업을 통해 프로그래밍 언어의 문법적 지식뿐만 아니라, 알고리즘 구상과 프로그램 작성을 위한 문제해결력을 키우는 과정이 필요하다. 문제를 해결하기 위한 문제해결력을 키우는 과정 없이 프로그래밍언어의 지식과 문법위주의 교육이 주가 되는 현실에서 기초 학력수준이 상대적으로 낮은 전문대학의 컴퓨터전공 학생들이 프로그래밍언어 수업에서 느끼는 어려움은 더 크다고 할 수 있다. 본 연구에서는 교육용 프로그래밍언어인 스크래치를 활용한 학생들이 활용하지 않은 반 학생들에 비해 문제 해결력, 프로그래밍 작성 능력, 수업의 만족도면에서 크게 향상되었음을 비교 분석하였다.

간결한 한글 프로그래밍 언어 "새싹" (A Concise Korean Programming Language "Sprout")

  • 천준석;강도훈;김건우;우균
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.496-503
    • /
    • 2015
  • 현재 사용되고 있는 대부분의 프로그래밍 언어는 영어를 기반으로 제작되어 있다. 이러한 점은 비영어권 국가에서 프로그래밍 언어를 배우는 데 장벽이 된다. 완전하게 자국어로 만들어진 프로그래밍 언어가 있다면 프로그래밍의 교육비용이 많이 줄게 될 뿐만 아니라 학생들도 더 많은 흥미를 느끼게 될 것이다. 그러나 자국어를 바탕으로 한 프로그래밍 언어 설계는 큰 주목을 받지 못했으며 발표된 연구 결과도 많지 않다. 그 원인은 한편으로 프로그래밍 언어가 너무 빠르게 발전하고 있기 때문이며 다른 한편으로는 소스코드보다 프로그램의 효율성이 더 강조되어 왔기 때문이다. 하지만 자국어를 바탕으로 프로그래밍 언어를 설계하는 것은 하찮은 문제가 아니며 특히 프로그래밍 교육 측면에서 매우 중요하다. 사실 한글 프로그래밍 언어 분야에는 적잖은 연구 결과가 있었지만 실제로 한글 언어가 실제로 교육에 사용된 사례는 드물다. 이 논문에서는 배우기 쉬운 한글 프로그래밍 언어인 새싹을 소개한다. 새싹의 간결성을 입증하기 위해 두 개의 실험을 수행하였다. 첫째, 새싹으로 작성된 프로그램과 다른 한글 프로그래밍 언어로 작성된 프로그램의 크기를 비교하였다. 둘째, 새싹 언어 자체의 크기를 C나 Python 등 널리 사용되는 언어의 크기와 비교하였다. 실험 결과 새싹으로 작성된 프로그램의 크기는 다른 한글 프로그래밍 언어로 작성된 프로그램보다 평균 10% 더 간결하였다. 또한, 새싹 언어의 크기는 널리 사용되는 언어보다 평균 24% 간결하였다.

프로그래밍 언어 교육현황과 개선제안 (Present State of Programming Language Education and Suggestions for Its Improvement)

  • 임재열
    • 한국실천공학교육학회논문지
    • /
    • 제3권1호
    • /
    • pp.56-61
    • /
    • 2011
  • IT기술의 발달로 SW 중요성이 높아짐에 따라서 대학졸업자들의 프로그래밍 능력에 대한 산업체 요구가 점점 높아지고 있다. 그 결과로, 시스템 위주의 전자공학 전공 교과목에서도 프로그래밍이 이미 많은 비중을 차지하고 있으며, 컴퓨터 실습실과 같은 교육환경은 상당히 개선되었고, 교수들이 강의의 질 및 교육 결과를 향상시키고자 많은 노력을 하고 있다. 하지만, 여전히 프로그래밍 교육에 대한 사회 및 산업체의 요구를 만족시키지 못하는 것도 현실이다. 본 논문에서는 한국기술교육대학교 전기전자통신공학부 전자전공에서 이루어지고 있는 프로그래밍 교육 현황을 소개하고, 프로그래밍 교육의 근간이 되는 1학년 대상 프로그래밍 언어 교육에 대한 문제점을 학생, 교재, 담당교수, 수강학생수 그리고 수업시간 면에서 고찰 한 후, 개선방안을 제안한다.

  • PDF

분산 프로그래밍 언어의 kernel에 관한 연구 (A Study on the Kernel Supports for a Distributed Programming language)

  • 김영석;이광휘;안순신
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 1987년도 전기.전자공학 학술대회 논문집(II)
    • /
    • pp.1133-1136
    • /
    • 1987
  • In designing and implementing of a distributed system, a programming language which can describe and implement the various interactions between distributed processes in distributed systems is indispensible. High level language constructs such as concurrency. process synchronization between distributed processes and mutually exclusive access to common data could be built in a distributed programming language under the proper support of a language kernel. In this paper, we studied the language constructs a distributed programming language must have and specified the kernel supports necessary in implementing that high level language constructs.

  • PDF