| 학년·학기 | 교과목명 | 주요내용 |
|---|---|---|
| 1-1 | 컴퓨터의 이해 | 이 과목의 목적은 현대사회를 살아가는 데 교양인으로서 갖추어야 할 필수적인 컴퓨터 관련 지식의 이해와, 이를 바탕으로 정보화 사회의 컴퓨터 문화에 적응할 수 있는 능력을 함양하는 것이다. 주요 내용은 다음과 같다.
|
| 1-1 | 파이썬프로그래밍기초 | 인공지능, 빅데이터 등의 4차산업혁명은 우리의 생활 방식에 많은 변화를 가져오고 있으며 4차산업혁명의 근간인 컴퓨터 과학을 통해 데이터와 정보를 다루는 컴퓨터적 사고와 정보 능력은 이 시대를 살아가기 위한 중요 기술로 인정받고 있다. 이를 위해 파이썬 프로그래밍 기초는 인공지능 및 빅데이터 분야에서 필수적으로 이용되고 있는 파이썬의 문법적, 기능적 사용법만을 다루는 것에 그치지 않고 정보의 표현 및 컴퓨터의 근본적인 동작 원리를 이해하고 프로그래밍 언어가 가지고 있는 특징을 학습함으로써 프로그래밍이라는 심미적 창의 활동을 통해 컴퓨터적, 정보적 사고 능력을 배양하고 이를 통해 학습자가 컴퓨터 관련 다양한 지식을 다루기 위한 초석을 다지는 것을 목표로 한다. |
| 1-1 | 유비쿼터스 컴퓨팅 개론 | 유비쿼터스 컴퓨팅 개론을 통해 유비쿼터스 환경을 위해 필요한 핵심 기술을 분류하고, 이에 대한 세부적인 내용을 배운다. 특히 유비쿼터스 컴퓨팅 개론은 기존의 컴퓨터 관련 지식을 보다 전문화시키고, 보다 넓은 시야를 갖게 해줄 것이다. 특히 RFID, MEMS, 유비쿼터스 네트워크, 센서 네트워크, 보안 기술, u-시티, u-러닝, u-의료 등에 대해 이해하고, 이를 토대로 구축된 유비쿼터스 환경을 이해한다. 마지막으로 유비쿼터스 환경을 어떻게 이해할 것인가에 대한 관점을 정립하는 것을 유비쿼터스 컴퓨팅 개론 과목의 가장 큰 목표로 삼을 것이다. |
| 1-2 | 멀티미디어 시스템 | 오늘날 현대사회에서 멀티미디어 관련기술은 급속도로 변하고 있다. 멀티미디어를 구성하는 요소는 텍스트, 오디오, 비디오, 애니메이션, 그래픽 등이며, 컴퓨터를 통해 새로운 멀티미디어 콘텐츠로 합성된다. 본 과목에서는 21세기 고도 정보사회에서 필수적으로 활용되는 멀티미디어 관련 기술을 알아보기 위해 멀티미디어 데이터에 대한 기본 개념과 멀티미디어시스템의 기본적인 내용을 설명한다. 또한 멀티미디어 데이터를 이용한 각종 멀티미디어 활용기술에 관해 공부하고 다양한 멀티미디어 응용분야에 대해서 알아본다. 특히 본 과목에서 다루는 내용이 다양하고 광범위하므로 학습의 효과를 극대화하기 위하여 학생들은 반드시 사전에 예습을 한 후 방송강의를 청취할 것을 권한다. |
| 1-2 | C프로그래밍 | |
| 1-2 | 컴퓨터과학 개론 | '컴퓨터과학개론'은 컴퓨터과학을 전공하는 1학년 학생을 대상으로 컴퓨터과학 전반에 걸친 핵심 내용을 소개하는 과목이다. 즉, 어떤 특정한 컴퓨팅 도구나 컴퓨터 이론/응용에 관련된 내용을 깊이 있게 배우는 것이 아니라, 앞으로 상위 학년에서 배우게 될 컴퓨터과학의 여러 핵심 분야의 내용을 개괄적으로 살펴보는 과목이다. 컴퓨터과학의 다양한 분야에 걸친 용어, 개념, 원리 및 방법 등을 미리 접해봄으로써 친숙해질 수 있는 기회와 환경을 제공하는 것이 본 교과목의 가장 중요한 학습 목표라고 할 수 있다. |
| 2-1 | HTML5웹프로그래밍 | 웹 개발자들은 웹페이지를 만들기 위해서 HTML, CSS, 그리고 JavaScript를 반드시 알아야 한다. 즉 HTML을 이용하여 문서의 내용과 구조를 정의하고, CSS를 이용하여 문서가 화면에 표시되는 외양을 지정하고, JavaScript를 이용해서 웹페이지의 동작을 프로그래밍하는 일련의 협업을 통해서만 효율적인 웹페이지를 작성할 수 있다. 따라서 본 과목은 HTML, CSS, 그리고 JavaScript를 소개하고, 이들의 활용을 통해 다양한 형태의 웹페이지를 작성할 수 있는 기초적인 능력을 배양하는 것을 목적으로 한다. |
| 2-1 | 이산수학 | 이산수학은 연속적이지 않고 이산적인(discrete) 대상에 관해 연구하는 학문이다. 특히 다양한 수학 이론 중에서 컴퓨터과학에서 자주 활용되는 내용들을 주로 다룬다. 따라서 우리 학과에서 제공되는 이산수학에서는 컴퓨터과학을 보다 체계적으로 배울 수 있도록 논리, 증명, 집합, 행렬, 관계, 함수, 부울대수, 그래프, 트리, 조합이론, 정수론, 그리고 오토마타와 형식언어 등을 다룬다. 이산수학은 다른 수학 분야처럼 우리에게 지식을 체계화시킬 수 있는 논리를 제공해준다. 그러나 이러한 논리적 사고 능력은 단순히 암기함으로써 얻을 수 있는 것이 아니고 한 단계 한 단계를 이해해 나가는 훈련과정 중에 얻어지게 된다. 이러한 논리적 사고 능력의 배양과 함께 이산수학의 기본 개념들을 탐구하고 적용할 수 있는 능력의 개발이 본 교과목이 목표하는 바이다. |
| 2-1 | Java 프로그래밍 | 본 교과의 목적은 객체지향 언어인 Java의 기능과 특성을 이해하고 Java 프로그래밍의 기본 기술을 익히는 것이다. 차후 Java 언어에 바탕을 둔 고급 프로그래밍 기술을 학습하려면 본 교과목을 반드시 수강하여야 한다. 선수과목은 C++ 프로그래밍으로 객체지향 개념의 기본 지식을 먼저 갖추고 있어야 한다. 교재를 중심으로 Java 언어의 기본 기술을 이해하고 나아가 GUI, 입출력, 멀티스레딩, 예외처리, 데이터베이스 연동 등의 내용을 학습하도록 한다. 예제를 통해 학생 스스로 원리를 이해하고 문제를 해결하는 기회와 능력을 제공하도록 한다. |
| 2-2 | 선형대수 | 수학은 크게 해석학, 대수학, 기하학 등 세 가지 분야로 구분한다. 이중 대수학은 방정식의 해법에 관한 수학이고 그중에서도 선형대수학은 차수가 1인 일차방정식의 해법을 연구하면서 발생한 대수학이다. 선형대수학은 수학 자체의 발전뿐만 아니라 다른 수학 분야처럼 자연과학과 사회과학 등 많은 분야에 활용되고 있다. 특히 4차 산업혁명시대에 핵심 키워드인 인공지능에서 소위 기계학습(machine learning)은 선형대수학을 가장 중요한 기초로 삼고 있다. 본 강의는 크게 세 부분으로 구성되어 있다 제1부에서는 연립일차방정식과 행렬에 관한 기본 개념을 설명하고 있으며 제2부에서는 벡터 공간이라는 대수 구조체를 다루고 벡터공간 사이에 선형성을 갖는 함수인 선형변환에 대해 설명한다. 제3부에서는 여러 분야에서 응용되고 있는 선형대수의 몇 가지 도구(고유값과 고유벡터, 직교벡터, 직교변환 등)를 설명하고 있다. 선형대수학은 우리에게 지식을 체계화시킬 수 있는 논리를 제공해준다. 그러나 이러한 논리적 사고 능력은 단순히 암기해서는 아니 되고 한 단계 한 단계를 이해해 나가는 훈련과정 중에 얻어 지게 된다. 이러한 논리적 사고 능력의 배양과 함께 선형대수의 기본 개념들을 탐구하고 적용할 수 있는 능력의 개발이 본 교과목이 목표하는 바이다. |
| 2-2 | 프로그래밍언어론 | 프로그래밍 언어는 컴퓨터에 우리의 의사를 전달하는 도구이다. 본 교과목은 프로그래밍 언어의 정의, 기능, 구성 요소 등을 다루어 프로그래밍 언어 자체에 대한 감각을 키우는 데 목적을 두고 있다. 이를 통해 새로운 언어는 쉽게 배우고, 사용 중인 언어는 더 잘 이해할 수 있으며, 나아가 궁극적으로 현명한 언어 설계자가 될 수 있다. |
| 2-2 | 자료구조 | 자료구조(Data Structures)는 컴퓨터 과학의 소프트웨어 분야에서 가장 기본이되는 과목으로, 자료를 컴퓨터 내에 어떻게 효율적으로 구성시켜 처리하느냐의 방법론을 공부하기 위한 과목이다. 컴퓨터에 의한 자료 처리 관점에서 프로그램의 문제는 이와같은 자료구조와 알고리즘이 불가분의 깊은 연관성을 갖으며 심도있는 학습이 이루어져야 한다. 이 과목은 화일처리, 알고리즘, 데이터베이스, 인공지능, 소프트웨어공학 등과 같은 상위과목을 공부하기 위한 기초과목이다. |
| 2-2 | 오픈소스 기반 데이터 분석 | 디지털 전환이 가속화됨에 따라 데이터는 ‘21세기의 원유’로 불릴 만큼 중요한 자원으로 인식되고 있다. 이러한 흐름 속에서 데이터를 효과적으로 수집하고, 분석하며, 활용할 수 있는 능력은 사회 전 분야에서 핵심 경쟁력으로 자리 잡고 있다. 특히 인공지능과 빅데이터와 같은 첨단 기술은 모두 데이터를 기반으로 발전하고 있으며, 이에 따라 데이터 분석 역량은 선택이 아닌 필수적 자질로 간주되고 있다.본 과목은 데이터 분석의 기본 개념부터 실무 활용까지의 전 과정을 오픈소스 도구를 중심으로 학습하는 것을 목표로 한다. 학습자는 데이터 수집, 전처리, EDA, 분석, 시각화의 전과정을 습득하며, 이 과정에서 웹 스크래핑와 API를 통한 데이터 수집을 시작으로 텍스트 데이터, 이미지 및 시계열 데이터 등 다양한 유형의 데이터 분석 기법을 실습을 통해 익히게 된다. 이를 통해 학습자는 오픈소스 데이터와 소프트웨어 속에서 새로운 인사이트를 발견하고, 데이터 기반의 문제 해결 능력을 함양하는 것을 목표로 한다. |
| 3-1 | 운영체제 | 운영체제는 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있도록 하는 동시에 컴퓨터 시스템의 자원을 효율적으로 관리하는 역할을 담당하는 핵심적인 시스템 소프트웨어이다. 본 교과목에서는 프로세스 관리, 메모리 관리, 입출력장치 관리, 파일 관리 등 운영체제가 담당하는 일반적인 역할의 구성 및 처리 과정에 대하여 이해하고, 분산 운영체제, 운영체제 보안, 임베디드 운영체제 등 최근 대두되는 운영체제와 관련한 주요 분야의 기초 지식을 배양하는 것을 목표로 한다. |
| 3-1 | 디지털논리회로 | 디지털 논리회로는 컴퓨터과학의 주요한 필수과목으로서, 디지털 시스템의 구성 및 동작원리와 논리회로의 분석방법 및 설계방법에 대한 기본지식을 제공한다. 본 과목의 학습은 다음과 같이 크게 네 부분으로 나누어 진다. 첫 번째 부분에서는 디지털 시스템에 대한 개괄적인 설명과 함께 데이터를 컴퓨터에 나타내는 방법에 대해서 학습한다. 두 번째 부분에서는 디지털 시스템의 기능을 나타내기 위하여 부울대수의 기본 개념을 설명하고, 부울함수의 간소화 방법과 부울함수의 구현방법에 대해서 상세히 설명한다. 세 번째 부분에서는 조합논리회로와 순서논리회로의 분석과정 및 설계과정에 대해서 설명하고, 대표적인 구체적 예제를 통하여 분석 및 설계 방법을 익힌다. 마지막 부분에서는 레지스터와 카운터의 동작원리 및 특성, 기억장치의 종류 및 기본 구조에 대해서 다룬다. 이와 같은 디지털 논리회로에 대한 학습내용은 하드웨어 관련 교과목의 이해에 도움이 되고 특히 3학년 2학기에 개설되어 있는 컴퓨터구조 과목의 주요 내용들을 이해하는데 기초가 된다. |
| 3-1 | 데이터베이스 시스템 | 디지털 데이터의 양과 유형이 폭발적으로 증가하고 있는 현대 사회에서 데이터베이스의 이론적 및 실무적 관점의 지식을 바탕으로 데이터를 효과적으로 관리 및 사용할 수 있는 능력은 필수적이다. [데이터베이스 시스템] 과목은 데이터베이스의 개념, 필요성 및 데이터 관리에 필요한 이론적 배경 지식을 정리하고, SQL 활용에 필요한 관계형 모델, 관계 대수 및 정규화에 대해 학습한다. 또한 효율적 데이터 저장 및 관리에 필요한 파일과 인덱스 구조 및 트랜잭션과 동시성 제어에 대하여 학습한다. 이와 더불어 실무 사례에서 가장 많이 사용되고 있는 MySQL Server와 MySQL 워크벤치를 사용하여 실제 데이터베이스 시스템을 구현하여 학습자가 실무적 감각 또한 배양할 수 있는 기초를 마련한다. 이 과목은 학습자가 자료구조, 이산수학 및 C 언어에 대한 기본 개념을 이미 알고 있는 것을 전제로 한다. |
| 3-1 | 알고리즘 | 컴퓨터과학이 문제 해결을 위한 학문이라면 알고리즘은 주어진 문제를 어떤 방법과 과정을 거쳐 효율적으로 해결할 것인가를 다루는 기본적이면서 필수적인 분야이다. 알고리즘 없이는 컴퓨터를 이용한 자료처리가 불가능하므로 주어진 문제에 대한 효율적인 알고리즘을 찾는 것은 매우 중요한 일이다. 알고리즘 과목은 문제를 푸는 방법의 설계와 그 방법의 효율을 분석하는 것이 학습의 주요 내용이며, 이를 위해 본 교과목에서는 대표적인 알고리즘 설계 기법, 그리고 보편적이면서 활용 범위가 넓은 문제인 정렬과 탐색에 대한 알고리즘 등을 다룬다. |
| 3-1 | 인공지능 | 인공지능은 컴퓨터가 지적인 활동을 수행할 수 있도록 하는 방법을 연구하는 모든 학문 분야를 통칭하는 용어입니다. 본 과정은 학생들이 인공지능과 그 응용 분야에 대한 전반적인 이해를 돕습니다. 주요 내용은 다음과 같습니다. - 전통적인 문제 해결 기법 - 지식 기반 시스템의 지식 및 개념 표현 - 퍼지 이론 - 컴퓨터 비전 및 패턴 인식 시스템 - 머신 러닝 - 신경망 및 딥러닝 |
| 3-2 | UNIX 시스템 | UNIX의 표준을 준수하는 무료 공개 운영체제인 리눅스를 학습한다. 학습 목표는 서버 관리자가 되기 위한 지식과 역량의 함양 및 자가 학습 능력의 배양이다. 공개 소프트웨어 라이선스, 리눅스 표준 디렉터리, 셸의 기능과 기본 명령어, 리눅스의 부팅, 사용자 계정의 관리, 텍스트 편집, 파일 시스템과 프로세스의 관리, 패키지 관리, 셸 스크립트, 네트워크 설정 및 서버 관리에 관한 내용을 다룬다. |
| 3-2 | 컴퓨터구조 | 컴퓨터 구조는 컴퓨터과학에서 필수적인 교과목으로서, 컴퓨터과학도에게 컴퓨터 하드웨어 시스템의 기본적인 지식, 즉 컴퓨터 시스템의 하드웨어 구성요소에 관한 구성과 동작원리 등의 기본지식을 제공한다. 본 과목은 학습내용이 다음과 같이 크게 네 부분으로 나누어진다. 첫 번째 부분에서는 컴퓨터 시스템에 대한 기본적인 이해 및 그 발전 역사에 대하여 공부한다. 두 번째 부분에서는 이 강의의 중심이라고 할 수 있는 컴퓨터 명령어, 처리장치, 제어장치, 그리고 중앙처리장치에 대해서 상세히 설명한다. 세 번째 부분에서는 기억장치와 입출력장치를 설명함으로써 컴퓨터 시스템에 대한 하드웨어적인 전반적인 개념을 익힌다. 마지막 부분에서는 발전적인 컴퓨터 구조에 관한 설명으로, 병렬처리시스템에 대하여 그 개념 및 분류와 종류 등에 대해서 다룬다. 이와 같은 컴퓨터 구조에 대한 학습내용은 컴퓨터과학의 다른 분야와의 깊은 관련성을 가지고 있으므로 컴퓨터과학의 다른 교과목을 이해하는데 폭 넓고 기본적인 시스템 지식을 제공하는 것을 목적으로 한다. |
| 3-2 | 머신러닝 | 머신러닝(기계학습)은 인간의 지능적인 정보처리를 기계에 부여하기 위한 인공지능 분야 중 실용적인 관점에서 연구와 개발이 가장 활발하게 이루어지고 있는 분야이다. 본 교과목은 머신러닝 분야의 특정 주제를 심도 있기 다루기보다는 기초적이고 전통적인 방법론부터 최신 기술에 이르기까지 전반에 걸쳐 접하거나 알아야 하는 내용을 종합적으로 다룬다. 이를 통해 머신러닝 분야의 단단한 기초를 제공하여 원하는 내용을 스스로 찾아가면서 필요한 것들을 배우고 익힐 수 있는 능력을 갖추는 것이 학습의 목표이다. |
| 3-2 | 시뮬레이션 | 모델링과 시뮬레이션의 개념과 이론을 학습하고 나서 현장에서 활용되는 시뮬레이션 언어를 소개한다. 마지막 단원에서 컴퓨터 네트워크 시뮬레이션을 경험하는 것을 목표로 한다. 교재 및 강의 구성은 3부로 분류된다. 제 1부는 1강에서 7강까지이며 교재 제1장에서 5장까지의 내용이다. 간단한 시뮬레이션 실습예제들을 중심으로 시뮬레이션에 대한 개념을 쉽게 이해할 수 있도록 구성하였다. 효과적인 학습을 위해서 시뮬레이션 예제들을 모두 실습하는 것이 바람직하며 이를 위해 모든 예제들에 대한 C, JAVA 프로그램들이 교수 홈페이지 학습정보 게시판에 올려져 있다.. 제 2부는 8강부터 14강까지이며 교재 6장에서 8장까지의 내용이다. 앞에서 살펴보았던 시뮬레이션과 관련된 이론들을 깊이 있게 설명하며 아울러 실제 현장에서 사용되는 시뮬레이션 언어들에 대한 소개와 동영상 실습과정으로 구성하였다. 제 3부는 15강으로 교재 10장의 내용이다. 컴퓨터 네트워크 시뮬레이션 분야에서 대표적으로 사용되는 Riverbed Modeler 언어를 이용하여 직접 네트워크 시스템을 설계하고 성능평가하는 과정을 실습 동영상으로 자세히 소개한다. |
| 3-2 | JSP프로그래밍 | JSP는 스크립트 방식의 웹 프로그래밍 언어로서 HTML, XML 문서에 함께 포함될 수 있으며 Java언어에 기반을 두고 있기 때문에 Java가 제공하는 객체지향 개념과 웹 환경에 필요한 다양한 기능들을 웹 프로그램 제작에 이용할 수 있다. 본 교과목은 교재를 중심으로 JSP 기술을 익히고 예제를 통해 실전에 응용할 수 있는 능력을 키우는 것을 목표로 한다. 본 교과목의 선수 과목은 Java 프로그래밍 과목이다. |
| 4-1 | 컴퓨터그래픽스 | 컴퓨터 그래픽스는 시각적 요소를 이용하여 정보를 표현하고 전달하기 위한 학문이다. 본 교과목에서는 컴퓨터 그래픽스의 기본 원리를 익히고, 3차원 그래픽스 파이프라인을 구성하는 여러 가지 처리 단계를 구성하는 알고리즘을 이해함으로써 컴퓨터그래픽스를 활용하는 응용프로그램을 만드는데 필요한 이론 및 기술을 습득하는 것을 목표로 하고 있다. 주요 내용은 다음과 같다.
|
| 4-1 | 정보통신망 | 제4차 산업혁명시대는 인공지능, 사물 인터넷, 빅데이터 등이 가장 핵심적인 기술로서 이러한 기술이 효율적으로 운영되기 위해서는 정보통신망이 기반이 되어야 한다. 이러한 시기에 정보통신망에 대해 공부한다는 것은 상당히 시기적절하고도 필수적이라고 판단된다. 정보통신망은 컴퓨터에 의한 정보 처리 기술과 다양하고 신속한 통신 기술이 상호보완적으로 접목되어 크게 발전하고 있다. 즉, 정보통신망의 기반기술은 컴퓨터의 정보처리기술, 데이터 통신 기술, 네트워크 기술 등이다. 이러한 정보통신망은 자원의 공유, 신뢰도의 향상, 분산처리 등의 장점을 갖는 반면, 현재로는 운영의 복잡성, 통신정보보호의 문제 등을 단점으로 안고 있다. 본 강의는 컴퓨터의 정보처리 기술보다, 데이터 통신 및 네트워크 기술에 초점을 맞추어 진행된다. 즉, 데이터 통신의 기초적인 지식과 이론 그리고 데이터 통신의 중요한 기능들을 다루고 있으며, 개방형 시스템을 위한 OSI모델과 함께 TCP/IP 프로토콜, 더 나아가 근거리 통신망과 정보보호에 대해서도 설명하고 있다. |
| 4-1 | 소프트웨어공학 | 소프트웨어 공학의 기본 원리와 이론을 소개하고 소프트웨어 공학 과정을 단계별로 나누어 학습한다. 프로젝트 계획, 요구 분석, 설계, 테스트, 품질 보증 및 유지보수 작업에 관해 살펴본다. 또 객체지향 분석과 설계를 위한 방법에 관해 학습하고 통합 모델링 언어인 UML을 사용하여 효과적으로 모델을 작성하는 방법을 학습한다. 본 교과목의 목적은 실제 프로젝트를 수행할 때 소프트웨어 공학의 제반 지식을 응용할 수 있는 실용적 적응력을 제공하는 것이다. |
| 4-1 | 모바일앱프로그래밍 | 현대 생활에서 스마트폰이 차지하는 비중이 커져가면서 컴퓨팅 환경의 일부분으로 자리잡고 있다. 특히 이동통신망을 기반으로 하는 다양한 서비스는 다양한 수요를 창줄하고 있으며 새로운 IT 분야가 되고 있다. 따라서 본 교과목에서는 안드로이드 운영체제를 기반으로 하여 다양한 서비스를 제공할 수 있는 프로그래밍 환경의 다양성을 이해하고 이를 스스로 구축할 수 있는 능력을 키우는 것을 모바일 서비스 프로그래밍의 목표로 한다. |
| 4-1 | 컴퓨터보안 | 본 과목은 정보화 사회에서 컴퓨터 보안, 나아가서는 정보보호의 전반적인 내용을 다룬다. 정보보호의 의미와 역사를 포함하여 정보보호를 위한 이론적·기술적인 배경인 암호이론과 그 응용, 그리고 최근의 기술 동향과 발전 방향에 대한 내용을 다룬다. |
| 4-2 | 딥러닝 | |
| 4-2 | 컴파일러구성 | 이 과목은 시스템 프로그램의 기본이라 할 수 있는 컴파일러에 관한 내용을 서술하였다. 이 과목을 공부하기 전에 학생들은 컴퓨터과학과에 개설된 모든 프로그래밍 언어들을 충분히 실습하고 이해하고 있어야 한다. 강의는 교재의 내용을 중심으로 이루어지는데 주 내용은 컴파일러를 효과적으로 구성하기 위한 제반 사항들이다. 먼저 1장에서는 컴파일러의 논리적인 기능들인 어휘분석, 구문분석, 의미분석, 중간코드생성, 최적화, 목적코드생성 등의 기본 개념들에 대해서 소개한다. 그리고 다음 장부터 이들 각각의 논리적인 단계들을 순차적으로 자세히 학습하게 된다. 강의와 교재에서 소개된 컴파일러 이론들은 관련된 예제들을 통하여 보다 쉽고 확실하게 이해하게 될 것이다. 또한 어휘분석기와 구문분석기를 구현 해주는 소프트웨어로서 LEX(5강), YACC(13강) 등을 소개하였다. 이들은 PC에서 실습이 가능하다. 다양한 예제 풀이와 실습을 통해서 컴파일러 구성을 확실히 이해하는 것을 학습목표로 한다. |
| 4-2 | 클라우드 컴퓨팅 | 다양한 유형의 컴퓨터 서버 도입 및 증설/감축에 대한 요구가 증가함에 따라 대규모 데이터 센터의 집중화된 서버를 기반으로 인터넷상에서 필요에 따라 원하는 만큼 컴퓨팅 환경을 제공할 수 있는 클라우드 컴퓨팅 기술의 중요성이 대두되고 있다. [클라우드 컴퓨팅] 과목은 서버 가상화, 분산 처리, 서비스 프로비저닝 및 멀티 테넌시 기술 등 클라우드 컴퓨팅에 필요한 이론 및 기술에 대하여 다루고 클라우드 서비스화를 위한 서비스 모델, 배포 모델, 아키텍처 및 보안과 프라이버시에 대하여 학습한다. 또한 실제 사용되고 있는 클라우드 서비스를 사용하여 여러 유형의 서비스를 구성해 봄으로서 실무적 감각을 위한 기초를 마련한다. 이 과목은 학습자가 자료구조, 운영체제, 네트워크 및 데이터베이스 시스템 관련 과목에 대한 기본 개념을 이미 알고 있는 것을 전제로 한다. |
