• Title/Summary/Keyword: Programming

Search Result 7,688, Processing Time 0.032 seconds

Pair Programming in Programming Lab: The Effects, Limits, and Guidelines Based on the Student Receptivity (프로그래밍 실습수업에서의 짝 프로그래밍: 학생들의 수용성(受容性)을 중심으로 본 효과와 한계, 운영 방안)

  • Jeong, Choong-Kyo
    • Journal of Digital Contents Society
    • /
    • v.19 no.9
    • /
    • pp.1663-1669
    • /
    • 2018
  • Pair programming is a software development technique in which two programmers work together at one computer. One writes code while the other reviews the code, and they switch roles frequently. Pair-programming practice in school programming lab is expected to improve the learning performance, provide collaboration experience, and promote interactions between students. This work finds out how students accept pair-programming, what make students reluctant to join pair-programming by repeated questionnaire surveys in a college programming lab class. Based on these findings aome guidelines for school pair-programming are provided. First, students should be allowed to choose to do pair-programming or not. Second, various obstacles that make students hesitate to switch roles should be removed. Third, the pair matching should be made with great care.

Unifing Robot Control Programming Language And Dolittle Using Robot Objects (두리틀 로봇 프로그래밍 일원화를 위한 로봇 객체 설계)

  • Kwon, Dai-Young;Yeum, Yong-Cheul;Yoo, Seoung-Wook;Lee, Won-Gyu
    • The Journal of Korean Association of Computer Education
    • /
    • v.8 no.6
    • /
    • pp.23-32
    • /
    • 2005
  • Dolittle is a educational programming language that helps students learning principles and concepts of computer science with programming. Learning programming with robot improve learning achievements robot motivate to be interest with programming. However, Dolittle robot programming is a different from Dolittle programming in process of interpretation and execution mechanism. Therefore, students have virtually to learn two languages to control robot and it would reduce the worth of Dolittle as educational programming language. In order to solve this problem, we tried to Unify Dolittle and robot control language using parser that Dolittle program with turtle object convert robot program. But this try couldn't overcome completely this problem because attributes of turtle object is different from robot. In this research we unified Dolittle programming and Dolittle robot programming as a way of adding new robot object in dolittle standard object group. it would improve educational effect of learning programming with robot in Dolittle.

  • PDF

An Approach of Solving the Constrained Dynamic Programming - an Application to the Long-Term Car Rental Financing Problem

  • Park, Tae Joon;Kim, Hak-Jin;Kim, Jinhee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.26 no.12
    • /
    • pp.29-43
    • /
    • 2021
  • In this paper, a new approach to solve the constrained dynamic programming is proposed by using the constraint programming. While the conventional dynamic programming scheme has the state space augmented with states on constraints, this approach, without state augmentation, represents states of constraints as domains in a contraining programming solver. It has a hybrid computational mechanism in its computation by combining solving the Bellman equation in the dynamic programming framework and exploiting the propagation and inference methods of the constraint programming. In order to portray the differences of the two approaches, this paper solves a simple version of the long-term car rental financing problem. In the conventional scheme, data structures for state on constraints are designed, and a simple inference borrowed from the constraint programming is used to the reduction of violation of constraints because no inference risks failure of a solution. In the hybrid approach, the architecture of interface of the dynamic programming solution method and the constraint programming solution method is shown. It finally discusses the advantages of the proposed method with the conventional method.

A detection mechanism for Jump-Oriented Programming at binary level (바이너리 수준에서의 Jump-Oriented Programming에 대한 탐지 메커니즘)

  • Kim, Ju-Hyuk;Lee, Yo-Ram;Oh, Soo-Hyun
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.22 no.5
    • /
    • pp.1069-1078
    • /
    • 2012
  • It is known that memory has been frequently a target threatening the computer system's security while attacks on the system utilizing the memory's weakness are actually increasing. Accordingly, various memory protection mechanisms have been studied on OS while new attack techniques bypassing the protection systems have been developed. Especially, buffer overflow attacks have been developed as attacks of Return to Library or Return-Oriented Programing and recently, a technique bypassing the countermeasure against Return-Oriented Programming proposed. Therefore, this paper is intended to suggest a detection mechanism at binary level by analyzing the procedure and features of Jump-Oriented Programming. In addition, we have implemented the proposed detection mechanism and experimented it may efficiently detect Jump-Oriented Programming attack.

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

  • Cheon, Junseok;Kang, Dohun;Kim, Gunwoo;Woo, Gyun
    • Journal of KIISE
    • /
    • v.42 no.4
    • /
    • pp.496-503
    • /
    • 2015
  • Most programming languages are designed based on English. It becomes another barrier in learning programming languages in non-English speaking country. If a programming language is presented using a native language, the education cost of programming will be much cheaper and the programming itself can be much more fun. However, designing the programming languages based on native languages has not been much focused or published up to now. It is partly because the evolution of popular programming languages is so fast, and partly because the efficiency of programs is much stressed than the source code. But, the designing of programming languages based on native language is not a small issue, especially if we reflect on the education of programming. In fact, there have been significant efforts reported in the Korean programming languages so far, but it has not practically been used in the education. This paper introduces yet another Korean programming language, namely Sprout, which is concise and can be easily learned by beginners. To demonstrate the conciseness of Sprout, we have performed two experiments on Sprout. Firstly, we compared the sizes of the programs in Sprout with those in former Korean programming languages. Secondly, we compared the size of Sprout, the language itself, with those of popular programming languages such as C and Python. According to the experiments, Sprout programs are more concise to 10% on average than those in former Korean languages. Furthermore, Sprout itself is more compact to 24% on average than other popular programming languages.

