• 제목/요약/키워드: Programming Languages

검색결과 327건 처리시간 0.038초

에니어그램 중심유형으로 보는 C와 Java간의 상호언어소통성 (Interlanguage Communication between C and Java as Enneagram Centered-Type)

  • 김세민;유강수;홍기천
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 추계학술대회
    • /
    • pp.641-643
    • /
    • 2017
  • 본 연구에서는 공업계 고등학교 학생들의 프로그래밍 언어 수업에서 에니어그램 성격 유형 검사를 실시한 후 중심유형을 파악하여 진행하였다. 학습자들은 C언어를 직전 학년에서 학습하였다. 유형별로 분류한 다음 자바 프로그래밍 언어의 수업을 진행하였다. 개학하고 4주차까지는 C언어와 비슷한 내용의 반복문, 제어문 등의 내용을 학습한 후 사전검사를 실시하였고, 방학식하기 전에 사후검사를 실시하였다. 본 연구를 통하여 여러 가지 프로그래밍 언어를 학습하면서 겪는 어려움을 파악하고 이로운 점도 파악할 수 있었다.

  • PDF

추상화의 분류 (Taxonomy of Abstraction)

  • 김성기
    • 정보처리학회논문지A
    • /
    • 제11A권1호
    • /
    • pp.89-96
    • /
    • 2004
  • 프로그래밍 언어에서의 추상화는 변수, 함수, 복합 데이터 등에서부터 추상 데이터 타입, 클래스, 다형성 등에 이르기까지 광범위하게 적용되는 중요한 개념이다. 그러나 추상화 개념의 명확성과 통일성 부족으로 인하여 추상화는 다소 애매 모호한 특성을 갖는 용어로 인식되어지고 있으며, 관점에 따라 다르게 설명되는 혼란스러움을 경험하고 있다. 본 논문에서는 여러 프로그래밍 언어에 나타난 추상화에 대한 체계적인 분석을 실시하여 추상화의 분류를 제안한다. 추상화는 추상물의 생성 방법에 따라 사상 추상화, 묶음 추상화, 통합 추상화, 확장 추상화 등 4가지 범주로 분류된다. 또한 함수, 추상 데이터 타입, 객체, 캡슐화, 클래스 등 추상화를 기반으로 하여 형성된 여러 개념들이 추상화의 관점에서 고찰된다. 이러한 체계적인 추상화의 분석과 분류를 통하여 지금까지 개별적이며 서로 다른 형태의 추상화로 취급된 여러 추상화 양상이 하나의 통일된 개념으로 설명될 수 있을 것이며, 추상화의 의미, 필요성, 중요성에 대하여 보다 깊은 이해가 가능할 것이다.

교육용 프로그래밍 언어인 로고와 스크래치 교재 개발 및 비교 실험 (Developing the Teaching Material and Comparative Experiment of LOGO and Scratch)

  • 김종진;현동림;김승완;김종훈;원유헌
    • 한국콘텐츠학회논문지
    • /
    • 제10권7호
    • /
    • pp.459-469
    • /
    • 2010
  • 지식정보화 사회에서는 보편적인 지식의 습득과 활용을 넘어 기존의 정보를 창의적으로 재활용하는 능력을 요구하고 있다. 반면 현재의 컴퓨터 교육은 소프트웨어의 활용교육에 그치고 있어 다양하고 창의적인 사고를 신장시키기 위한 교육으로는 적합하지 않다. 이에 본 논문에서는 7차 교육과정에서 교육목표로 다루고 있는 창의성이라는 주제와 학교현장에서 아동들에게 쉽게 접목시킬 수 있는 프로그래밍 언어로 로고와 스크래치를 선택, 분석하여 적용 가능한 교육 자료로 개발하고 현장에서 적용시켜 교차 분석하여 보았다. 그리고 각 언어가 학생들의 창의성 영역에 미치는 영향을 비교 분석하여 본 결과 두 언어 모두 창의성 신장에 도움이 되었다. 특히 로고는 창의성 영역 중 유창성 영역에, 스크래치는 추상성과 저항 영역에 긍정적인 영향을 주었다.

GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정 (Tuning the Performance of Haskell Parallel Programs Using GC-Tune)

  • 김화목;안형준;변석우;우균
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권8호
    • /
    • pp.459-465
    • /
    • 2017
  • 매니코어 기술에 힘입어 컴퓨터 하드웨어의 성능이 향상되고 있지만 그에 비례한 소프트웨어 성능 증가는 다소 미미한 실정이다. 함수형 언어는 병렬 프로그램의 성능을 향상시키는 대안 중 하나이다. 이러한 언어는 부수효과가 없는 순수한 수식을 통해 내재된 병렬성을 지원하기 때문이다. 함수형 언어인 Haskell은 모나드를 기반으로 하는 다양하고 쉬운 병렬 구조를 제공하기 때문에 병렬 프로그래밍에서 널리 사용된다. 하지만 Haskell로 작성된 병렬 프로그램의 성능 확장성은 코어 수가 증가함에 따라 변동이 큰 경향이 있다. 이는 프로그램 실행에 있어 가비지 컬렉션이 공간과 시간에 모두 영향을 미치는데 Haskell은 이러한 가비지 컬렉션을 사용하는 가상머신 위에서 실행되기 때문이라고 추정된다. 따라서 본 논문에서는 GC-Tune이라는 메모리 튜닝 도구를 사용하여 이 추정이 맞는지 검증하고 Haskell 병렬 프로그램의 성능 확장성을 높이는 방법을 모색한다. 병렬 Haskell 표절 검사 프로그램을 대상으로 실험한 결과 성능 확장성이 향상되었다. 특히 메모리 튜닝을 하지 않은 프로그램에 비해 속도 향상의 변동 범위가 39% 감소하였다.

