1학년 1학기 전공선택 소프트웨어의 이해 본 교과목은 컴퓨터과학전공의 기초설계과목으로 창의적 공학설계의 기법을 이해하고 배운다. 주어진 제약조건 내에서 목적달성을 위한 공학설계와 프로젝트 기반의 접근방법을 통해, 팀별 작업과 고객지향적 설계 프로젝트를 효과적으로 수행하기 위한 개념설계 방법및 프로젝트 관리도구들을 응용하는 방법을 학습한다. 또한, 설계 프로젝트 결과를 보고하는 수단을 체계화하며, 팀의 행동과 동적 활동에 유용한 통찰력을 부여하고, 공학실천에 있어서의 윤리에 대해서도 공부한다. 2학기 전공선택 컴퓨터수학 컴퓨터과학의 이론적 기초가 되는 집합, 관계 및 함수, 조함, 그래프와 트리, 대수이론, 오토마타 등의 개념과 응용을 배운다. 모든학기 전공선택 프로그래밍개론 프로그램의 설계와 작성, 컴파일러의 사용 방법과 프로그램의 실행, 프로그래밍 언어의 이해, 프로그램의 작성 연습 등을 다룬다. 교양핵심 통계학입문 경제학, 경영학을 비롯한 사회과학 및 수학, 통계학을 제외한 자연과학을 전공하는 학생들에게 기초적인 통계학 을 강의하는 교양과목이다. 추정 및 검정의 기본 개념을 공부하고, 상관분석, 단순회귀분석, 분산분석, 범주형 자 료분석 등 보편적인 자료분석 방법들이 소개된다. 교양핵심 컴퓨터과학의 이해 컴퓨터의 역사, 하드웨어 구성, 소프트웨어 설계방법, 운영체제의 기능 등을 공부하며 컴퓨터과학 분야의 최신동 향을 소개한다. 2학년 1학기 전공필수 자료구조 데이터 및 정보의 효과적 처리를 위한 구성 방법과 분석, 추상적 자료형의 표현 및 이용, 이들을 활용하는 기본적인 알고리즘 등을 공부한다. 전공필수 데이터사이언스개론 데이터 사이언스 개론은 빅데이터 시대의 요구에 맞게 부상하고 있는 새로운 학제간 연구 분야인 데이터 사이언스의 개요를 다루는 교과목이다. 이 교과목을 통해 데이터의 통계, 데이터 시각화, 데이터의 분석 등의 문제 해결을 위한 여러 연구 도구나 기술들을 익히게 될 것이다. 본 교과목은 데이터 수집부터 분석에 이르는 과정, 데이터를 다루는 도구들, 통계적 모델과 기계 학습, 그리고 실생활 사례들을 중점적으로 다룰 것이다. 전공선택 경영정보시스템 기업이 처한 무한경쟁의 상황에서 정보시스템의 성공적인 활용은 기업의 존폐와 직결되는 사항이다. 기업의 효율적 경영을 위해서는 관련 정보가 효과적으로 수집, 분석, 활용되어야 하는 것이다. 본 과목에서는 경영학 전공자가 기본적으로 알아야 하는 경영정보시스템 관련 사항을 종합적으로 다룬다. 즉, 경영의사결정 및 업무능력 향상을 위한 효과적인 정보관리를 위하여 경영정보시스템의 기본적 구조, 기본 기법 및 여러 하위시스템의 설계에 관한 연구를 한다. 2학기 전공선택 자바프로그래밍 응용 소프트웨어 개발에 적합한 언어 및 개발 환경의 습득과 소프트웨어 개발 훈련을 목표로 한다. 전공선택 컴퓨터그래픽스 본 과목은 컴퓨터 그래픽스의 기본 원리 및 응용을 배운다. 그래픽스의 개요, 그래픽스용 하드웨어, 개발 환경 등을 배우며, C언어 또는 OPEN GL Tool을 이용하여 2차원, 3차원 Object의 표현 및 변화, 투시 투영도의 작성, 은둔선 제거, 조명 효과 등을 배운다. 3학년 1학기 전공필수 운영체제 Computer System의 구조와 조직을 이해하고 Operating System의 기초와 설계능력을 배양함으로써 Hardware Resource의 효율적인 운영과 사용자에게 최대의 편의를 줄 수 있는 최적의 Operating System의 구성 방안을 연구한다. 전공선택 데이터마이닝 및 분석 데이터로부터 숨겨진 정보를 자동으로 추출하는 기술인 데이터마이닝의 기본 개념과 관련 분석 기법들을 학습한다. 데이터마이닝의 기본 문제인 연관규칙분석, 군집화, 분류, 이상치발견, 회귀분석 등에 대한 개념 및 관련 알고리즘들을 공부하고, 이들을 통해 데이터 분석을 위한 기반 지식들을 습득한다. R과 같은 프로그램을 사용하여 실제로 데이터마이닝 기법을 적용하는 방법도 학습한다. 전공선택 사용자인터페이스 본 과목에서는 사용자 인터페이스 설계를 위한 원리 및 개발 방법을 배우며, 이를 설계(design), 구현(implementation) 및 평가(evaluation) 관점에서 접근한다. 설계에서는 바람직한 사용자 인터페이스를 설계하기 위해서 가시성, 오류 방지, 그래픽 설계 방법 등의 설계 원칙과 인간의 지각 능력, 색상에 대한 인지능력, 인간의 오류 등 인간의 역량 및 한계를 함께 고려한다. 구현 부분에서는 사용자 인터페이스를 만드는 다양한 기술 및 도구들을 배우며, 사용자 인터페이스를 평가하는 다양한 평가 방법 및 측정 기술들을 배운다. 전공선택 소프트웨어분석 및 설계 소프트웨어 개발에 있어서 대상 시스템을 제대로 이해하고 분석하여 이를 바탕으로 소프트웨어를 설계하는 것은 매우 중요한 단계이다. 소프트웨어 개발을 위한 시스템 분석 및 설계(system analysis and design)는 현업에서 요구하는 내용을 조사, 분석하여 이를 개발하는 소프트웨어에 반영하기 위해 설계하는 과정을 이해하는 학문 분야이다. 이 교과목은 소프트웨어 개발을 위해 필요한 시스템 분석과 설계의 기본 개념과 기법들을 습득함을 목표로 한다. 이를 위해서 프로젝트 개시, 비즈니스 프로세스의 분석, 시스템 모델링 및 설계, 프로젝트 관리 등에 관해 이론과 실무를 중심으로 학습한다. 2학기 전공필수 알고리즘 계산문제와 알고리즘의 개념, 알고리즘 표현 및 분석, 알고리즘 작성 기법과 정렬 및 검색, 그래프, 기하, 수리 등에의 응용, 병렬 알고리즘, 계산문제의 컴플렉서티 이론과 리덕션 등을 공부한다. 전공선택 데이터베이스설계와 질의 데이터베이스 설계의 요구 사항 분석과 논리적 설계, 대표적인 데이터베이스 모델링 기법인 ER(Entity Relationship) 모델을 배운다. ER 모델을 관계형 모델로 바꾸는 법을 배우며, 관계형 데이터베이스 질의를 위한 관계 대수와 대표적 상용 질의어인 SQL 을 학습하고, 데이터베이스 응용 프로그래밍 기법에 대한 기본 지식을 습득한다. 전공선택 모바일소프트웨어 스마트폰, 태블릿과 같은 모바일 컴퓨팅 환경에 관련된 모바일 무선 통신, 응용 기술, 개발 플랫폼 및 개발 도구 등에 대한 기본적인 개념과 원리에 대하여 배우며, 프로그래밍 실습을 통하여 모바일 응용 프로그램을 설계하고 개발하는 지식을 습득한다. 전공선택 빅데이터처리 대용량, 초고속, 다양성 등의 특징을 가지는 빅데이터를 처리하기 위한 개념, 이론, 기법, 플랫폼 등을 학습한다. 빅데이터의 저장을 위한 분산 저장 시스템, 빅데이터의 검색을 위한 NoSQL 데이터베이스, 빅데이터의 처리를 위한 MapReduce 등의 프로그래밍 기법들을 살펴보고, 빅데이터 처리를 위한 대표적 플랫폼인 Hadoop, Spark 등을 학습한다. 이와 함께 데이터마이닝과 같은 데이터분석 기술들이 이들 시스템에서 어떻게 수행되는지 알아본다. 전공선택 인터렉티브미디어 사용자가 가상공간 매체와 실시간 피드백을 받으며 상호작용을 하는 가상현실(virtual reality), 또는 게임 형식 컨텐츠에 관련된 이론과 개발 기법, 그리고 소프트웨어의 활용법을 배운다. 3D 그래픽스 이론, 가상공간 모델링(modeling), 애니메이션 및 게임 제작 기법, 스크립팅(scripting) 언어 등을 학습하며 프로젝트 수행을 통하여 자신이 직접 컨텐츠를 설계하고 구현한다. 4학년 1학기 전공선택 인공지능 인공지능이란 컴퓨터를 인간과 같은 지능을 갖을 수 있도록 하는 학문이다. 지식의 여러 표현방법, 다양한 탐색방법, 경험을 기초로한 문제해결의 패러다임, 전문가 System, Planning, Running 등을 공부한다. 전공선택 소프트웨어융합특강 소프트웨어 융합분야의 최신 Topic들을 다룬다. 전공선택 바이오인포메틱스개론 Bioinformatics 학문에 대한 전반적인 개념을 다룬다. Genomics, Epigenomics 등의 생물학적 배경지식과 함께 생명정보 서열정렬(sequence alignment), 서열 패턴 검색(motif search), 등의 Bioinformatics 관련 알고리즘에 대한 기본 개념들과 Transcriptome 분석 등 생명정보 분석 방법들을 습득한다. 2학기 전공선택 스토리지시스템 "본 강의에서는 차세대 비휘발성 메모리 기반의 SSD (Solid State Drive)와 응용, 그리고 다양한 스토리지 시스템의 연구 분야를 다룬다. - 주제: 비휘발성 메모리의 종류와 특성, 비휘발성 메모리 기반의 SSD와 다양한 SSD 응용, Data deduplication, Hot and cold data identification, Storage tiering, SAN (Storage Area Network) /NAS (Network Attached Storage), 등 " 전공선택 네트워크보안 인터넷에서의 각종 보안 위협의 이해와 대처를 위한 방법을 학습하며, 암호학, 패스워드, 보안 관련 도구, 전자 우편 보안, 운영체제별 보안, 방화벽, 웹 보안 등의 주제들을 포함한다. 전공선택 클라우드시스템 클라우드 시스템 기술과 컴퓨팅 패러다임에 대해 학습한다. 클라우드 시스템을 구성하는 분산 시스템의 기 반 기술 및 시스템 모델, 미들웨어 서비스, 클러스터 컴퓨팅, 가상화 기술, 클라우드 프로그래밍 환경, SOA 등의 주요 내용을 살펴보고 이를 바탕으로 한 분산 시스템 설계 및 관리기법에 대한 내용과 최신 기 술 동향을 다룬다. 전공선택 머신러닝 머신러닝은 최근들어 인공지능의 중요 분야로서 4차 산업혁명의 핵심 기술이다. 본 교과목에서는 머신러닝의 기초가 되는 선형대수, 확률, 최적화 등의수학 이론을 배우고, 다층 및 심층 신경망의 구조와 학습 이론을 배운다. 이를 기반으로 CNN, GAN, RNN 등의 최신 모델을 배우고 이를 활용한 다양한 적용 예를 함께 학습한다. 전공선택 사물인터넷시스템 사물인터넷이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통 하는 지능형 기술 및 서비스를 의미한다. 본 교과목은 이러한 사물 인터넷의 기초와 특징을 이해하고 최신 동향을 살펴본다. 또한 사물인터넷 기반 시스템 설계용 시뮬레이션 툴을 사용하여 실습이 이루어지며, 이러 한 실습을 통해 사물 인터넷 기반 시스템을 설계하는 기본기술을 습득한다. 모든학기 전공선택 데이터종합분석 (캡스톤디자인) 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하여 졸업작품과 연계할 수 있으며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다.