• Title/Summary/Keyword: C programming language

Search Result 325, Processing Time 0.022 seconds

Analysis of Difference in Computer Programming Understanding Ability focused on Statement Structures between Genders and Abstract Thinking Levels of High School Students (문장구조 중심의 컴퓨터 프로그래밍 이해력에 관한 고등학생들의 성별 및 추상적 사고수준별 차이 분석)

  • Park, Chan Jung;Hyun, Jung Suk;Jin, Heuilan
    • The Journal of Korean Association of Computer Education
    • /
    • v.19 no.6
    • /
    • pp.69-80
    • /
    • 2016
  • As a 21C core skill, computational thinking has been focused recently, and computer programming education is popular in primary and secondary schools. This paper aims to analyze the computer programming learning results based on gender difference and verify the reasons causing the difference. In this research, we focused on students' abstract thinking level as a variable and used C programming language and the RUR-PLE. Also, in this research, we focused on the concept of abstraction, one of the main component of computational thinking. And then, we analyze 587 high school students' abstract thinking level and survey them in order to find a new method for enhancing programming skill. In addition, we analyzed the causes for the difference in how the abstract thinking level applies when the students understand various structures of computer programs. From the results, we can propose a computer programming education method that enhances students' merits and compensates their drawbacks in the near future.

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.12
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

Lexical Ambiguity Resolution System of Korean Language using Dependency Grammar and Collative Semantics (의존 문법과 대조 의미론을 이용한 한국어의 어휘적 중의성 해결 시스템)

  • 윤근수;권혁철
    • Korean Journal of Cognitive Science
    • /
    • v.3 no.1
    • /
    • pp.1-24
    • /
    • 1991
  • This paper presents the Lexical Ambiguity Resolution System of Korean Language. This system uses Dependency grammar and Collative Semantics. Dependency grammar is used to analyze Korean syntactic dependency. A robust way to analyze a sentence is to establish links between individual words. Collative Semantics investigates the interplay between lexical ambiguity and semantics relations. Collative Semantics consists of sense-frame, semantic vector, collation, and screening. Our system was implemented by C programming language. This system analyzes sentences, discriminates the kinds of semantic relation between pairs of words senses in those sentences, and resolves lexical ambiguity.

A Software Design Method for Arduino Applications using UML (UML을 이용한 아두이노 어플리케이션 설계)

  • Park, Ki-Chang;Lee, Hyun-Cheol;Kim, Eun-Seok
    • The Journal of the Korea Contents Association
    • /
    • v.15 no.8
    • /
    • pp.1-8
    • /
    • 2015
  • Arduino is an open-source prototyping platform. It has been used in diverse areas including media-art, simulation and interaction devices. The Arduino application does not provide an effective form of software design specification, since it is basically developed in C Programming language. In this paper, we propose a design method for the Arduino applications using the extension mechanism of the UML(Unified Modeling Language). The proposed method is enable to specify the main function of Arduino applications like digital I/O and analog I/O in UML notations.

A Study on the Effect of Processor Stack Frame Mechanism on Secure Programming in C Language (C 언어에서 프로세서의 스택관리 형태가 프로그램 보안에 미치는 영향)

  • 이형봉;차홍준;노희영;이상민
    • The KIPS Transactions:PartC
    • /
    • v.8C no.1
    • /
    • pp.1-11
    • /
    • 2001
  • There are several traditional factors of software quality. Some of them are such as correctness, reliability, efficiency, compatibility, portability, etc. In addition to them, security is required as another factor of software quality nowadays because some application programs are used as a way to attack information systems by stack frame manipulation. Each processor has its own peculiar stack frame mechanism and C language uses the characteristics of them. This paper explains the concept of security problem caused by stack frame manipulation, and the stack frame mechanism of Pentium, Alpha and SP ARC processor in detail. And then it examines the effect of stack frame mechanism on the security of programs in C language.

  • PDF

A Case Study on the Development of Programming Subjects Using Flipped Learning (플립드러닝을 활용한 프로그래밍 교과목 개발 사례 연구)

  • Won-Whoi Huh
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.23 no.3
    • /
    • pp.215-221
    • /
    • 2023
  • If the C++ programming class, an object-oriented language capable of modeling similar to the real world, is developed as a curriculum that introduces the flipped learning model, students' active problem-solving skills can be cultivated. In this subject development case, it is significant that the flipped learning technique was applied to the programming class and was effective in improving students' active problem-solving skills. First, the lectures in the 4th session were divided into Pre-Class, In-Class, and Post-Class, and the class was conducted in a way that suggested class goals suitable for the subject and formed a team to discuss. At the end of the lecture, a follow-up survey was conducted to check whether the learners learned effectively.