JVM 플랫폼에서 .NET 프로그램을 실행하기 위한 MSIL-to-Bytecode 번역기의 설계 및 구현 (Design and Implementation of the MSIL-to-Bytecode Translator to Execute .NET Programs in JVM Platform)

  • 이양선;황대훈;나승원
    • 한국멀티미디어학회논문지
    • /
    • 제7권7호
    • /
    • pp.976-984
    • /
    • 2004
  • 마이크로소프트사는 .NET 플랫폼을 개발하면서 자바 언어에 대응하기 위해 C# 프로그래밍 언어를 만들었다. C#과 같은 .NET 언어로 작성된 프로그램은 컴파일 과정을 거치면서 MSIL 코드를 출력하기 때문에 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서는 실행이 되지 않는다. 자바는 썬 마이크로시스템즈사가 개발한 언어로서 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 하드웨어나 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어이다. 본 논문에서는 .NET 언어로 작성된 프로그램을 컴파일 하여 생성된 MSIL 코드를 자바의 중간 언어인 바이트코드 코드로 변환해 줌으로서 .NET 언어로 구현된 프로그램이 .NET 플랫폼 없이 자바의 플랫폼인 JVM에 의해 실행되도록 하는 MSIL-to-Bytecode 번역기를 설계하고 구현하였다. 이와 같은 작업이 프로그래머로 하여금 프로그래밍 언어의 제약 없이 응용 프로그램을 개발할 수 있는 환경을 제공한다.

  • PDF

OpenACC와 GPU를 이용한 3차원 파동 전파 모델링 (Three-dimensional Wave Propagation Modeling using OpenACC and GPU)

  • 김아름;이종우;하완수
    • 지구물리와물리탐사
    • /
    • 제20권2호
    • /
    • pp.72-77
    • /
    • 2017
  • 3차원 주파수 영역과 라플라스 영역 파동장을 얻기 위해 시간 영역에서 파동 전파 모델링을 하는 동시에 푸리에 변환과 라플라스 변환을 수행하였다. 이 과정에서 효율적인 계산을 위해 OpenACC와 GPU를 이용한 병렬 연산을 수행하였다. OpenACC를 이용하면 기존의 C, C++, Fortran 등 프로그래밍 언어에 간단한 지시어(directive)를 추가하여 GPU 연산 가속기를 사용할 수 있기 때문에 CUDA 또는 OpenCL과 같은 GPGPU 프로그래밍 언어를 배우지 않고도 GPU를 이용한 프로그래밍을 할 수 있다. OpenACC 프로그램은 GPU 메모리 공간 할당, 호스트와 디바이스 간의 데이터 복사 및 GPU 연산 과정을 자동으로 또는 사용자 정의에 따라 수행하게 된다. 수치 실험으로 OpenACC와 GPU를 사용한 3차원 파동 전파 모델링 프로그램과 단일 CPU 코어를 사용한 프로그램의 성능을 비교하였다. 상속도 모델과 SEG/EAGE 암염돔 속도 모델을 이용한 결과, OpenACC와 GPU를 사용한 경우 단일 CPU 코어를 사용하였을 때보다 계산 속도가 각각 53배와 30배 정도 향상되었다.

