• Title/Summary/Keyword: C-언어 컴퓨터 프로그램

Search Result 83, Processing Time 0.028 seconds

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

  • Park, Chan Jung;Hyun, Jung Suk;Jin, Heuiran;Jeong, Hyesun
    • The Journal of Korean Association of Computer Education
    • /
    • v.18 no.6
    • /
    • pp.1-12
    • /
    • 2015
  • In computer education area, abstract thinking has played a positive role in programming ability, and language experience has also affected the ability. However, most of the studies were empirical. The practical research about the relation analysis between abstract thinking and programming ability has rarely been performed. Among various types of programming abilities such as coding, debugging, and reading, this paper focused on program understanding. We analyzed the affection relation on program understanding and the interaction effect between abstract thinking level and language familiarity. We surveyed 376 high school students on their abstract thinking levels, language familiarity, academic achievement, and the program understanding abilities of C and Scratch. From the research, we knew that the abstract thinking level played an important role in understanding the iterative program for the male students. In addition, if the students had the experience on other programming languages before entering high schools, then there was an interaction effect between abstract thinking level and program language familiarity.

A Study on Design of Learning Supporting System for C Language (C 언어 학습을 위한 학습 지원 시스템 설계 고찰)

  • Lee, Kyong-Ho
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2013.07a
    • /
    • pp.283-286
    • /
    • 2013
  • C 언어는 프로그램을 간결하게 구성하기 위하여 많은 연구를 한 언어로, 프로그램 구성 시 오류를 쉽게 발견하기 위한 기능은 부족하지만 다른 고급 언어가 가지고 있는 기술상의 제약이 적어 프로그래밍하기 쉬울 뿐 아니라 다른 프로그래밍 언어의 모태 언어로 평가되어 프로그래밍 언어를 배우려고 하는 사람들의 필수 언어로 여전히 많은 사람들이 공부하고 있다. 그러나 형식 언어가 가지고 있는 여러 가지 특징으로 배우는데 어려워한다. 따라서 본 논문에서는 C 언어를 배우려는 사람들에게 쉽고 재미있고, 정확히 배우도록 하기 위해 C 언어 교육을 위한 교수 학습 지원 시스템 설계를 위한 고찰을 수행하였다. C 언어 교수 학습 지원 시스템을 설계하는데는 학습전이이론과 블랜디드교육, 문제중심학습, 게임을 참고하여 설계하였으며, 다양한 멀티미디어가 사용되게 하였다.

  • PDF

DEVELOPMENT OF A WEB-BASED FLOW ANALYSIS PROGRAM USING OBJECT-ORIENTED LANGUAGE JAVA (JAVA를 이용한 Web-기반 유동 해석 프로그램의 개발)

  • Kim, K.S.;Park, J.C.
    • 한국전산유체공학회:학술대회논문집
    • /
    • 2007.04a
    • /
    • pp.112-115
    • /
    • 2007
  • 객체지향 언어인 JAVA를 이용하여 Web-기반의 운동 해석 프로그램을 개발하였다. 지금까지 운동해석에 관한 대부분의 프로그램은 Fortran, C, C++ 와 같은 언어로 이루어져 있으며 이 경우 계산 속도는 빠르지만 각 언어의 Compiler 와 Builder를 필요로 한다. 따라서 사용된 각각의 언어에 대한 Compiler 및 Builder가 사용자의 개인용 컴퓨터 상에서만 설치 및 구동될 수 있으며 그로 인해 사용자는 계산된 Data형 결과물만을 얻을 수 있었다. 본 연구에서는 이를 개선하고자 객체지향형 언어인 JAVA를 이용하여 운동해석 프로그램을 구성할 수 있는 기반을 구축하였으며 Web과 연동하여 시간적 공간적 제약을 극복하고 사용자의 의견 개입을 가능하게 하였다. 일반적으로 JAVA 언어는 연산속도가 느려서 수치해석용으로는 부적합 하다는 평이 지배적 이였으나 컴퓨터의 성능 발달로 이는 개선이 될 수 있으며, 이는 사용자가 시간적 공간적 제약을 받지 않고 사용 가능하다는 점에서 극복되어 질 수 있다.

  • PDF

Design and Implementation of Packet Processing Programming Language and Compiler (패킷 처리 프로그래밍을 위한 언어의 설계와 컴파일러의 구현)

  • Choi, YeJi;Ko, BangWon;Shin, KyoungHee;Yoo, ChaeWoo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.510-513
    • /
    • 2012
  • 본 논문은 하드웨어에 독립적이고 패킷 처리 프로그래밍 개발의 효율성을 높이기 위하여 eFlowC 언어와 eFlowC 컴파일러를 제안한다. eFlowC 언어는 C 언어 기반의 고급언어이다. 그리고 기존의 C 문법에 패킷 처리 관련 기능을 위한 새로운 라이브러리를 추가하였다. eFlowC 컴파일러는 eFlowC 언어로 작성된 프로그램을 입력으로 받는다. 그리고 결과물로 가상 기계 목적 코드를 생성한다. 가상 기계 목적 코드는 언어 번역기의 입력 파일로 언어 번역기를 통하여 다양한 하드웨어 기계어로 번역이 가능하다.

