1학년 1학기 전공선택 소프트웨어의이해(UNDERSTANDING SOFTWARE) 본 교과목은 파이썬 프로그래밍 언어에 대한 기본 지식을 공부하는 과목으로, 컴퓨터과학과 데이터사이언스의 전공 교과모글 이해하는데 필수적인 기초 교과목이다. 본 교과목에는 변수와 수식, 반복문과 조건문, 터틀그래픽과 함수, 예외처리와 오류, 그래픽스 기초 내용과 프로그래밍 실습이 포함되어 있다. 전공선택 데이터통계입문(INTRODUCTION TODATA STATISTICS) 데이터 분석을 위한 통계 기본 이론을 익힌다. 기술통계 기법을 통한 데이터 분석 자료의 수집 및 정리, 확률 및 확률 분포를 학습한다. 또한 추리통계를 통한 추정 및 검정, 분산분석, 회귀 분석을 학습한다. 2학기 전공선택 컴퓨터수학(MATHEMATICS TO FORCOMPUTER SCIENCE) 컴퓨터과학의 이론적 기초가 되는 집합, 관계 및 함수, 조함, 그래프와 트리, 대수이론, 오토마타 등의 개념과 응용을 배운다. 전공선택 파이썬데이터분석(PYTHON DATAANALYSIS) 데이터분석 및 데이터모델링에 필수적으로 활용되는 NumPy, SciPy, Pandas, Matplotlib, Scikit-learn 및 Tensorflow 등의 최신 파이썬 라이브러리들을 소개한다. 이를 습득하기 위한 강의와 Real 데이터를 다루는 부분적인 실습으로 교과목을 진행한다. 2학년 1학기 전공필수 데이터사이언스개론(INTRODUCTION TODATA SCIENCE) 빅데이터 시대의 요구에 맞게 부상하고 있는 새로운 학제간 연구 분야인 데이터 사이언스의 개요를 다루는 교과목이다. 이 교과목을 통해 데이터의 통계, 데이터 시각화, 데이터의 분석 등의 문제 해결을 위한 여러 연구 도구나 기술들을 익히게 될 것이다. 본 교과목은 데이터 수집부터 분석에 이르는 과정, 데이터를 다루는 도구들, 통계적 모델과 기계 학습, 그리고 실생활 사례들을 중점적으로 다룰 것이다. 전공필수 자료구조(DATA STRUCTURES) 데이터 및 정보의 효과적 처리를 위한 구성 방법과 분석, 추상적 자료형의 표현 및 이용, 이들을 활용하는 기본적인 알고리즘 등을 공부한다. 전공선택 인공지능기초(INTRODUCTION TOARTIFICIALINTELLIGENCE) 인공지능이란 컴퓨터를 인간과 같은 지능을 갖을 수 있도록 하는 학문이다. 지식의 여러 표현방법, 다양한 탐색방법, 경험을 기초로한 문제해결의 패러다임, 전문가 System, Planning, Running 등을 공부한다. 2학기 전공선택 자바프로그래밍(JAVA PROGRAMMING) 응용 소프트웨어 개발에 적합한 언어 및 개발 환경의 습득과 소프트웨어 개발 훈련을 목표로 한다. 전공선택 리눅스시스템(LINUX SYSTEM) 데이터 처리와 응용을 위한 시스템을 파일 및 프로세스를 중심으로 학습한다. 파일의 기본 개념 및 사용법, 파일 구조, 파일 입출력, 프로세스 등을 Unix 시스템을 중심으로 공부하며 특히 파일을 이용한 대량의 데이터의 체계적 조직과 효율적 처리 기술을 습득한다. 전공선택 AI수학(AI MATHEMATICS) 본 교과목에서는 인공지능을 공부하는데 필요한 수학적 지식들을 배운다.인공지능에 활용되는 최대우도추정, 베이시안 추론등의 확률모델을 학습한다. 또한 벡터, 행렬의 기본 연산을 익히고 선형대수학의 원리를 습득하여 서포트 벡터 머신, 특잇값 분해 등의 알고리즘을 이해한다 전공선택 오픈소스프로그래밍 본 교과목에서는 오픈 소스 소프트웨어에 대한 이해, 개발도구, 개발시스템, 오픈 소스 프로그래밍을 학습한다. 학생들은 본 교과를 통해 오픈 소스 소프트웨어의 이해, Git, Github, 리눅스, Shell 프로그래밍, vi 편집기, 오픈 소스 프로그래밍을 학습한다. 3학년 1학기 전공필수 운영체제(OPERATING SYSTEM) Computer System의 구조와 조직을 이해하고 Operating System의 기초와 설계능력을 배양함으로써 Hardware Rosource의 효율적인 운영과 사용자에게 최대의 편의를 줄 수 있는 최적의 Operating System의 구성 방안을 연구한다. 전공필수 데이터마이닝및분석(DATA MINING ANDANALYSIS) 데이터로부터 숨겨진 정보를 자동으로 추출하는 기술인 데이터마이닝의 기본 개념과 관련 분석 기법들을 학습한다. 데이터마이닝의 기본 문제인 연관규칙분석, 군집화, 분류, 이상치발견, 회귀분석 등에 대한 개념 및 관련 알고리즘들을 공부하고, 이들을 통해 데이터 분석을 위한 기반 지식들을 습득한다. R과 같은 프로그램을 사용하여 실제로 데이터마이닝 기법을 적용하는 방법도 학습한다. 전공선택 빅데이터처리(BIG DATAPROCESSING) 대용량, 초고속, 다양성 등의 특징을 가지는 빅데이터를 처리하기 위한 개념, 이론, 기법, 플랫폼 등을 학습한다. 빅데이터의 저장을 위한 분산 저장 시스템, 빅데이터의 검색을 위한 NoSQL 데이터베이스, 빅데이터의 처리를 위한 MapReduce 등의 프로그래밍 기법들을 살펴보고, 빅데이터 처리를 위한 대표적 플랫폼인 Hadoop, Spark 등을 학습한다. 이와 함께 데이터마이닝과 같은 데이터분석 기술들이 이들 시스템에서 어떻게 수행되는지 알아본다. 전공선택 데이터시각화(DATA VISUALIZATION) 데이터 시각화는 빅데이터 기술의 중요한 영역으로, 데이터를 이해하고 의사결정 인사이트를 얻는데 필수적이다. 본 과목에서는 데이터 시각화 표현 기법을 공부하며, 파이썬 matplotlib 라이브러리, 구글 데이터 스튜디오, MS Power BI, Tableau 등 대표적인 오픈 소스 시각화 툴을 소개하고 활용 방법을 학습한다. 2학기 전공필수 알고리즘(ALGORITHMS) 계산문제와 알고리즘의 개념, 알고리즘 표현 및 분석, 알고리즘 작성 기법과 정렬 및 검색, 그래프, 기하, 수리 등에의 응용, 병렬 알고리즘, 계산문제의 컴플렉서티 이론과 리덕션 등을 공부한다. 전공선택 데이터베이스설계와질의(DATABASE DESIGN AND QUERY LANGUAGE) 데이터베이스 설계의 요구 사항 분석과 논리적 설계, 대표적인 데이터베이스 모델링 기법인 ER(Entity Relationship) 모델을 배운다. ER 모델을 관계형 모델로 바꾸는 법을 배우며, 관계형 데이터베이스 질의를 위한 관계 대수와 대표적 상용 질의어인 SQL 을 학습하고, 데이터베이스 응용 프로그래밍 기법에 대한 기본 지식을 습득한다. 전공선택 빅데이터응용프로그래밍(BIG DATAPROGRAMMING) 빅데이터의 수집, 적재, 처리, 분석과 같은 빅데이터 전 주기 시스템의 이론과 실무지식을 습득하기 위하여 다양한 빅데이터 소프트웨어 플랫폼들과 아키텍처를 배운다. 그리고 단계적 파일럿 프로젝트의 구축 실습을 통해 빅데이터 기술의 이해와 실전 활용능력을 습득한다. 전공선택 딥러닝(DEEP LEARNING) 딥 러닝은 머신 러닝의 한 방법으로서 인공 신경망의 층을 깊게 쌓아올려 데이터를 학습하는 방식을 말한다. 컨볼루션 신경망, 순환신경망, 생성 모델 등 다양한 딥러닝 모델들과 이를 최적화 하는 방법들에 대해 학습하고 텐서플로우 파이토치 등 딥러닝 구축 라이브러리를 통하여 단계적 구축 방법을 학습한다. 3, 4학년 2학기 전공선택 클라우드시스템(CLOUD SYSTEM) 클라우드 시스템 기술과 컴퓨팅 패러다임에 대해 학습한다. 클라우드 시스템을 구성하는 분산 시스템의 기 반 기술 및 시스템 모델, 미들웨어 서비스, 클러스터 컴퓨팅, 가상화 기술, 클라우드 프로그래밍 환경, SOA 등의 주요 내용을 살펴보고 이를 바탕으로 한 분산 시스템 설계 및 관리기법에 대한 내용과 최신 기 술 동향을 다룬다. 4학년 1학기 전공선택 DS융합특강(SPECIAL TOPICS INDATA SCIENCE) 데이터사이언스 분야의 최신 주제들을 특강 형식으로 소개한다. 전공선택 데이터종합분석(캡스톤디자인)(CAPSTONE DESIGN) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 데이터베이스프로그래밍(DATABASE PROGRAMMING) 데이터베이스 이론과 프로그래밍 기술을 이용한 데이터베이스 활용 기법을 습득한다. 이를 위해 고급 질의 기법, 데이터베이스를 활용한 프로그래밍 기법을 습득한다. 더 나아가 이를 적용한 실전 프로젝트를 통해 그 활용 기법을 확고히 정립한다. 데이터베이스활용 기법을 심도 있게 익힘으로써 과목을 이수한 후에는 데이터베이스 활용 개발자가 되도록 하는데 그 목표가 있다. 전공선택 데이터사이언스통계분석(STATISTICAL ANALYSIS OF DATA SCIENCE) 기초적인 통계학 외에 데이터 분석에 필요한 다양한 통계 분석 기법들을 학습한다. 회귀분석, 시계열분석, 탐색적분석, 범주형 자료분석, 다변량 분석 등 여러 통계 기반 분석 기법들을 폭넓게 학습한다. 전공선택 자연어처리(NATURAL LANGUAGEPROCESSING) 본 교과목에서는 자연어처리에 필요한 기본 적인 수학, 텍스트전처리, 어휘, 구문, 의미 분석 등의 핵심적인 원리를 배우고, 이를 이용하여 다양한 자연어처리 응용시스템과 딥러닝 기반의 자연어처리 방법들을 배운다. 2학기 전공선택 사물인터넷시스템(INTERNET OF THINGSSYSTEM) 사물인터넷이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 의미한다. 본 교과목은 이러한 사물 인터넷의 기초와 특징을 이해하고 최신 동향을 살펴본다. 또한 사물인터넷 기반 시스템 설계용 시뮬레이션 툴을 사용하여 실습이 이루어지며, 이러한 실습을 통해 사물 인터넷 기반 시스템을 설계하는 기본 기술을 습득한다. 전공선택 데이터종합분석(캡스톤디자인)(CAPSTONE DESIGN) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 영상정보처리(IMAGE PROCESSING) 다양한 종류의 영상처리 응용을 위한 이론적인 내용과 이를 프로그램으로 구현하는 방법을 배운다. 영상처리 응용은 의료 영상의 해석, 로봇의 자동 주행 및 지능개선을 위한 시각 처리, 생체 정보 인식, 핸드폰 카메라를 이용한 응용, PDA/핸드폰 자동 문자 인식, 이미지 보안을 위한 Watermarking 등 실생활에 필요한 첨단 시스템에 응용되고 있다. 따라서 본 교과목의 구성은 영상처리 분야에 필요한 이론적인 내용을 배우는 강의식 수업과 이를 프로그램으로 구현하고 응용, 설계하는 PBL 수업을 함께 진행한다. 전공선택 DS응용실습(DATA SCIENCE LAB) 데이터 사이언스 관련 응용 문제들을 오픈 소스를 활용하여 해결하는 실습을 진행한다. 전공선택 머신러닝(MACHINE LEARNING) 머신러닝은 인공지능의 중요 분야로서 4차 산업혁명의 핵심 기술이다. 본 교과목에서는 머신러닝의 기초가 되는 선형대수, 확률, 최적화 등의 수학 이론을 배우고, 다층 및 심층 신경망의 구조와 학습 이론을 배운다. 이를 기반으로 CNN, GAN, RNN 등의 최신 모델을 배우고 이를 활용한 다양한 적용 예를 함께 학습한다. 전공선택 바이오인포메틱스개론(INTRODUCTION TOBIOINFORMATICS) Bioinformatics 학문에 대한 전반적인 개념을 다룬다. Genomics, Epigenomics 등의 생물학적 배경지식과 함께 생명정보 서열 정렬(sequence alignment), 서열 패턴 검색(motif search), 등의 Bioinformatics 관련 알고리즘에 대한 기본 개념들과 Transcriptome 분석 등 생명정보 분석 방법들을 습득한다. * 위 교과과정은 연차별로 확정될 예정이며 변경될 수 있음. 학년 학기 구분 교과목명(영문) 교과목 소개 1학년 1학기 전공선택 소프트웨어의이해(UNDERSTANDING SOFTWARE) 컴퓨터과학전공의 기초설계과목으로 창의적 공학설계의 기법을 이해하고 배운다. 주어진 제약조건 내에서 목적달성을 위한 공학설계와 프로젝트 기반의 접근방법을 통해, 팀별 작업과 고객지향적 설계 프로젝트를 효과적으로 수행하기 위한 개념설계 방법 및 프로젝트 관리도구들을 응용하는 방법을 학습한다. 또한, 설계 프로젝트 결과를 보고하는 수단을 체계화하며, 팀의 행동과 동적 활동에 유용한 통찰력을 부여하고, 공학실천에 있어서의 윤리에 대해서도 공부한다. 전공선택 데이터통계입문 데이터 분석을 위한 통계 기본 이론을 익힌다. 기술통계 기법을 통한 데이터 분석 자료의 수집 및 정리, 확률 및 확률 분포를 학습한다. 또한 추리통계를 통한 추정 및 검정, 분산분석, 회귀 분석을 학습한다. 전공선택 소프트웨어진로탐색 소프트웨어학부 소속 학생 및 부전공 학생들에게 진로교과목을 통한 전공 학문의 소개, 경력개발을 위한 활동의 이해와 정보 습득, 소프트웨어 전문 직종종사자 및 동문 선배의 특강을 통한 직무 및 직업 전망 이해, 직업적성 및 진로 관련 검사 등을 본인의 적성을 정확히 파악하여 졸업 후 진로 선택에 도움을 주기 위한 교과목이다. 2학기 전공선택 컴퓨터수학 컴퓨터과학의 이론적 기초가 되는 집합, 관계 및 함수, 조함, 그래프와 트리, 대수이론, 오토마타 등의 개념과 응용을 배운다. 전공선택 파이썬데이터분석 데이터분석 및 데이터모델링에 필수적으로 활용되는 NumPy, SciPy, Pandas, Matplotlib, Scikit-learn 및 Tensorflow 등의 최신 파이썬 라이브러리들을 소개한다. 이를 습득하기 위한 강의와 Real 데이터를 다루는 부분적인 실습으로 교과목을 진행한다. 2학년 1학기 전공필수 데이터사이언스개론 빅데이터 시대의 요구에 맞게 부상하고 있는 새로운 학제간 연구 분야인 데이터 사이언스의 개요를 다루는 교과목이다. 이 교과목을 통해 데이터의 통계, 데이터 시각화, 데이터의 분석 등의 문제 해결을 위한 여러 연구 도구나 기술들을 익히게 될 것이다. 본 교과목은 데이터 수집부터 분석에 이르는 과정, 데이터를 다루는 도구들, 통계적 모델과 기계 학습, 그리고 실생활 사례들을 중점적으로 다룰 것이다. 전공필수 자료구조(DATA STRUCTURES) 데이터 및 정보의 효과적 처리를 위한 구성 방법과 분석, 추상적 자료형의 표현 및 이용, 이들을 활용하는 기본적인 알고리즘 등을 공부한다. 전공선택 인공지능기초 인공지능이란 컴퓨터를 인간과 같은 지능을 갖을 수 있도록 하는 학문이다. 지식의 여러 표현방법, 다양한 탐색방법, 경험을 기초로한 문제해결의 패러다임, 전문가 System, Planning, Running 등을 공부한다. 2학기 전공선택 자바프로그래밍(JAVA PROGRAMMING) 응용 소프트웨어 개발에 적합한 언어 및 개발 환경의 습득과 소프트웨어 개발 훈련을 목표로 한다. 전공선택 리눅스시스템(LINUX SYSTEM) 데이터 처리와 응용을 위한 시스템을 파일 및 프로세스를 중심으로 학습한다. 파일의 기본 개념 및 사용법, 파일 구조, 파일 입출력, 프로세스 등을 Unix 시스템을 중심으로 공부하며 특히 파일을 이용한 대량의 데이터의 체계적 조직과 효율적 처리 기술을 습득한다. 전공선택 AI수학 전공필수 데이터마이닝분석 데이터로부터 숨겨진 정보를 자동으로 추출하는 기술인 데이터마이닝의 기본 개념과 관련 분석 기법들을 학습한다. 데이터마이닝의 기본 문제인 연관규칙분석, 군집화, 분류, 이상치발견, 회귀분석 등에 대한 개념 및 관련 알고리즘들을 공부하고, 이들을 통해 데이터 분석을 위한 기반 지식들을 습득한다. R과 같은 프로그램을 사용하여 실제로 데이터마이닝 기법을 적용하는 방법도 학습한다. 3학년 1학기 전공필수 운영체제 Computer System의 구조와 조직을 이해하고 Operating System의 기초와 설계능력을 배양함으로써 Hardware Rosource의 효율적인 운영과 사용자에게 최대의 편의를 줄 수 있는 최적의 Operating System의 구성 방안을 연구한다. 전공선택 빅데이터처리 대용량, 초고속, 다양성 등의 특징을 가지는 빅데이터를 처리하기 위한 개념, 이론, 기법, 플랫폼 등을 학습한다. 빅데이터의 저장을 위한 분산 저장 시스템, 빅데이터의 검색을 위한 NoSQL 데이터베이스, 빅데이터의 처리를 위한 MapReduce 등의 프로그래밍 기법들을 살펴보고, 빅데이터 처리를 위한 대표적 플랫폼인 Hadoop, Spark 등을 학습한다. 이와 함께 데이터마이닝과 같은 데이터분석 기술들이 이들 시스템에서 어떻게 수행되는지 알아본다. 전공선택 데이터시각화 전공선택 머신러닝 머신러닝은 인공지능의 중요 분야로서 4차 산업혁명의 핵심 기술이다. 본 교과목에서는 머신러닝의 기초가 되는 선형대수, 확률, 최적화 등의 수학 이론을 배우고, 다층 및 심층 신경망의 구조와 학습 이론을 배운다. 이를 기반으로 CNN, GAN, RNN 등의 최신 모델을 배우고 이를 활용한 다양한 적용 예를 함께 학습한다. 2학기 전공필수 알고리즘(ALGORITHMS) 계산문제와 알고리즘의 개념, 알고리즘 표현 및 분석, 알고리즘 작성 기법과 정렬 및 검색, 그래프, 기하, 수리 등에의 응용, 병렬 알고리즘, 계산문제의 컴플렉서티 이론과 리덕션 등을 공부한다. 전공선택 데이터베이스설계와질의(DATABASE DESIGN AND QUERY LANGUAGE) 데이터베이스 설계의 요구 사항 분석과 논리적 설계, 대표적인 데이터베이스 모델링 기법인 ER(Entity Relationship) 모델을 배운다. ER 모델을 관계형 모델로 바꾸는 법을 배우며, 관계형 데이터베이스 질의를 위한 관계 대수와 대표적 상용 질의어인 SQL 을 학습하고, 데이터베이스 응용 프로그래밍 기법에 대한 기본 지식을 습득한다. 전공선택 빅데이터응용프로그래밍 전공선택 딥러닝 4학년 1학기 전공선택 DS융합특강 데이터사이언스 분야의 최신 주제들을 특강 형식으로 소개한다. 전공선택 데이터종합분석(캡스톤디자인) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 클라우드시스템 클라우드 시스템 기술과 컴퓨팅 패러다임에 대해 학습한다. 클라우드 시스템을 구성하는 분산 시스템의 기 반 기술 및 시스템 모델, 미들웨어 서비스, 클러스터 컴퓨팅, 가상화 기술, 클라우드 프로그래밍 환경, SOA 등의 주요 내용을 살펴보고 이를 바탕으로 한 분산 시스템 설계 및 관리기법에 대한 내용과 최신 기 술 동향을 다룬다. 전공선택 데이터베이스프로그래밍(DATABASE PROGRAMMING) 데이터베이스 이론과 프로그래밍 기술을 이용한 데이터베이스 활용 기법을 습득한다. 이를 위해 고급 질의 기법, 데이터베이스를 활용한 프로그래밍 기법을 습득한다. 더 나아가 이를 적용한 실전 프로젝트를 통해 그 활용 기법을 확고히 정립한다. 데이터베이스활용 기법을 심도 있게 익힘으로써 과목을 이수한 후에는 데이터베이스 활용 개발자가 되도록 하는데 그 목표가 있다. 전공선택 데이터사이언스통계분석 전공선택 자연어처리 2학기 전공선택 사물인터넷시스템 사물인터넷이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 의미한다. 본 교과목은 이러한 사물 인터넷의 기초와 특징을 이해하고 최신 동향을 살펴본다. 또한 사물인터넷 기반 시스템 설계용 시뮬레이션 툴을 사용하여 실습이 이루어지며, 이러한 실습을 통해 사물 인터넷 기반 시스템을 설계하는 기본 기술을 습득한다. 전공선택 데이터종합분석(캡스톤디자인) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 영상정보처리(IMAGE PROCESSING) 다양한 종류의 영상처리 응용을 위한 이론적인 내용과 이를 프로그램으로 구현하는 방법을 배운다. 영상처리 응용은 의료 영상의 해석, 로봇의 자동 주행 및 지능개선을 위한 시각 처리, 생체 정보 인식, 핸드폰 카메라를 이용한 응용, PDA/핸드폰 자동 문자 인식, 이미지 보안을 위한 Watermarking 등 실생활에 필요한 첨단 시스템에 응용되고 있다. 따라서 본 교과목의 구성은 영상처리 분야에 필요한 이론적인 내용을 배우는 강의식 수업과 이를 프로그램으로 구현하고 응용, 설계하는 PBL 수업을 함께 진행한다. 전공선택 DS응용실습 전공선택 바이오인포메틱스개론 Bioinformatics 학문에 대한 전반적인 개념을 다룬다. Genomics, Epigenomics 등의 생물학적 배경지식과 함께 생명정보 서열 정렬(sequence alignment), 서열 패턴 검색(motif search), 등의 Bioinformatics 관련 알고리즘에 대한 기본 개념들과 Transcriptome 분석 등 생명정보 분석 방법들을 습득한다. 1학년 1학기 전공선택 소프트웨어의이해 (UNDERSTANDING SOFTWARE) 컴퓨터과학전공의 기초설계과목으로 창의적 공학설계의 기법을 이해하고 배운다. 주어진 제약조건 내에서 목적달성을 위한 공학설계와 프로젝트 기반의 접근방법을 통해, 팀별 작업과 고객지향적 설계 프로젝트를 효과적으로 수행하기 위한 개념설계 방법 및 프로젝트 관리도구들을 응용하는 방법을 학습한다. 또한, 설계 프로젝트 결과를 보고하는 수단을 체계화하며, 팀의 행동과 동적 활동에 유용한 통찰력을 부여하고, 공학실천에 있어서의 윤리에 대해서도 공부한다. 전공선택 데이터통계입문 데이터 분석을 위한 통계 기본 이론을 익힌다. 기술통계 기법을 통한 데이터 분석 자료의 수집 및 정리, 확률 및 확률 분포를 학습한다. 또한 추리통계를 통한 추정 및 검정, 분산분석, 회귀 분석을 학습한다. 전공선택 소프트웨어진로탐색 소프트웨어학부 소속 학생 및 부전공 학생들에게 진로교과목을 통한 전공 학문의 소개, 경력개발을 위한 활동의 이해와 정보 습득, 소프트웨어 전문 직종종사자 및 동문 선배의 특강을 통한 직무 및 직업 전망 이해, 직업적성 및 진로 관련 검사 등을 본인의 적성을 정확히 파악하여 졸업 후 진로 선택에 도움을 주기 위한 교과목이다. 2학기 전공선택 컴퓨터수학 컴퓨터과학의 이론적 기초가 되는 집합, 관계 및 함수, 조함, 그래프와 트리, 대수이론, 오토마타 등의 개념과 응용을 배운다. 전공선택 파이썬데이터분석 데이터분석 및 데이터모델링에 필수적으로 활용되는 NumPy, SciPy, Pandas, Matplotlib, Scikit-learn 및 Tensorflow 등의 최신 파이썬 라이브러리들을 소개한다. 이를 습득하기 위한 강의와 Real 데이터를 다루는 부분적인 실습으로 교과목을 진행한다. 2학년 1학기 전공필수 데이터사이언스개론 빅데이터 시대의 요구에 맞게 부상하고 있는 새로운 학제간 연구 분야인 데이터 사이언스의 개요를 다루는 교과목이다. 이 교과목을 통해 데이터의 통계, 데이터 시각화, 데이터의 분석 등의 문제 해결을 위한 여러 연구 도구나 기술들을 익히게 될 것이다. 본 교과목은 데이터 수집부터 분석에 이르는 과정, 데이터를 다루는 도구들, 통계적 모델과 기계 학습, 그리고 실생활 사례들을 중점적으로 다룰 것이다. 전공필수 자료구조 (DATA STRUCTURES) 데이터 및 정보의 효과적 처리를 위한 구성 방법과 분석, 추상적 자료형의 표현 및 이용, 이들을 활용하는 기본적인 알고리즘 등을 공부한다. 전공선택 인공지능기초 인공지능이란 컴퓨터를 인간과 같은 지능을 갖을 수 있도록 하는 학문이다. 지식의 여러 표현방법, 다양한 탐색방법, 경험을 기초로한 문제해결의 패러다임, 전문가 System, Planning, Running 등을 공부한다. 전공필수 데이터마이닝분석 데이터로부터 숨겨진 정보를 자동으로 추출하는 기술인 데이터마이닝의 기본 개념과 관련 분석 기법들을 학습한다. 데이터마이닝의 기본 문제인 연관규칙분석, 군집화, 분류, 이상치발견, 회귀분석 등에 대한 개념 및 관련 알고리즘들을 공부하고, 이들을 통해 데이터 분석을 위한 기반 지식들을 습득한다. R과 같은 프로그램을 사용하여 실제로 데이터마이닝 기법을 적용하는 방법도 학습한다. 2학기 전공선택 자바프로그래밍 (JAVA PROGRAMMING) 응용 소프트웨어 개발에 적합한 언어 및 개발 환경의 습득과 소프트웨어 개발 훈련을 목표로 한다. 전공선택 리눅스시스템 (LINUX SYSTEM) 데이터 처리와 응용을 위한 시스템을 파일 및 프로세스를 중심으로 학습한다. 파일의 기본 개념 및 사용법, 파일 구조, 파일 입출력, 프로세스 등을 Unix 시스템을 중심으로 공부하며 특히 파일을 이용한 대량의 데이터의 체계적 조직과 효율적 처리 기술을 습득한다. 전공선택 AI수학 3학년 1학기 전공필수 운영체제 Computer System의 구조와 조직을 이해하고 Operating System의 기초와 설계능력을 배양함으로써 Hardware Rosource의 효율적인 운영과 사용자에게 최대의 편의를 줄 수 있는 최적의 Operating System의 구성 방안을 연구한다. 전공선택 빅데이터처리 대용량, 초고속, 다양성 등의 특징을 가지는 빅데이터를 처리하기 위한 개념, 이론, 기법, 플랫폼 등을 학습한다. 빅데이터의 저장을 위한 분산 저장 시스템, 빅데이터의 검색을 위한 NoSQL 데이터베이스, 빅데이터의 처리를 위한 MapReduce 등의 프로그래밍 기법들을 살펴보고, 빅데이터 처리를 위한 대표적 플랫폼인 Hadoop, Spark 등을 학습한다. 이와 함께 데이터마이닝과 같은 데이터분석 기술들이 이들 시스템에서 어떻게 수행되는지 알아본다. 전공선택 데이터시각화 전공선택 머신러닝 머신러닝은 인공지능의 중요 분야로서 4차 산업혁명의 핵심 기술이다. 본 교과목에서는 머신러닝의 기초가 되는 선형대수, 확률, 최적화 등의 수학 이론을 배우고, 다층 및 심층 신경망의 구조와 학습 이론을 배운다. 이를 기반으로 CNN, GAN, RNN 등의 최신 모델을 배우고 이를 활용한 다양한 적용 예를 함께 학습한다. 2학기 전공필수 알고리즘 (ALGORITHMS) 계산문제와 알고리즘의 개념, 알고리즘 표현 및 분석, 알고리즘 작성 기법과 정렬 및 검색, 그래프, 기하, 수리 등에의 응용, 병렬 알고리즘, 계산문제의 컴플렉서티 이론과 리덕션 등을 공부한다. 전공선택 데이터베이스설계와질의 (DATABASE DESIGN AND QUERY LANGUAGE) 데이터베이스 설계의 요구 사항 분석과 논리적 설계, 대표적인 데이터베이스 모델링 기법인 ER(Entity Relationship) 모델을 배운다. ER 모델을 관계형 모델로 바꾸는 법을 배우며, 관계형 데이터베이스 질의를 위한 관계 대수와 대표적 상용 질의어인 SQL 을 학습하고, 데이터베이스 응용 프로그래밍 기법에 대한 기본 지식을 습득한다. 전공선택 빅데이터응용프로그래밍 전공선택 딥러닝 4학년 1학기 전공선택 DS융합특강 데이터사이언스 분야의 최신 주제들을 특강 형식으로 소개한다. 전공선택 데이터종합분석 (캡스톤디자인) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 클라우드시스템 클라우드 시스템 기술과 컴퓨팅 패러다임에 대해 학습한다. 클라우드 시스템을 구성하는 분산 시스템의 기 반 기술 및 시스템 모델, 미들웨어 서비스, 클러스터 컴퓨팅, 가상화 기술, 클라우드 프로그래밍 환경, SOA 등의 주요 내용을 살펴보고 이를 바탕으로 한 분산 시스템 설계 및 관리기법에 대한 내용과 최신 기 술 동향을 다룬다. 전공선택 데이터베이스프로그래밍 (DATABASE PROGRAMMING) 데이터베이스 이론과 프로그래밍 기술을 이용한 데이터베이스 활용 기법을 습득한다. 이를 위해 고급 질의 기법, 데이터베이스를 활용한 프로그래밍 기법을 습득한다. 더 나아가 이를 적용한 실전 프로젝트를 통해 그 활용 기법을 확고히 정립한다. 데이터베이스활용 기법을 심도 있게 익힘으로써 과목을 이수한 후에는 데이터베이스 활용 개발자가 되도록 하는데 그 목표가 있다. 전공선택 데이터사이언스통계분석 전공선택 자연어처리 2학기 전공선택 사물인터넷시스템 사물인터넷이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 의미한다. 본 교과목은 이러한 사물 인터넷의 기초와 특징을 이해하고 최신 동향을 살펴본다. 또한 사물인터넷 기반 시스템 설계용 시뮬레이션 툴을 사용하여 실습이 이루어지며, 이러한 실습을 통해 사물 인터넷 기반 시스템을 설계하는 기본 기술을 습득한다. 전공선택 데이터종합분석 (캡스톤디자인) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 전공선택 영상정보처리 (IMAGE PROCESSING) 다양한 종류의 영상처리 응용을 위한 이론적인 내용과 이를 프로그램으로 구현하는 방법을 배운다. 영상처리 응용은 의료 영상의 해석, 로봇의 자동 주행 및 지능개선을 위한 시각 처리, 생체 정보 인식, 핸드폰 카메라를 이용한 응용, PDA/핸드폰 자동 문자 인식, 이미지 보안을 위한 Watermarking 등 실생활에 필요한 첨단 시스템에 응용되고 있다. 따라서 본 교과목의 구성은 영상처리 분야에 필요한 이론적인 내용을 배우는 강의식 수업과 이를 프로그램으로 구현하고 응용, 설계하는 PBL 수업을 함께 진행한다. 전공선택 DS응용실습 전공선택 바이오인포메틱스개론 Bioinformatics 학문에 대한 전반적인 개념을 다룬다. Genomics, Epigenomics 등의 생물학적 배경지식과 함께 생명정보 서열 정렬(sequence alignment), 서열 패턴 검색(motif search), 등의 Bioinformatics 관련 알고리즘에 대한 기본 개념들과 Transcriptome 분석 등 생명정보 분석 방법들을 습득한다.