C와 스크래치 프로그램 이해에 대한 고등학생의 추상적 사고, 언어친밀성, 학업성취도 관계 분석 (Relation Analysis of High School Students' Abstract Thinking, Language Familiarity, and Academic Achievement on C and Scratch Program Understanding)

  • 박찬정;현정석;진희란;정혜선
    • 컴퓨터교육학회논문지
    • /
    • 제18권6호
    • /
    • pp.1-12
    • /
    • 2015
  • 컴퓨터 교육 분야에서 추상적 사고가 컴퓨터 프로그래밍 능력에 긍정적인 영향을 미치며 프로그래밍 언어에 대한 경험도 영향을 미친다는 경험적인 주장이 제시되었다. 하지만 이에 대한 실증 연구가 부족한 실정이다. 본 연구는 컴퓨터 프로그램 작성, 디버깅, 판독 등 다양한 프로그래밍 능력 중에서 프로그램 이해에 초점을 두고 고등학생들의 추상적 사고 수준과 프로그래밍 언어친밀성이 프로그램 이해력에 어떻게 영향을 미치며 이들 간에 상호작용이 존재하는지 분석하였다. 이를 위하여 376명의 고등학생을 대상으로 추상적 사고 수준과 언어친밀성, 학업성취도, C언어와 스크래치 프로그램 이해력을 조사하였다. 그 결과, 추상적 사고 차이는 남학생의 경우 반복문 처리에서 통계적으로 유의한 결과 차이를 드러냈고, 고등학교 이전에 다른 프로그래밍 언어에 대한 경험이 있는 경우, 언어친밀성이 추상적 사고 수준과 상호작용 효과가 있는 것으로 나타났다. 본 연구는 컴퓨터 프로그래밍 교육에서 쉬운 프로그램 보다는 적절히 난이도가 있는 프로그램을 체험하게 하고 다양한 프로그래밍 언어 경험을 제공하는 것이 학생들의 프로그래밍 이해력 향상에 도움을 줌을 시사한다.

프로그래밍 언어의 통합 교육을 위한 웹 콘텐츠의 설계 및 운용 (Design and Application of Web Contents for Integrated Programming Language Course)

  • 서봉수;박성균
    • 한국콘텐츠학회논문지
    • /
    • 제7권8호
    • /
    • pp.226-233
    • /
    • 2007
  • 현재 많은 대학의 여러 전공에서 C 및 Java 프로그래밍 언어 교육을 위한 교과목이 개설되어 있지만 서로의 유사점 및 차이점을 명확히 비교하고 이해할 수 있는 통합된 형태의 교과목은 없다. 저자는 두 프로그래밍 언어의 중복성, 유사성 및 독립적 특징을 분석하고 수년간의 관련 과목 강의를 통하여 얻는 자료를 이용하여 통합된 형태의 단일 교과목을 개발하였다. 본 논문에서는 통합 교과목의 성공적이고 효과적인 운용에 반드시 필요한 웹 콘텐츠의 설계 및 구현과 이의 운용에 따른 효과를 소개한다. 웹 콘텐츠는 지속적이고 반복적인 실습을 통한 두 언어의 동시 습득의 기회를 제공하기 위한 메인 화면, 수업 자료 및 보조 자료, 그리고 게시판으로 구성되어 있다. 본 웹 콘텐츠의 교과목 실제 적용 결과 기존의 독립적 교과목의 운용에 비하여 학생의 이해도, 만족도 및 프로그래밍 능력이 현저히 향상되었음을 확인하였다.

두리틀과 로봇 프로그래밍 교육이 창의성에 미치는 효과 비교 연구 (A Comparative Study of the Effect of Dolittle and Robot Programming Education on Creativity)

  • 박경재;이수정
    • 정보교육학회논문지
    • /
    • 제14권4호
    • /
    • pp.619-626
    • /
    • 2010
  • 이 연구에서는 교육용 프로그래밍 언어인 두리틀과 로봇 교육이 창의성 신장에 미치는 효과를 비교 분석하였다. 초등학교 6학년 3개반 99명을 대상으로 두리틀 교육반, 로봇 교육반, 일반 수업반으로 나누어 실험을 하였다. 두리틀 교육반, 로봇 교육반 학생들에게 10주 동안 10차시 분량의 구체적인 조작활동과 피드백, 토의 활동을 통한 교육을 진행하였다. 실험 결과 두 개의 프로그래밍 교육반 모두 일반 학급보다 창의적 능력과 창의적 성격이 신장되었으며, 특히 로봇 교육반 학생들의 창의성이 가장 많이 신장되었다. 또한 학업 성취도 하위 집단 학생들의 창의성 평균이 상위 집단보다 다소 높은 것으로 드러나 학업 성취도와 창의성 간의 양의 상관 관계는 성립하지 않는 것으로 확인되었다.

  • PDF

Computational Thinking of Middle School Students in Korea

  • Kim, Seong-Won;Lee, Youngjun
    • 한국컴퓨터정보학회논문지
    • /
    • 제25권5호
    • /
    • pp.229-241
    • /
    • 2020
  • 본 연구에서는 중학생의 컴퓨팅 사고력을 측정하기 위한 검사 도구를 개발하고, 개발한 검사도구를 활용하여 중학생의 컴퓨팅 사고력을 조사하였다. 검사 도구는 Korkmaz, Çakir, & Özden(2017)의 computational thinking scales를 탐색적 요인 분석을 실시하여 한국의 중학생에게 적합한 요인과 문항을 도출하였다. 개발한 검사 도구를 492명의 중학생에게 적용하여 성별, 학년, 프로그래밍 관련 경험, 경험한 프로그래밍 언어의 종류, 관심 정도에 따른 컴퓨팅 사고력의 차이를 분석하였다. 연구 결과, 한국의 중학생은 여성보다 남성의 컴퓨팅 사고력이 높았으며, 프로그래밍 관련 경험이 있거나 텍스트 기반 프로그래밍 언어를 경험하였을 때 컴퓨팅 사고력이 높은 것으로 나타났다. 반면에 학년에 따라 중학생의 컴퓨팅 사고력은 유의한 차이가 없으며, 인공지능에 대한 관심만 중학생의 컴퓨팅 사고력에 유의한 영향을 주었다.