시뮬레이션 도구 SMPLE의 개발 및 활용

  • 조성만
    • Proceedings of the Korea Society for Simulation Conference
    • /
    • 1992.10a
    • /
    • pp.3-3
    • /
    • 1992
  • 컴퓨터 시스템의 개발 및 분석에 많이 활용되는 시뮬레이션 모델을 구축하는데 있어서 SIMSCRIT, GISS, SIMAN, SLA II등과 같은 시뮬레이션 전용언어가 많이 사용되지만, 이들은 새로운 전용언어의 습득, 시스템 프로그램과의 접속, 시뮬레이션 수행 속도면에서 부담을 주어왔다. 본 연구에서는 기존의 C언어 사용자들이 손쉽게 시뮬레이션 모델을 구축할 수 있도록 기존의 smpl을 확장하여 SMPLE(smpl extended)를 개발하였다. SMPLE의 모체의 smpl은 컴퓨터 시스템의 시뮬레이션 모델을 구현하기 위해 MIT에서 C언어를 이용하여 고안되었으며, C언어의 기능적인 확장으로서 라이브러리 함수들의 집합 형태를 갖는 시뮬레이션 서브 시스템이다. 이러한 라이브러리 함수들의 집합인 smpl 시뮬레이션 서브 시스템은 C언어 자체와 더불어 사건중심(event-oriented) 시뮬레이션 언어를 구성하며, smpl 시뮬레이터는 C 언어 프로그램으로 구현되다. smpl은 시뮬레이션하기 위한 설비(facility)들을 정의, 예약, 해제하거나 상태를 알아보는 함수를 제공하며, 시간의 관점에서 보면 토큰의 흐름은 일련의 대기시간과 활동시간에 의하여 나타낼 수 있게 된다. smpl은 사건의 스케쥴링(scheduling), 확률변수의 생성, 통계자료 수집 등에 관한 함수의 제공과, 시뮬레이션 시간의 전진과 사건발생의 순서를 조절해주는 기능을 제공한다. smpl 시뮬레이션 프로그램은 초기화루틴, 제어루틴 및 결과출력루틴으로 구성된다. 기존의 smpl에서 사용되는 프로그램의 자료구조(data structure)는 배열과 인덱스 구조가 사용되었다. 이러한 구조는 이미 완성되어 있는 프로그램 내에서는 효율성 면에서 좋겠지만, 변경이나 확장하기 위해 이 프로그램을 분석한다거나 필요한 기능을 추가하기 위해서는 매우 많은 어려움이 따르게 된다. 본 논문에서는 배열을 기반으로 하고 있는 smpl의 자료구조를 C의 structure와 pointer를 기반으로 하게끔 변경시키고 이에 따르는 제반 변경 사항을 수정 보완하여 프로그램의 분석을 용이하게 하며 기능의 변경 및 추가가 수월하게 하였고 메모리를 동적으로 관리할 수 있게 하였다. 또한 기존의 smpl에 디버깅용 함수 및 설비(facility) 제어용 함수를 추가하여 시뮬레이션 프로그램 작성을 용이하게 하였다. 예를 들면 who_server(), who_queue(), pop_Q(), push_Q(), pop_server(), push_server(), we(), wf(), printfct() 같은 함수들이다. 또한 동시에 발생되는 사건들의 순서를 조종하기 위해, 동시에 발생할 수 있는 각각의 사건에 우선순위를 두어 이 우선 순위에 의하여 사건 리스트(event list)에서 자동적으로 사건들의 순서가 결정되도록 확장하였으며, 설비 제어방식에 있어서도 FIFO, LIFO, 우선 순위 방식등을 선택할 수 있도록 확장하였다. SIMPLE는 자료구조 및 프로그램이 공개되어 있으므로 프로그래머가 원하는 기능을 쉽게 추가할 수 있는 장점도 있다. 아울러 SMPLE에서 새로이 추가된 자료구조와 함수 및 설비제어 방식등을 활용하여 실제 중형급 시스템에 대한 시뮬레이션 구현과 시스템 분석의 예를 보인다.

  • PDF

Java Preprocessor for Integration of Java and C (자바와 C 언어 결합을 위한 자바 전처리기)

  • Yi, Chang-Hwan;Oh, Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.4
    • /
    • pp.537-547
    • /
    • 2007
  • According evolution of computer technology, computers execute complex and several tasks. Because of the complexity of program and restriction of programming language, applications are implemented using one more programming language. But it is no general methodology for using several languages and implementing it. This paper classified usages of programming language integration and methodology for implements programming languages integration through HLID(Heterogeneous Language Integration Degree) for solving above problem. And using HLID, it designed and implemented Java Preprocessor that improvement JNI-current implementation for integration between object-oriented language Java and procedural language C.

  • PDF

