한국방송통신대학교 바로가기

한국방송통신대학교 컴퓨터과학과

  • 확대
  • 원래크기
  • 축소
인쇄

처음으로 > 교과정보 > 전공교과소개

전공교과소개

전공교과소개
학년·학기 교과목명 주요내용
1-1 컴퓨터 이해 전 학과가 교양과목으로 채택하고 있는 이 과목은 대학인으로서 정보화 사회에 대비하여 컴퓨터 문화에 적응할 수 있는 능력을 함양하는데 있다.
하드웨어 및 소프트웨어에 관한 광범위 한 내용이 교재에서 다루어지고, 생소한 내용이 많기에 어려움이 많이 있으리라 생각된다.
그러므로 충실한 예습으로 용어 및 개념들을 이해하는 노력이 필요하다.
1-1 C 프로그래밍 프로그래밍 언어로서 오늘날 세계적으로 각광을 받고 있는 C언어에 대해 그 문법적 내용과 프로그래밍 기법을 다루고 있다.
기초적인 개념부터 시작하여 응용문제까지 다룰 수 있도록 많은 예제 프로그램들이 포함되어 있으나 학습효과를 극대화하기 위해 컴퓨터를 통한 프로그램의 실직적인 작성과 실행이 요구된다.
1-1 인터넷서비스 인터넷은 네트워크 즉, 꿈의 통신망이라고도 하며, 전 세계적으로 1억 2천만 명 이상이 사용하고 있는 세계적인 망이다.
이러한 인터넷은 초기 에는 학술적인 목적으로만 이용되었으나, 오늘날에는 우리 생활의 필수적인 도구로 모든 분야에서 활용되고 있다.
따라서 이 과목에서는 인터넷을 이해하고 인터넷을 활용하기 위한 준비, 인터넷 서비스, 전자우편, 정보검색, 홈페이지 만들기, 자바스크립트, DHTML과 XML, 플러그인을 이용한 멀티미디어 활용, 정보윤리, 그리고 전자상거래 등 인터넷과 관련된 전반적인 내용을 실제로 이용할 수 있는 내용을 다룬다.
1-1 유비쿼터스컴퓨팅개론 유비쿼터스컴퓨팅개론을 통해 유비쿼터스 환경을 위해 필요한 핵심 기술을 분류하고, 이에 대한 세부적인 내용을 배운다. 특히 유비쿼터스컴퓨팅개론은 기존의 컴퓨터 관련 지식을 보다 전문화시키고, 보다 넓은 시야를 갖게 해줄 것이다.
특히 RFID, MEMS, 유비쿼터스 네트워크, 센서 네트워크, 보안 기술, u-시티, u-러닝, u-의료 등에 대해 이해하고, 이를 토대로 구축된 유비쿼터스 환경을 이해한다. 마지막으로 유비쿼터스 환경을 어떻게 이해할 것인가에 대한 관점을 정립하는 것을 유비쿼터스컴퓨팅개론 과목의 가장 큰 목표로 삼을 것이다.
1-2 C++프로그래밍 객체지향 프로그래밍 기법을 이해하고, 객체지향 언어의 대표적인 C++을 익힌다.
1-2 멀티미디어시스템 컴퓨터 관련 기술은 급속도로 변하고 있다.
멀티미디어란 텍스트, 오디오, 비디오, 애니메이션, 그래픽 등이 결합된 환경을 말하는데 이러한 멀티미디어 환경과 관련 기술은 너무도 빠르게 변하고 있다.
본 과목에서는 21세기 고도 정보화 사회에서 필수적으로 활용되는 멀티미디어 관련 기술을 얻기 위해 멀티미디어 시스템의 기본적인 개념을 알아보고 멀티미디어 활용기술에 관해 학습하며, 멀티미디어 응용에 관한 내용을 제고하고자 한다.
1-2 컴퓨터과학기초 컴퓨터 과학이나 컴퓨터 공학을 학습하는데 필요한 기초화 개념을 이해할 수 있도록 컴퓨터 하드웨어와 소프트웨어에 관한 전반적인 내용을 총체적으로 다룬 컴퓨터과학과의 필수과목이다.
또한 본 과목은 상위학년에 개설되는 다른 전공과목의 선수과목으로 주요 과목의 기초적인 내용을 다루고 있다.
2-1 Visual C++ 프로그래밍 본 과목에서는 비쥬얼 C++을 통하여 윈도우 프로그래밍 기법을 익히고 활용할 수 있는 능력을 키우는 것을 목표로 한다.
2-1 이산수학 논리, 집합, 관계, 함수, 순열조합, 그래프, 부울 대수, 계산이론을 공부한다.
이러한 내용들은 컴퓨터과학의 여러 분야에서 많이 이용되고 있는 것들로서 컴퓨터과학의 여러 과목을 공부함에 있어서 필요한 수학적 백그라운드 및 사고방식을 익힐 수 있도록 한 과목이다.
2-1 HTML 웹프로그래밍 본 교과목에서는 두 종류의 마크업 언어, 즉 웹 페이지 작성을 위해 가장 기본이 되는 HTML(HyperText Markup Language)과 인터넷 환경에서 용이한 데이터 교환을 위한 데이터의 의미와 구조를 동시에 공유할 수 있도록 해 주는 차세대 정보 포맷 표준으로 여겨지는 XML(eXtensible Markup Language)을 다룬다. 초보자 또는 중급 이하의 경험을 가진 프로그래머를 대상으로 하기 때문에 두 마크업언어의 개념, 주요 문법적 지식과 기초적인 사용법을 중심으로 학습이 진행된다.
2-2 선형대수 선형대수학은 우리에게 지식을 체계화시킬 수 있는 논리를 제공해준다.
그러나 이러한 논리적 사고 능력은 단순히 암기해서는 안 되고 한 단계 한 단계를 이해해 나가는 훈련과정 중에 얻어지게 된다.
이러한 논리적 사고 능력의 배양과 함께 선형대수의 기본 개념들을 탐구하고 적용할 수 있는 능력의 개발이 본 교과목이 목표하는 바이다.
본 과목에서는 이론만을 다루지 않고 그래프 이론, 암호 이론, 마르코프 프로세스, 컴퓨터 그래픽, 피보나치 수열, 데이터의 곡선적합 등 선형대수의 응용을 적절하게 다루었다.
2-2 프로그래밍언어론 프로그래밍 언어는 프로그램 작성의 도구이다.
프로그램 작성을 여러 가지 면에서 돕기 위하여 프로그래밍 언어에 도입된 개념과 특징을 이해하고 이들이 실제로 어떻게 구현되었는지를 공부한다.
컴파일러구성, 프로그래밍언어론을 선수 과목으로 학습한 후, 언어번역 기법의 대표적인 컴파일러에 관한 내용을 서술하였다.
컴파일러에 관계하는 각종 기법과 이론들을 입문적 사항에서부터 최신의 고급기법까지를 다루었다.
2-2 자료구조 컴퓨터과학의 소프트웨어 분야에서 기본이 되는 과목인 자료구조(data structure)는 컴퓨터 내부에 자료를 어떻게 구성시켜 효율적으로 처리하느냐 하는 방법론을 공부하는 교과목이다.
특히 이 과목은 데이터베이스, 알고리즘, 소프트웨어공학, 인공지능 등과 같은 상위 과목을 이수하기 위한 기초 과목이기도 하다.
3-1 운영체제 운영체제는 시스템 소프트웨어의 핵심으로서 컴퓨터 환경에서 없어서는 안 될 부분이며 모든 컴퓨터 사용자들은 어느 정도 이것을 이해하여야만 될 정도로 컴퓨터 시스템의 성능을 좌우하는 중요한 역할을 수행한다.
본 교과목의 특징은 하드웨어와 운영체제에 치우치지 않고 운영체제가 담당하는 일반적인 역할을 중심으로 프로세서 관리, 기억장치관리, 정보관리, 입출력 장치관리 등을 다루어 컴퓨터의 내부처리과정을 좀더 정확하게 이해시킴으로써 오늘날 실제 많이 보급되고 있는 운영체제들의 비교분석능력, 그리고 더 나아가 새로운 운영체제를 설계할 수 있는 기초 지식을 배양하는데 목적을 두고 있다.
3-1 디지털논리회로 디지털논리회로는 전산학에서의 주요한 필수과목으로서, 디지털 시스템의 구성 및 동작 원리 와 논리회로의 분석방법 및 설계 방법에 대한 기본 지식을 제공한다.
디지털논리회로에 대한 학습 내용은 하드웨어 관련 교과목의 이해에 도움이 되고 특히 컴퓨터구조 과목의 주요 내용들을 이해하는데 기초가 된다.
3-1 데이터베이스 데이터베이스 시스템은 데이터를 효율적으로 관리하게 한다.
본 교재는 관계형 데이터베이스를 중심으로 데이터베이스 시스템을 이해하고, 데이터베이스의 사용과 구축 및 관리를 할 수 있는 능력을 부여하고, 더 나아가서는 데이터베이스를 조작할 수 있는 데이터베이스 관리시스템의 구성요소를 공부한다.
3-1 알고리즘 지금까지 많이 연구되고 좋은 알고리즘이 제시된 정렬, 탐색, 문자열처리, 기하문제, 그래프 등에 관한 컴퓨터 알고리즘을 공부한다. 또 효율적인 알고리즘이 없을 것으로 간주되는 NP 문제의 성질을 알아본다.
또한 계산기 복잡도가 큰 최적화 문제의 근사해를 구하는 한 방법인 확률적 알고리즘과 유전 알고리즘을 소개한다.
그리고 다수의 프로세서로 구성된 병렬 컴퓨터에서 효율적으로 실행되는 병렬 알고리즘을 설계하는 방법도 공부한다.
3-1 Java프로그래밍 자바를 이용하여 객체지향 프로그램의 설계와 개발의 일반 원칙과 이론을 학습한다.
알고리즘을 설계하고 데이터와 연산을 추상화하기 위한 기초 지식을 배양한다.
강의와 실습을 통해 학습한 지식을 바탕으로 규모가 큰 소프트웨어 프로젝트를 수행할 수 있는 능력을 기른다.
인터넷과 관련된 분야에서 컴퓨터를 이용하여 문제를 해결하기 위한 기초능력 배양과 실세계의 프로그램을 설계하고 개발할 수 있는 능력을 기른다.
3-2 UNIX시스템 본 과목에서는 주요 운영체제의 하나인 UNIX 시스템의 개요 및 특징, 활용 방법 등에 대하여 학습한다. 이를 위하여 공개 UNIX 시스템인 Linux의 설치 방법, 시스템 운영 방법, 명령어 사용법, 쉘 스크립트 작성법, 네트워크 및 시스템 관리 방법까지 이론과 실습을 병행함으로써 운영체제의 동작에 대해 이해하고 운영체제를 관리하고 활용할 수 있는 역량을 향상시킨다.
3-2 컴퓨터구조 컴퓨터과학도에게 컴퓨터 하드에어 시스템의 기본적인 지식, 즉 컴퓨터 시스템의 하드웨어 구성요소에 관한 구성과 동작원리 등의 기본지식을 제공한다.
3-2 데이터베이스설계및구현 데이터베이스의 두 번째 학기에서 강의되는 "데이터베이스설계및구현"은 실습을 중심으로 하는 교과목으로, 학생들의 논리적 사고 능력 함양을 위한 문제분석과 설계 능력을 신장시키고, 이것을 토대로 실제 데이터베이스 엔진을 이용하여 구현하는 case study 를 간단한 예제 수준부터 시작하여, 중급 과제, 대형 프로젝트의 prototype 수준의 실습이 이루어질 수 있도록 강의한다.
이 강의를 통해 학생들이 대형 프로젝트의 적응 능력과 "데이터 처리"에 관한 안목과 자신감을 갖게 함으로써, 컴퓨터 분야의 모든 응용 영역에서 활개를 펼칠 수 있는 능력을 부여할 수 있음이 기대된다.
3-2 컴파일러구성 시스템 프로그램의 기본이라고 할 수 있는 컴파일러에 관한 내용을 다루고 있다.
본 교과목을 공부하기 위해 본 학과에서 개설된 모든 프로그래밍 언어들을 충분히 실습하여야 하고 이론과목인 언어구성론에 대한 기초 지식이 학습되어 있어야 한다.
3-2 JSP프로그래밍 JSP는 스크립트 방식의 웹 프로그래밍 언어로서 HTML, XML 문서에 함께 포함될 수 있으며 Java언어에 기반을 두고 있기 때문에 Java가 제공하는 객체지향 개념과 웹 환경에 필요한 다양한 기능들을 웹 프로그램 제작에 이용할 수 있다. 본 교과목은 교재를 중심으로 JSP 기술을 익히고 예제를 통해 실전에 응용할 수 있는 능력을 키우는 것을 목표로 한다. 본 교과목의 선수 과목은 Java프로그래밍 과목이다.
4-1 컴퓨터그래픽스 컴퓨터그래픽스는 시각적 요소를 이용하여 정보를 표현하고 전달하기 위한 학문이다.
본 교과목에서는 컴퓨터 그래픽의 기본 원리를 익히고, 여러 가지 그래픽 요소의 구현과 특성을 숙지하며, 그래픽의 활용 방법과 응용 능력을 배양하는 것을 목표로 하고 있다.
4-1 정보통신망 정보통신망은 컴퓨터에 의한 정보 처리 기술과 다양하고 신속한 통신 기술이 상호보완적으로 접목되어 크게 발전하고 있다.
즉, 정보통신망의 기반기술은 컴퓨터의 정보처리기술, 데이터 통신 기술, 네트워크 기술 등이다.
이러한 정보통신망은 자원의 공유, 신뢰도의 향상, 분산처리 등의 장점을 갖는 반면, 현재로는 운영의 복잡성, 통신정보보호의 문제 등을 단점으로 안고 있다.
본 강의는 컴퓨터의 정보처리 기술보다, 데이터 통신 및 네트워크 기술에 초점을 맞추어 진행된다.
즉, 데이터 통신의 기초적인 지식과 이론 그리고 데이터 통신의 중요한 기능들을 다루고 있으며, 개방형 시스템을 위한 OSI모델과 함께 TCP/IP 프로토콜, 더 나아가 근거리 통신망과 정보보호에 대해서도 설명하고 있다.
4-1 소프트웨어공학 신뢰성 있고 효과적으로 작동하는 경제적인 소프트웨어를 생산하기 위해 소프트웨어 개발과 운영, 그리고 유지보수 활동에 체계적이며 숙달되고 수량화된 절차, 방법, 도구들을 적용하고 또한 이러한 절차, 방법, 도구를 연구 개발하는 활동들을 다루게 된다.
4-1 시뮬레이션 시뮬레이션의 개념을 먼저 기본적인 문제들을 중심으로 이해하고, 나아가서 이와 관련된 이론들을 학습하고자 한다.
본 과목에서는 시뮬레이션의 기본개념 및 모델링과 시뮬레이션에 수반되는 이론과 응용 등에 관련되는 사항들을 다루었다.
효과적인 이해를 위해서 교재에 제시된 시뮬레이션 문제들은 모두 실습하는 것이 바람직하다.
4-1 컴퓨터보안 컴퓨터보안 과목은 정보화 사회에서 컴퓨터 보안, 나아가서는 정보보호의 전반적인 내용을 다루고자 하였다. 정보보호의 의미와 역사를 포함하여 정보보호를 위한 이론적 기술적인 배경인 암호이론과 그 응용 그리고 최근의 기술 동향과 발전 방향에 대한 내용을 다룬다.
4-2 HTML5 HTML5는 현재 사용되고 있는 마크업 언어 표준인 HTML 4.01을 대폭 개선한 마크업 언어이다. 단순 텍스트와 하이퍼링크만 표시하던 기존 HTML을 이용하여 웹 애플리케이션을 개발하기에는 너무나 많은 한계점들이 존재한다. 따라서 HTML 표준 자체에 대한 개선 및 확장 요구가 커졌으며, 이에 대해 HTML5는 복잡한 애플리케이션까지 제공할 수 있는 웹 애플리케이션 플랫폼으로 진화한 형태라고 할 수 있다. 본 교과목에서는 HTML5의 주요 특징과 기능을 이해하고 활용 능력을 배양함을 목표로 한다.
4-2 인공지능 인공지능은 컴퓨터에게 지적인 능력을 부여하기 위한 제반 학문분야를 통칭하는 것이다.
본 과목에서는 문제풀이방식, 지식의 표현 및 사용, 퍼지 이론, 전문가 시스템, 패턴인식, 자연어 이해 등 인공지능의 기본적이고 전반적인 분야에 대한 이해를 하는 것을 목표로 하고 있다.
4-2 모바일서비스 현대 생활에서 스마트폰이 차지하는 비중이 커져가면서 컴퓨팅 환경의 일부분으로 자리잡고 있다. 특히 이동통신망을 기반으로 하는 다양한 서비스는 다양한 수요를 창출하고 있으며 새로운 IT 분야가 되고 있다.
따라서 본 교과목에서는 안드로이드 운영체제를 기반으로 하여 다양한 서비스를 제공할 수 있는 프로그래밍 환경의 다양성을 이해하고 이를 스스로 구축할 수 있는 능력을 키우는 것을 모바일 서비스 프로그래밍의 목표로 한다.