Building of Integrated Increment Interpretation System Based on Action Equations (작용 식 기반 통합 점진 해석 시스템 구축)

  • Han, Jung-Ran;Choi, Sung
    • The KIPS Transactions:PartA
    • /
    • v.11A no.3
    • /
    • pp.149-156
    • /
    • 2004
  • As software is large and sophisticate, in order to increase the productivity and efficiency of programs in programming development environments, it is necessary to support the integrated system that offers user interface integrated editing, compiling, debugging, and running steps. The key tool in such environments is an incremental translation. In this paper, in order to increase the productivity and reusability of software, the goal is to construct the integrated incremental interpretation system that supports friendly user interface with editor, debugger, and incremental interpreter. We define the new object-oriented language, IMPLO(IMPerative Language with Object) using EBNF notation, and construct the integrated incremental interpretation system using incremental interpreter of the language. To do so, we extend attribute grammars for specifying static semantics and present new action equations to describe the dynamic semantics. We executed the incremental interpretation by using analyzing the dynamic semantics and then implemented integrated incremental interpretation system with editor and debugger in C, Lex and Yacc using X windows on SUN. We obtain about 50% speedups in case of incremental execution time for example programs.

An Object Oriented C++ Program for Free Vibration Analysis of Framed Structures (뼈대구조물(構造物)의 자유진동해석(自由振動解析)을 위한 객체지향(客體指向) c++ 프로그램)

  • Shin, Young Shik;Suh, Jin Kook
    • KSCE Journal of Civil and Environmental Engineering Research
    • /
    • v.14 no.1
    • /
    • pp.119-129
    • /
    • 1994
  • This paper describes a $C^{{+}{+}}$ free vibration analysis program of structures for personal computer. This program was developed by object oriented programming method which is the latest trend in programming practice. The object-oriented programming method which has the superior reuseability and expansibility to procedural programming provides various choice of menus and easy modification of the program, and reduces the development time and size of the program. This object-oriented free vibration analysis program written in $C^{{+}{+}}$ language consists of Vector and Matrix classes, Structural Analysis and GUI classes. The efficiency and validity of the program were examined by solving several numerical examples. The static and free vibration analyses of the framed structures were satisfactorily performed by this program on a personal computer.

  • PDF

Development of a Personal Robot Based on Modularization (모듈화 개념의 퍼스널 로봇 플랫폼 개발)

  • 최무성;양광웅;원대희;박상덕;김홍석
    • Proceedings of the Korean Society of Precision Engineering Conference
    • /
    • 2004.10a
    • /
    • pp.742-745
    • /
    • 2004
  • If a personal robot is popularized like a personal computer in the future, many kinds of robots will appear and the number of manufacturers will increase as a matter of course. In such circumstances, it can be inefficient, in case each manufacturer makes a whole platform individually. The solutions for this problem are to modularize a robot component (hardware and software) functionally and to standardize each module. Each module is developed and sold by each special maker and a consumer purchases desired modules and integrates them. The standardization of a module includes the unification of electrical and mechanical interface. In this paper, the standard interfaces of modules are proposed and CMR(Component Modularized Robot)-P2 made with the modules(brain, sensor, mobile, arm) is introduced. In order to simplify and to make the modules light, a frame is used for supporting a robot and communication/power lines. The name of a method and the way to use that are defined dependently on the standard interfaces in order to use a module in other modules. Each module consists of a distributed object and that can be implemented in the random language and platform. The sensor, mobile and arm modules are developed on Pentium or ARM CPU and embedded Linux OS using the C programming language. The brain module is developed on Pentium CPU and Windows OS using the C, C++ and RPL(Robot Programming Language). Also tasks like pass planning, localization, moving, object perception and face perception are developed. In our test, modules got into gear and CMR-P2 executed various scenarios like guidance, errand and guarding completely.

  • PDF

A Program Transformational Approach for Rule-Based Hangul Automatic Programming (규칙기반 한글 자동 프로그램을 위한 프로그램 변형기법)

  • Hong, Seong-Su;Lee, Sang-Rak;Sim, Jae-Hong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.1 no.1
    • /
    • pp.114-128
    • /
    • 1994
  • It is very difficult for a nonprofessional programmer in Koera to write a program with very High Level Language such as, V,REFINE, GIST, and SETL, because the semantic primitives of these languages are based on predicate calculus, set, mapping, or testricted natural language. And it takes time to be familiar with these language. In this paper, we suggest a method to reduce such difficulties by programming with the declarative, procedural constructs, and aggregate constructs. And we design and implement an experimental knowledge-based automatic programming system. called HAPS(Hangul Automatic Program System). HAPS, whose input is specification such as Hangul abstract algorithm and datatype or Hangul procedural constructs, and whose output is C program. The method of operation is based on rule-based and program transformation technique, and the problem transformation technique. The problem area is general problem. The control structure of HAPS accepts the program specification, transforms this specification according to the proper rule in the rule-base, and stores the transformed program specification on the global data base. HAPS repeats these procedures until the target C program is fully constructed.

  • PDF