Virtual Machine for Program Testing on the Virtual Network Processor Environment (가상의 네트워크 프로세서 환경에서 프로그램 테스트를 위한 가상머신)

  • Hong, Soonho;Kwak, Donggyu;Ko, BangWon;Yoo, Chae-Woo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.514-517
    • /
    • 2012
  • 최근 인터넷 사용자 증가와 네트워크를 기반의 응용 프로그램이 다양하게 개발되고 있다. 또한 스마트 폰과 매블릿 PC 의 대중화로 누구나 쉽게 인터넷을 통해 정보검색 서비스를 이용할 수 있다. 따라서 갈수록 증가하는 패킷에 대한 제]어와 이동, 삭제 등과 같은 처리를 빠르게 하기 위해 네트워크 프로세서 (Network Processor)가 개발되었다. 네트워크 프로세서는 패킷 제어와 이동, 삭제를 수행하는데 최적화되어 있다. 하지만 네트워크 프로세서를 개발한 회사마다 교차개발환경 툴과 개발언어가 서로 다르기 때문에 소스코드 재사용 및 확장이 어렵다. 또한 네트워크 프로세서에서 동작하는 프로그램을 매스트 하기 위해 하드웨어 장비가 필요하고 네트워크 프로세서에 종속적인 개발환경과 언어를 배우는 것은 프로그래머에게 큰 부담을 준다. 본 논문에서는 네트워크 프로세서에 최적화된 기능을 언어 레벨에서 정의한 eFlowC 언어를 사용하고 범용 컴퓨터에서 매스트 및 실행을 할 수 있는 가상머신을 제안한다. 그리고 가상머신 중간언어를 사용하여 가상머신이 설치된 범용 컴퓨터에서 소스코드 재사용 및 확장을 가능하게 한다. 따라서 범용 컴퓨터에서 프로그램 테스트를 통해 신뢰성 높은 프로그램을 작성할 수 있다.

A Study on the Smart Virtual Machine for the iOS Platform (iOS 플랫폼을 위한 스마트 가상기계에 대한 연구)

  • Kim, ByungEun;Lee, KyungLok;Son, Yunsik;Lee, YangSun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.381-382
    • /
    • 2013
  • 본 논문에서는 iOS 플랫폼을 위한 스마트 가상기계(Smart Virtual Machine)를 설계하고 구현하였다. iOS 플랫폼을 위한 스마트 가상기계는 가상기계 기반의 컴파일러가 C/C++나 Java 언어로 작성된 프로그램과 의미적으로 동등한 중간 코드를 생성하면 이를 입력으로 받아 실행시켜주는 프로그램이다. 스마트 가상기계는 실행 파일인 SEF(Smart Executable Format) 파일을 입력으로 받아 실행하며, SEF 로더와 인터프리터, 내장 라이브러리, 실행 환경으로 구성되어 있다. 스마트 가상기계는 스마트 기기 등에 탑재되어 하드웨어 독립적으로 실행되며 어플리케이션 형태로 실행이 가능하므로 플랫폼에 독립적인 장점을 가진다. 또한, 프로그래머는 개발 언어의 제약 없이 프로그램을 작성할 수 있고, 프로그램을 플랫폼 독립적으로 실행할 수 있다.

Design and Implementation of Online Algorithm Bank for Algorithm E-learning (컴퓨터 알고리즘 교육을 위한 온라인 알고리즘 뱅크 구현)

  • Park, Uchang
    • The Journal of Korean Association of Computer Education
    • /
    • v.7 no.4
    • /
    • pp.1-6
    • /
    • 2004
  • For an e-learning class, many voice and video technics for enhancing student teacher interaction. But for programming exercise courses, it's very difficult to add interactive components via web browser. In this paper, we make an online algorithm bank to manage and search algorithms, build an programming exercise interface on web. Students can edit, compile and execute programs included in online algorithm bank. Online program compile and execution enhance e-learning effectiveness for programming courses, and make students feel ease for computer algorithms.

  • PDF

C_PBS: C Program Bank System (C_PBS: C 프로그램 문제 은행 시스템)

  • Kim, Heung-Hwan
    • The Journal of Korean Association of Computer Education
    • /
    • v.13 no.2
    • /
    • pp.45-57
    • /
    • 2010
  • In this paper, we propose a C_PBS(C Program Bank System) which can support effective learning of C language. C_PBS allows a variety of problem uses and provides 3 types of search method for user convenience. It also shows many useful facilities: a variety of answers to a problem, display of problems according to reference frequency, interesting problem list, and problem carts. Especially, with the addition of comments and reference to the problems and answers, it implements collective intelligence via mutual collaborative learning by supporting the philosophy of web 2.0: participation, sharing, and open.

  • PDF