컴퓨터공학
컴퓨터공학(computer engineering)은 컴퓨터 하드웨어 및 소프트웨어를 개발하는 데 필요한 전기공학 및 컴퓨터 과학의 여러 가지 분야를 통합하는 전기공학 및 컴퓨터 과학의 한 분과이다. 현대 정보화 사회에서 컴퓨터의 하드웨어와 소프트웨어를 연구, 컴퓨터 시스템과 컴퓨터 관련 기술을 개발하여 익히고 이를 각 분야에 응용함을 목적으로 한다.
외국에서는 "컴퓨터 공학"을 컴퓨터과학(영어: computer science, 컴퓨터 사이언스) 분야 중에서 하드웨어를 다루는 세부 영역의 명칭으로 사용하는데 대한민국에서는 컴퓨터과학과 같은 뜻으로 자리 잡았다. Stanford의 경우 Computer Science전공에서 Computer Engineering트랙을 제공한다.
Computer Science and Engineering (CSE)이라는 이름으로 교육 프로그램을 운영하는 대학도 존재한다.
개념 및 정의
컴퓨터공학은 정보화 사회에서 컴퓨터의 하드웨어와 소프트웨어 그리고 통신 및 네트워크를 연구하여, 컴퓨터 시스템과 컴퓨터와 관련된 여러 기술을 개발하여 익히고 이를 각 분야에 응용함을 목적으로 하는 학문 분과이다.
하드웨어 부분에서 전자기학(電磁氣學, electromagnetics) 이론 분야와 마이크로프로세서 분야, 전자회로 분야로 나뉘고, 소프트웨어 부분에서 소프트웨어공학(software engineering) 분야와 시스템분석 및 설계 분야와 프로그래밍 분야, 파일관리 및 데이터베이스(data base)와 같은 데이터 저장 분야 등으로 분류한다.
통신 및 네트워크 부분에서 유선 및 무선통신과 데이터통신 등으로 나누어 연구 학습을 하며, 최근에는 융합기술을 기반으로 각종 응용 분야에서 컴퓨터와 융합하여 시너지를 향상시키고 있다. 그 한 예로 컴퓨터 과학과 전자공학(電子工學, electronics)이 연계되는 학문으로, 로봇공학(robotics)이나 방송 및 콘텐츠와 융합한 게임시스템 등 하드웨어와 소프트웨어 지식과 콘텐츠 지식을 요구하고 있는 학문 분야이다.
기초분야에서는 전자기학(電磁氣學, electromagnetics/electromagnetism), 회로, 이산수학, 자료구조, 오토마타, 알고리즘 등 컴퓨터 기술을 발달시키기 위한 기반이 되는 논리학(論理學, logic)을 다루는 부분이다. 프로그래밍 분야는 컴퓨터 기술의 핵심을 이루는 분야로 C, C++, Java 등 여러 가지 프로그래밍 언어와 컴퓨터에게 명령하여 작동시키는 기술을 연구한다. 시스템 분야는 중앙처리장치(CPU)를 비롯한 입·출력장치 등의 컴퓨터의 하드웨어구조와 컴퓨터시스템을 구성하는 입력, 처리, 출력을 위한 커널과 운영체제, 시스템소프트웨어, 응용소프트웨어 개발 등에 대한 분석, 설계, 구현, 운영, 유지보수 및 품질관리, 프로젝트관리 등을 연구하는 학문 분야이다.
역사와 발전단계
최초의 자동 계산기는 계전기를 사용하여 1초에 덧셈을 3번 할 수 있는 전기기계식 계산기 마크-원(MARK-Ⅰ)으로서, 1944년 아이비엠(IBM)회사와 하버드대학 에이킨이 만들었다. 그 뒤 에니악의 단점을 보완하기 위해 요한 폰 노이만(Johann Ludwig von Neumann)이 기억장치에 컴퓨터의 명령이나 데이터를 모두 기억시키는 프로그램 내장방식을 제안하였다. 1949년 영국 케임브리지대학에서 이 프로그램 내장방식을 채택하여 세계 최초로 내부기억장치가 있는 에드삭(EDSAC)을 개발하였고, 미국에서는 1952년 전자식 프로그램 내장방식인 에드박(EDVAC)을 만들었다. 또한 1951년 유니박-원(UNIVAC-Ⅰ)을 만들어 상품화하는 데 성공하였는데, 이것이 최초의 상업용 컴퓨터이다.
에드삭은 소프트웨어 면에서도 크게 이바지하였다. 그 뒤 프린스턴고등연구소에서 노이만의 지도 아래 제작된 이아스(IAS) 컴퓨터를 비롯하여 차례로 매사추세츠공대의 월윈드(Whirlwind), 에케르트와 모클리의 바이낙(BINAC), 일리노이대학의 일리악(ILLIAC), 랜드회사의 조니악(JOHNIAC) 등이 제작되었다. 또한 컴퓨터의 크기는 반도체 기술과 전자기술의 발달로 점점 작아지고 연산속도도 피코초(ps) 단위로 빨라졌으며, 이용범위도 확대되어 가정은 물론 산업사회의 여러 분야에서 다양하게 이용되고 있다.
세계 최초의 컴퓨터인 에니악이 나타난 이래 오늘날까지의 발달상은 그 이전의 몇백 년과 비교할 수 없을 만큼 빠르다. 컴퓨터의 발전 단계를 회로소자에 따라 구분하면 다음과 같다.
① 제1세대(1940∼50년대 후반): 주요 회로소자로 진공관을 사용하였고, 주로 과학기술 계산 분야에 이용되었다. 진공관은 수명이 짧고 열이 많이 발생하므로 소비전력이 많았으며, 컴퓨터의 연산속도는 밀리초(ms) 단위였다.
② 제2세대(1950년대 후반∼60년대 중반): 주요 회로소자로 진공관 대신 트랜지스터를 사용하였다. 트랜지스터는 진공관보다 부피가 작고 소비량이 적으며 신뢰성이 높다. 주기억장치로는 자기코어가 쓰였고 보조기억장치의 사용으로 기억용량이 커졌으며, 컴퓨터의 연산속도가 마이크로초(㎲) 단위이며 일반 사무 처리에도 이용되었다. 고급언어와 원거리 데이터를 처리하는 원거리 데이터통신이 도입되었다.
③ 제3세대(1960년대 중반∼70년대 후반): 반도체 기술이 진보하였고, 많은 트랜지스터와 저항으로 구성된 전자회로를 반도체 결정체 위에 압축시킨 집적회로(IC)를 사용하였다. 과학기술 계산 외에 사무 처리도 할 수 있는 범용 컴퓨터가 개발되었다. 연산속도는 나노초(㎱) 단위로 빨라졌다. 또한 컴퓨터 내부에서 시스템을 관리·제어하는 운영체제(OS)가 발달하였으며, 온라인 실시간 처리와 다중프로그래밍 방식이 널리 보급되었다.
④ 제4세대(1970년대 후반∼현재): 이 시기에는 하나의 칩에 많은 회로를 집적시킨 고밀도 집적회로(LSI)와 초고밀도 집적회로(VLSI)를 사용하였다. 연산속도는 피코초(ps) 단위로 빨라졌다. 부피가 초소형화된 마이크로프로세서의 개발로 초대형 컴퓨터의 제작뿐만 아니라 부피는 초소형이며 값싸고 성능 좋은 마이크로컴퓨터의 보급이 가능하게 되었다. 컴퓨터가 각종 산업기계에 응용되었고, 공장자동화 시스템(FA)과 사무자동화(OA) 시스템까지 이룰 수 있게 되었다. 또한 전자제품·자동제어기기·오락 등에도 이용되고, 통신기술의 발달로 세계 전역의 통신망이 컴퓨터와 연결되어 가정에서도 단말기를 통해서 모든 정보를 쉽게 얻을 수 있게 되어 컴퓨터 이용의 대중화시대가 열렸다.
앞으로 개발될 제5세대 컴퓨터는 회로소자가 더욱 집적화하여 분자나 원자 크기의 지능을 갖는 소자가 개발될 것이며, 컴퓨터의 처리속도도 현재보다 훨씬 빨라질 것이다. 또한 인간의 지적인 보조자나 인간의 일부를 대신하는 기능을 갖춘 컴퓨터도 나타날 것이다.
데이터를 표현하는 방법에 따라 디지털 컴퓨터·아날로그 컴퓨터·하이브리드 컴퓨터로 나뉘는데 그 특징은 다음과 같다.
① 디지털 컴퓨터: 실제 숫자나 수치적으로 코드화한 문자의 표현으로 이루어진 자료를 처리하는 컴퓨터이다. 일반적으로 컴퓨터라고 하면 디지털 컴퓨터를 말한다. 사칙연산이 바탕이 되며, 연속적인 양의 표현이 불가능하므로 자료의 표현에 오차가 생길 수도 있다.
② 아날로그 컴퓨터: 길이·전압·전류 등과 같은 연속적인 양의 자료를 즉시 처리하는 컴퓨터이다. 자료를 변환시키지 않고 측정 장치로부터 직접 입력할 수 있다. 자료의 측정과 비교를 즉시 처리하므로 공장의 자동기기 제어에 이용되지만, 저장기능이 없고 정밀도와 범용성이 디지털 컴퓨터보다 떨어진다.
③ 하이브리드 컴퓨터: 아날로그 기능과 디지털 기능을 하나의 컴퓨터 시스템에 혼합한 형태의 컴퓨터이다. 아날로그 자료를 입력하여 디지털 처리를 하고자 할 때에 유용하다.
컴퓨터 기술의 발전 동향을 살펴보면, 오늘날 컴퓨터는 만들어진 지 불과 40여 년 사이에 어떤 기술부문에서도 유례를 찾아볼 수 없을 정도로 급성장하였다. 그러나 점차 다양해지고 있는 새로운 욕구를 충족시킬 기술력은 한계를 보이기 시작하고 있는데, 이를 유형별로 집적도·처리속도·추론기능·신뢰도·환경 적응력으로 나눌 수 있다.
기존 컴퓨터의 주소재인 실리콘 소자의 집적도는 현재의 기술수준으로 볼 때 거의 한계에 도달하여 분자단위나 원자단위의 소자를 기초로 하는 분자 컴퓨터 또는 원자 컴퓨터의 개념이 나타나고 있다. 특히 분자소자는 생물 컴퓨터와 밀접한 관련을 맺고 있다. 또한 지금까지의 컴퓨터는 미리 정해진 프로그램에 따라 주어진 자료에 의해서만 문제의 분석이 가능하여 인간과 같이 능동적으로 문제를 해결할 수 있는 능력이 없다. 이를 해결하기 위하여 인공지능 컴퓨터가 연구되고 있다.
① 슈퍼컴퓨터: 우주개발·원자력·기상해석 등 빠른 계산이 요구되는 과학기술 분야에 쓰이는 컴퓨터이다. 범용 컴퓨터 초대형기의 처리 속도는 5∼10MFLOPS(메가 플롭스)인데, 슈퍼컴퓨터는 50∼100MFLOPS 정도로 매우 빠르다. 조셉슨 소자, 초격자소자 등이 실용화되면 고속화의 한계로 여겨지는 1000GFLOPS(기가 플롭스)의 기종도 개발될 것으로 기대된다.
② 광컴퓨터: 전자적인 처리 대신 빛 자체로 정보의 입출력·정보처리·저장 등이 이루어지는 컴퓨터 시스템이다. 기존 컴퓨터가 받는 전자기파의 유도장애를 해소하는 컴퓨터이다. 넓은 뜻으로 가장 핵심이 되는 연산처리가 빛으로 이루어지는 컴퓨터이다. 기존의 컴퓨터에 비하여 우수한 장점이 있어 미래의 컴퓨터로 주목받고 있다. 그 장점은 다음과 같다. 처리속도가 현재의 슈퍼컴퓨터보다 최소한 1000배 이상 빨라진다. 단위 칩 당 정보 집적도가 실리콘 소재보다 10배까지 높아질 수 있다. 전자기파의 유도장애를 받지 않으므로 시스템이 안정적이다. 기본소재가 모래이므로 자원이 풍부하고 값이 싸다. 빛 자체의 속성 때문에 2차원 또는 3차원의 병렬처리가 쉽다. 영상·화상정보처리가 쉽다.
③ 바이오컴퓨터: 인간두뇌의 구조·기능 등을 모방하거나 직접 이용함으로써 기존의 컴퓨터가 갖지 못한 기능을 갖도록 하는 컴퓨터이다. 바이오컴퓨터의 개념은 아직 명확히 정립된 것은 아니지만 최근 컴퓨터 기술이 한계에 이르렀다는 인식과 1970∼80년대 생물공학(生物工學, biological engineering)의 눈부신 발전으로 전자공학·생물공학 기술의 융합이 진행되고 있다.
바이오컴퓨터를 실현시키는 방법으로 기존의 무기소재를 이용하여 생물기능만을 모방하는 방법, 유기소재를 이용하는 방법, 생물의 두뇌세포를 직접 이용하는 방법 등이 단계적으로 연구될 전망이다.
주요 분야
컴퓨터공학은 현대의 정보화 사회에서 컴퓨터 시스템과 컴퓨터와 관련된 여러 기술을 개발하여 익히고 이를 각 분야에 응용함을 목적으로 하는 학문 분과이다. 기초 이론 분야와 프로그래밍 분야, 컴퓨터 시스템 분야, 응용 분야로 나뉜다.
① 기초 분야: 이산수학, 자료구조, 오토마타, 알고리즘 등 컴퓨터 기술을 발달시키기 위한 기반이 되는 로직을 다루는 부분이다.
② 프로그래밍 분야: 컴퓨터 기술의 핵심을 이루는 분야로 C, C++, Java 등 여러 가지 프로그래밍 언어로 컴퓨터에게 명령하여 작동시키는 기술을 연구한다.
③ 시스템 분야: 컴퓨터의 하드웨어 구조와 컴퓨터 시스템을 구성하는 운영체제, 네트워크 등을 취급한다.
④ 응용 분야: 위의 기술들을 기반으로 하여 필요에 따라 세부적이고 구체적으로 응용·발달, 분산 시스템 및 병렬 시스템, 인공지능, 데이터베이스, 멀티미디어, 패턴인식 및 영상처리, 소프트웨어공학(-工學, software engineering) 등을 학습한다.
컴퓨터공학의 주요 과목
• 고급객체지향프로그래밍(advanced object-oriented programming): 객체지향 프로그래밍 기초에서 배운 데이터 형, 입출력, 선택문, 반복문, 함수, 배열, 포인터, 문자열 등을 기본으로 하여 클래스, 함수 오버로딩, 연산자 오버로딩, 상속, 가상함수, 템플릿, 네임스페이스 등의 고급객체지향프로그래밍 기법을 배우고 이를 실습을 통해 익힌다.
• 기초공학설계(fundamental engineering design): 필요성 인식과 여러 설계요소의 정의로부터 도출되는 기초적인 공학설계 과제에 대한 이해와 모든 공학적 요소와 해답에 영향을 주는 비공학적 요소를 포함하는 공학문제에 대한 학생들의 사고판단 개념을 넓혀줄 수 있도록 하는 것이 본 교과목의 목표이다. 이를 달성하기 위하여 학생들이 개방형 개발과제를 수행할 수 있도록 그와 관련된 강의, 사례연구 및 과제수행을 순차적으로 진행시켜 교육한다.
• 논리회로(digital circuit): 디지털 논리회로의 기본요소인 논리소자 특성 이해 및 디지털 논리회로(조합회로, 순서회로)에 대한 설계방법을 익혀 실제적 응용 디지털 회로설계와 컴퓨터의 기본구조 설계에 관해 학습한다.
• 자료구조(data structures): 자료 추상화, 배열, 리스트, 스택, 큐, 트리, 그래프 등의 자료구조와 그러한 자료구조를 활용할 수 있는 알고리즘을 배운다. 이 과목을 통해서 학생들은 전산학(電算學, computer science)의 지식을 확대하고 프로그래밍 기술을 향상시킬 수 있다.
• 컴퓨터 구조(computer architecture): 컴퓨터 구조설계의 기초 이론으로써 기본적인 컴퓨터 시스템의 구성과 설계에 대한 개념과 기법을 소개한다. 데이터의 표시방법, 레지스터의 전송과 마이크로 동작, 컴퓨터 소프트웨어를 포함하여 연산장치, 제어장치, 입출력장치의 구조와 설계기법을 학습함으로써 컴퓨터를 설계할 수 있는 지식을 습득하고, 명령포맷, CPU 내부구조, 하드와이어드 제어에 의한 제어 유닛 설계, 마이크로프로그램 제어에 의한 제어 유닛 설계, 인터럽트, DMA 등에 의한 I/O 처리 기술을 배운다.
• 이산구조(discrete structures): 수학적인 관점에서 논리적인 디지털 컴퓨터 구조를 이해하기 위해 형식논리, 알고리즘 증명, 재귀, 집합, 순열과 조합, 이항정리, 이진관계, 함수 및 행렬, 그래프, 트리, 그래프 알고리즘, 프로그램의 검증, 부울 대수와 컴퓨터 논리 등에 관하여 배운다.
• 운영체제(computer operating system): 시스템 개발과정을 소개하며, 소프트웨어 시스템 분석 및 설계 시에 확장성과 재사용을 용이하게 하기 위한 구조적 방법과 객체 지향적 방법을 익힌다.
• 시스템 분석 및 설계(systems analysis and design): 컴퓨터 구조 설계의 기초 이론으로써 기본적인 컴퓨터 시스템의 구성과 설계에 대한 개념과 기법을 소개한다. 데이터의 표시방법, 레지스터의 전송과 마이크로 동작, 컴퓨터 소프트웨어를 포함하여 연산장치, 제어장치, 입출력장치의 구조와 설계기법을 학습함으로써 컴퓨터를 설계할 수 있는 지식을 습득하고 명령포맷, CPU 내부구조, 하드와이어드 제어에 의한 제어 유닛 설계, 마이크로프로그램 제어에 의한 제어 유닛 설계, 인터럽트, DMA 등에 의한 I/O 처리 기술을 배운다.
• 컴퓨터 네트워크(computer networks): 컴퓨터 네트워크를 구성하는 각종 네트워킹 장치들의 계층 모델, 특성, 동작 방법, 그리고 운용 기술에 대하여 학습한다. 또한 이들 장치를 상호 연결한 인터 네트워크의 구성과 동작 방법에 대하여 소개한다. 컴퓨터 네트워크의 구성과 동작방법에 대하여 공부하고, 컴퓨터 네트워크의 7계층 구조와 인터넷 4계층 구조를 이해할 수 있고, 간단한 LAN(Local Area Network)을 설계할 수 있으며, 계층 모델을 기반으로 한 컴퓨터 네트워크의 이론적 이해 및 분석력을 함양함으로써 컴퓨터 네트워킹 개념에 대한 이론과 실용 기술을 체득할 수 있다.
• 멀티미디어 시스템(multimedia system): 멀티미디어의 정의 및 기본 개념, 멀티미디어 시스템 요구사항과 기술 동향, 코딩과 압축, 전송기술을 배운다. 그리고 멀티미디어 시스템 설계 시 필요한 기술 등 응용 방향을 제시하며 실습을 수행한다.
• Windows프로그래밍(windows programming): Windows 시스템의 구조와 관련 있는 프로그래밍 기술을 익히는 과목으로 Windows API(Application Programming Interface) 함수, DLL(Dynamic Linking Library) 함수 및 OLE(Object Linking and Embedding) 객체를 다루는 Windows 시스템 함수들을 사용하는 기법을 소개한다.
• 알고리즘 분석(algorithm analysis): 알고리즘의 기본적인 이해를 하고, 대표적인 알고리즘의 형태를 배운다. 알고리즘 방법을 divide-and-conquer, dynamic programming, greedy algorithms, branch-and-bound 등으로 분류하고, 각각의 특성을 이해하도록 한다. 아울러 기본적인 복잡도 문제를 살펴본다.
• Java응용프로그래밍(Java application programming): 자바는 인터넷의 대중화와 더불어 가장 강력한 객체 지향 프로그래밍 언어로 자리 잡고 있다. 자바는 현재 엔터프라이즈 솔루션의 핵심적인 웹 애플리케이션 서버의 책임 언어이며, 인터넷 분야뿐만 아니라 네트워크, 멀티미디어, 그래픽스, 임베디드 시스템까지 광범위하게 응용되고 있다. 자바 프로그래밍의 기본 개념을 배우고 여러 응용 프로그래밍을 구현함으로서 실제 업무에 적용 가능한 실무능력을 키운다.
• 컴퓨터그래픽스(interactive computer graphics): 2D와 3D 객체의 생성과 디스플레이를 위한 기본적인 기술들을 소개한다. 주요 강의 내용은 그래픽스를 위한 자료구조, 그래픽 프로그래밍 언어, 기학학적 변환, shading, 가시화 등을 포함한다.
• 설계 패턴(design patterns): 객체 지향 설계에서 반복적으로 발생하는 문제에 대한 단순하고 효과적인 해결책들을 제시하는 설계패턴을 학습하여 소프트웨어 개발에 필수적인 설계 능력을 향상시킨다. 주요 내용으로는 생성관련 패턴, 구조관련 패턴, 행위관련 패턴을 포함한다.
• 프로그래밍기초(programing basis): 기초적인 C++ 프로그래밍을 익히는 것이다. 이를 위해, C++ 프로그램의 기본적인 구조, 데이터 형, 변수, 함수, 분기문, 반복문, 재귀 프로그래밍, 문자 입출력, 배열, 포인터 등 고급 C++ 프로그래밍을 위한 기초를 배운다.
• 소프트웨어공학: 개발이전(pre-development)단계, 개발(development)단계, 개발이후(post-development) 단계로 구분해서 방법론과 소프트웨어 개발절차에 대해 수업하며, 컴퓨터 프로그램개발 및 프로젝트관리를 위한 체계적이고 공학적으로 접근함으로써 궁극적으로는 소프트웨어 품질을 향상시키고자 하는데 목적을 두고 있는 컴퓨터공학에서의 필수과목이다.
컴퓨터공학의 발전전망
고도의 정보 산업 사회에서는 새로운 학문으로 컴퓨터공학이 근본이 되며 정보가 가장 중요한 자원이 될 것이다. 이들 정보를 수집하고 처리하는데 있어 컴퓨터공학 기술은 필수적이며 핵심적이다.
최근 수년간 마이크로프로세서의 기술과 컴퓨터 네트워크의 기술이 눈부시게 발전함에 따라 대용량의 데이터나 정보를 보다 짧은 시간 내에 수집하고 처리하며 전달할 수 있게 되었다. 이처럼 컴퓨터와 네트워크 기술 발전에 힘입어 사람들은 지역에 상관없이 자원을 공유하고, 신뢰성 있는 통신을 하며 마치 사람처럼 행동하고 사고하며 사물을 인식하고 보여줄 수 있는 멀티미디어 기술이 가능하게 되었다.
그리고 이러한 기술들을 사용하여 표현하려는 내용(콘텐츠)이 궁극적으로 21세기에서 살아갈 사람들의 삶의 수준을 향상시키고 관심의 대상이 되는 기술로 발전하게 될 것이다. 그러므로 다가올 멀티미디어 정보화시대에는 눈부시게 발전하는 컴퓨터 및 멀티미디어 정보통신기술의 패러다임을 활용하여 기존의 인간들이 이루어 놓은 문화, 문명뿐만 아니라 새로운 문화와 문명을 창조할 수 있는 새로운 형태의 기술에 대한 요구가 폭발적으로 증대될 것으로 예측되며, 이 분야의 기술을 가지거나 창조할 수 있는 인재를 요구하고 있다.
따라서 국가적, 사회적, 시대적 요구에 비추어보아 컴퓨터공학 전공에서 교육하고 다루는 기술은 산업발전의 핵심이자 주체이며, 이러한 점에서 컴퓨터공학 전공의 향후 발전전망은 매우 밝고 무한하다고 할 수 있다.
주요 용어
• 디지털 컴퓨터: 실제 숫자나 수치적으로 코드화한 문자의 표현으로 이루어진 자료를 처리하는 컴퓨터이다.
• 아날로그 컴퓨터: 길이·전압·전류 등과 같은 연속적인 양의 자료를 즉시 처리하는 컴퓨터이다.
• 슈퍼컴퓨터: 우주개발·원자력·기상해석 등 빠른 계산이 요구되는 과학기술 분야에 쓰이는 컴퓨터를 말한다.
• 광컴퓨터: 전자적인 처리 대신 빛 자체로 정보의 입출력·정보처리·저장 등이 이루어지는 컴퓨터 시스템이다.
• 바이오컴퓨터: 인간두뇌의 구조·기능 등을 모방하거나 직접 이용함으로써 기존의 컴퓨터가 갖지 못한 기능을 갖도록 하는 컴퓨터이다.
관련 직업군
- 기술 분야 공무원(국가공무원, 관변단체 공무원 등)
- 전문적인 기술인(산업기사, 기술사, 감리사 등)
- 학문분야 (대학교수, 연구원 등)
- 산업체(대기업, 중견기업, 중소기업, 창업 등)
- 연구분야(정부기관 연구소 및 민간기업 연구소 컴퓨터 소프트웨어 전문가)
참고자료
같이 보기