Programming Education Contents of Local Elementary School Textbooks in Korea and China (한국과 중국 지역 초등학교 정보교육 교재의 프로그래밍 교육 내용)

  • Kim, Hyunbae
    • Journal of The Korean Association of Information Education
    • /
    • v.24 no.1
    • /
    • pp.79-86
    • /
    • 2020
  • This study investigates the contents of programming education in elementary information education textbooks in Busan and Zhejiang. Two textbooks identify the contents of elementary school information education textbooks on setting goals of programming education, selecting educational programming languages, and selecting and developing contents of programming education. Textbooks in the two regions are designed to select programming languages for elementary school levels and to select creative learning topics to help learners learn programming in the process of solving problems themselves. The textbooks identified in this study are designed so that learners can learn programming naturally in the process of solving problems.

The Effects of MINDSTORMS Programming Instruction on the Creativity (MINDSTORMS을 이용한 프로그래밍 학습이 창의력에 미치는 효과)

  • Yoo, In-Hwan;Kim, Tae-Wan
    • The Journal of Korean Association of Computer Education
    • /
    • v.9 no.1
    • /
    • pp.49-59
    • /
    • 2006
  • Traditional programming education lacked consideration of contents, methods and learners. In particular, the importance of programming education has been decreased in school because almost no suitable teaching has been executed for elementary school students. To solve these problems, this study proposed the use of MINDSTORMS that is a programming education tool suitable for elementary school students, and verified its effects on learners' creativity. The results of this study show that the tool is highly effective in improving students' creativity. The objectives of programming education are not only learning programming languages but also improving problem-solving ability, logical thinking and creativity. We must offer environment, in which students can control their own learning activity and solve problems by themselves. In addition, MINDSTORMS can be a very useful and suitable tool for programming education.

  • PDF

Arduino IoT Studio based on 5W1H Programming Model for non Programmer

  • Im, Hong-Gab;Baek, Yeong-Tae;Lee, Se-Hoon;Kim, Ji-Seong;Sin, Bo-Bae
    • Journal of the Korea Society of Computer and Information
    • /
    • v.22 no.2
    • /
    • pp.29-35
    • /
    • 2017
  • In this paper, we present a 5W1H programming model for IT non-experienced people who are not familiar with computer programming and those who need programming education. Based on this model, we can design a development tool that can be easily programmed by beginners. This development tool is a programming method applying the 5W1H concept and constructs a sentence to satisfy the control condition of 'Who, When, Where, What, and How', which is the sentence element of 5W1H. Therefore, the user can easily develop the target system as if constructing the sentence without learning the programming language of the target system. In this paper, to verify the effectiveness of the 5W1H programming model proposed in this paper, we applied the concept of 5W1H programming to Arduino and developed the development tool and performed the first verification and applied the second verification to the speech recognition smart home development platform.

Sparrow: The Source Code Analyzer (스패로우: 소스 코드 분석기)

  • Oh, Hak-Joo;Jung, Young-Bum;Jin, Min-Sik;Kim, Deok-Hwan;Hwang, Yi-Kwon;Park, Dae-Jun;Lee, Hee-Jong;Kong, Soon-Ho;Yi, Kwang-Keun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06c
    • /
    • pp.500-504
    • /
    • 2007
  • Sparrow(스패로우)는 C/C++로 작성된 프로그램의 메모리 누수와 버퍼오버런 오류를 자동으로 프로그램 실행전에 찾아주는 도구이다. Sparrow는 실제 현장에서 쓰이는 상용 프로그램의 분석에 유용하게 쓰일 수 있도록 제작되었다. 이를 위해 분석기 엔진은 수십만 라인 이상의 소프트웨어를 적절한 시간과 정확도로 분석하기 할 수 있도록 많은 기술이 적용되었다. 또한 사용자의 편의성을 위해 대상 프로그램의 소스 구조를 자동으로 파악하여 분석을 준비하고, 거짓일 가능성이 높은 알람을 미리 제거하며, 발생한 알람의 원인을 설명해 준다. Sparrow로 httpd-2.2.2를 비롯한 오픈 소프트웨어들을 분석한 결과 실제 오류들을 찾아낼 수 있었다.

  • PDF

Computer Programming Education using App Inventor for Android (안드로이드 앱 인벤터를 활용한 컴퓨터 프로그래밍 교육)

  • Kim, Byungho
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.17 no.2
    • /
    • pp.467-472
    • /
    • 2013
  • Many people are showing interest on computing and computer programming ever as much as the smartphone become more popular. Computer programming languages, however, like Java or C++ being used to teach freshmen in computer science-related majors as the first programming language they will study are so difficult to understand. In this paper, we proposed a short-term curriculum for teaching computer programming using App Inventor for Android to freshmen students major in computer science as the first programming language they will study, which can encourage their interest in computer programming. According to survey from students participated in actual teaching, we found that the proposed curriculum can contribute to increase their interest on computer programming and even self-confidence on development of applications for smarphone.