교과목소개 학수번호 교과목명 (영문) 교과구분 학년 학점/이론/실습 교과목해설 21002144 프로그래밍개론 (INTRODUCTION TO COMPUTER PROGRAMMING) 전공선택 1학년 3/2/2 프로그램의 설계와 작성, 컴파일러의 사용 방법과 프로그램의 실행, 프로그래밍 언어의 이해, 프로그램의 작성 연습 등을 다룬다. 21003917 소프트웨어의이해 (UNDERSTANDING SOFTWARE) 전공선택 1학년 3/3/0 본 교과목은 컴퓨터과학전공의 기초설계과목으로 창의적 공학설계의 기법을 이해하고 배운다. 주어진 제약조건 내에서 목적달성을 위한 공학설계와 프로젝트 기반의 접근방법을 통해, 팀별 작업과 고객지향적 설계 프로젝트를 효과적으로 수행하기 위한 개념설계 방법및 프로젝트 관리도구들을 응용하는 방법을 학습한다. 또한, 설계 프로젝트 결과를 보고하는 수단을 체계화하며, 팀의 행동과 동적 활동에 유용한 통찰력을 부여하고, 공학실천에 있어서의 윤리에 대해서도 공부한다. 21002146 윈도우프로그래밍 (WINDOWS PROGRAMMING) 전공선택 2학년 3/2/2 프로그램의 설계와 작성, 객체지향적 프로그래밍 개념과 연습, GUI, 예외 처리와 병렬성 표현, 재귀법, 알고리즘과 자료 구조의 표현 등을 다루며, 프로그래밍 I을 선수 과목으로 한다. 21000557 자바프로그래밍 (JAVA PROGRAMMING) 전공선택 2학년 3/2/2 응용 소프트웨어 개발에 적합한 언어 및 개발 환경의 습득과 소프트웨어 개발 훈련을 목표로 한다. 21001713 리눅스시스템 (LINUX SYSTEM) 전공선택 2학년 3/2/2 데이터 처리와 응용을 위한 시스템을 파일 및 프로세스를 중심으로 학습한다. 파일의 기본 개념 및 사용법, 파일 구조, 파일 입출력, 프로세스 등을 Unix 시스템을 중심으로 공부하며 특히 파일을 이용한 대량의 데이터의 체계적 조직과 효율적 처리 기술을 습득한다. 21002147 컴퓨터수학 (DISCRETE MATHEMATICS) 전공선택 1학년 3/3/0 컴퓨터과학의 이론적 기초가 되는 집합, 관계 및 함수, 조함, 그래프와 트리, 대수이론, 오토마타 등의 개념과 응용을 배운다. 21001710 디지털논리회로 (DIGITAL LOGIC CIRCUIT) 전공필수 2학년 3/3/0 회로설계의 입문을 위해 진법 체계, Boolean Algebra를 배운 후 Combinational Logic, Sequential Logic의 구현 과정과 이를 사용한 기본적 회로인 Encoder, Decoder, Counter, Adder등의 컴퓨터 기본 동작 회로를 설계할 수 있는 능력을 키운다. 다음 단계로 앞서 배운 것들을 조합, 응응하여 간단한 컴퓨터 시스템의 Control Logic과 구현 방법을 배운다. 본과목은 컴퓨터 구조II의 선수 과목이다. 21000540 자료구조 (DATA STRUCTURES) 전공필수 2학년 3/2/1 데이터 및 정보의 효과적 처리를 위한 구성 방법과 분석, 추상적 자료형의 표현 및 이용, 이들을 활용하는 기본적인 알고리즘 등을 공부한다. 21001714 웹시스템설계 (WEB SYSTEM DESIGN) 전공선택 2학년 3/2/1 인터넷 상의 World Wide Web 환경에 대해서 알아보고, 각 환경에 따른 여러가지의 프로그래밍 기법을 배운다. 또한 독립된 웹서버를 설치, 운영하는 방법을 배운다. 객체 지향 모델링 개념을 이해하고, 웹 시스템 분석 및 설계 능력을 배양한다.모델링 개념과 구현 개념과의 연관성을 파악하고, 객체지향 모델링을 통한 소프트웨어 개발 능력 배양을 목표로 한다. 21000513 선형대수학(LINEAR ALGEBRA) 전공선택 2학년 3/3/0 벡터공간·행렬 및 행렬식의 성질·선형변환·고유방정식 등을 다룬다. 21001083 경영정보시스템(Management Information Systems) 전공선택 2학년 3/3/0 21000555 소프트웨어공학 (SOFTWARE ENGINEERING) 전공선택 3학년 3/3/0 대형자료처리 소프트웨어 시스템 개발과 유지 관리에 따른 복잡한 공정상의 문제를 해결하기 위한 여러 가지 방법을 공학적인 측면에서 연구하여 개발된 소프트웨어의 생산성, 효율성, 신뢰성 등을 높이게 한다. 21000549 알고리즘 (ALGORITHMS) 전공필수 3학년 3/3/0 계산문제와 알고리즘의 개념, 알고리즘 표현 및 분석, 알고리즘 작성 기법과 정렬 및 검색, 그래프, 기하, 수리 등에의 응용, 병렬 알고리즘, 계산문제의 컴플렉서티 이론과 리덕션 등을 공부한다. 21102906 빅데이터처리 전공선택 3학년 3/3/0 대용량, 초고속, 다양성 등의 특징을 가지는 빅데이터를 처리하기 위한 개념, 이론, 기법, 플랫폼 등을 학습한다. 빅데이터의 저장을 위한 분산 저장 시스템, 빅데이터의 검색을 위한 NoSQL 데이터베이스, 빅데이터의 처리를 위한MapReduce 등의 프로그래밍 기법들을 살펴보고, 빅데이터 처리를 위한 대표적 플랫폼인 Hadoop, Spark 등을 학습한다. 이와 함께 데이터마이닝과 같은 데이터분석 기술들이 이들 시스템에서 어떻게 수행되는지 알아본다. 21001711 컴퓨터구조 (COMPUTER ARCHITECTURE) 전공선택 3학년 3/3/0 전산학을 전공하는 학생들에게 컴퓨터의 구조에 관한 제반의 사항들에 대해 학습하도록 하며, 실제로 컴퓨터가 어떻게 구성되어 있고, 이를 어떻게 설계하는지에 관해서 심층적으로 학습한다. 이러한 과정을 통해서 학습자는 프로그램이 컴퓨터 상에서 어떻게 실행되는지를 구조적 관점에서 자세한 이해를 할 수 있다. 이 과목은 "컴퓨터구조I"를 선수과목으로 한다. 21000558 컴퓨터그래픽스 (COMPUTER GRAPHICS) 전공선택 2학년 3/2/1 본 과목은 컴퓨터 그래픽스의 기본 원리 및 응용을 배운다. 그래픽스의 개요, 그래픽스용 하드웨어, 개발 환경 등을 배우며, C언어 또는 OPEN GL Tool을 이용하여 2차원, 3차원 Object의 표현 및 변화, 투시 투영도의 작성, 은둔선 제거, 조명 효과 등을 배운다. 21003186 컴퓨터네트워크I (COMPUTER NETWORK I) 전공선택 3학년 3/3/0 데이터통신 개요, 데이터 통신부호, 데이터 회선망 구성, 에러 정정 방식, 부호의 전송, 변복조 방식 및 데이터통신 단말장치를 배운다. 21003183 데이터베이스설계와질의 (DATABASE DESIGN AND QUERY LANGUAGE) 전공선택 3학년 3/3/0 데이터베이스 설계의 요구 사항 분석과 논리적 설계, 대표적인 데이터베이스 모델링 기법인 ER(Entity Relationship) 모델을 배운다. ER 모델을 관계형 모델로 바꾸는 법을 배우며, 관계형 데이터베이스 질의를 위한 관계 대수와 대표적 상용 질의어인 SQL 을 학습하고, 데이터베이스 응용 프로그래밍 기법에 대한 기본 지식을 습득한다. 21000542 운영체제 (OPREATING SYSTEM) 전공필수 3학년 3/3/0 Computer System의 구조와 조직을 이해하고 Operating System의 기초와 설계능력을 배양함으로써 Hardware Resource의 효율적인 운영과 사용자에게 최대의 편의를 줄 수 있는 최적의 Operating System의 구성 방안을 연구한다. 21000545 프로그래밍언어론 (PROGRAMMING LANGUAGE) 전공필수 3학년 3/2/1 여러 유형의 프로그래밍 언어를 구조, 의미론, 활용성 등의 관점에서 비교 분석하고, 프로그래밍 언어의 구문법과 설계원리 등을강의한다. 21003276 시스템프로그래밍 (SYSTEM PROGRAMMING) 전공선택 3학년 3/2/1 운영체제 시스템 호출을 이용한 시스템 프로그래밍 능력 개발을 목표로 한다. 이를 위하여 Unix를 중심으로 파일 및 입출력,프로세스, 예외처리, 프로세스간 통신 등의 시스템 호출을 학습한다. 21002031 네트워크보안 (NETWORK SECURITY) 전공선택 4학년 3/2/1 이 과목은 인터넷에서의 각종 보안 위협의 이해와 대처를 위한 방법을 학습하며, 암호학, 패스워드, 보안 관련 도구, 전자 우편 보안, 운영체제별 보안, 방화벽, 웹 보안 등의 주제들을 포함한다. 21003184 데이터베이스프로그래밍 (DATABASE PROGRAMMING) 전공선택 4학년 3/2/1 데이터베이스 이론과 프로그래밍 기술을 이용한 데이터베이스 활용 기법을 습득한다. 이를 위해 고급 질의 기법, 데이터베이스를 활용한 프로그래밍 기법을 습득한다. 더 나아가 이를 적용한 실전 프로젝트를 통해 그 활용 기법을 확고히 정립한다. 데이터베이스활용 기법을 심도 있게 익힘으로써 과목을 이수한 후에는 데이터베이스 활용 개발자가 되도록 하는데 그 목표가 있다. 21003757 모바일소프트웨어 (MOBILE SOFTWARE) 전공선택 3학년 3/2/1 스마트폰, 태블릿과 같은 모바일 컴퓨팅 환경에 관련된 모바일 무선 통신, 응용 기술, 개발 플랫폼 및 개발 도구 등에 대한 기본적인 개념과 원리에 대하여 배우며, 프로그래밍 실습을 통하여 모바일 응용 프로그램을 설계하고 개발하는 지식을 습득한다. 21003735 클라우드시스템 (CLOUD SYSTEM) 전공선택 3-4학년 3/2/1 본교과목은 네트워크로 연결된 다수의 독립적인 컴퓨터들이 서로 협동하여 하나의 목적을 위한 분산처리를 수행하는 분산시스템의 기본 구조 및 분산 응용 프로그램에 대한 소개를 한다. 분산 미들웨어, 분산 서비스 및 응용 프로그램의 설계 방법 및 알고리즘에대해서 학습하고 응용 예제를 통하여 실제 활용능력을 습득한다. 관련된 최신 기술 동향에 대해 파악한다. 21003758 시스템종합설계 (DESIGN OF SYSTEM INTEGRATION) 전공선택 4학년 3/1/4 본 교과목은 학과에서 습득한 기초설계, 심화설계 능력을 기반으로 종합설계 능력을 향상시키기 위한 방법으로 중대형 규모의 소프트웨어 설계 능력의 향상을 목표로 하고 있다. 수강생들은 졸업 작품 이전 학기에 이 과목을 수강하며 주제 선정, 소프트웨어의 명세와 설계, 발표 등을 실습하며 3명으로 구성되는 팀 작업이 권장된다. 21003187 영상정보처리 (IMAGE PROCESSING) 전공선택 4학년 3/3/0 본 교과목은 기본적인 프로그래밍 실력이 갖추어진 정보과학부 3, 4학년 학생을 대상으로 다양한 종류의 영상처리 응용을 위한 이론적인 내용과 이를 프로그램으로 구현하는 방법을 배운다. 영상처리 응용은 의료 영상의 해석, 로봇의 자동 주행 및 지능개선을위한 시각 처리, 생체 정보 인식, 핸프폰 카메라를 이용한 응용, PDA/핸드폰 자동 문자 인식, 이미지 보안을 위한 Watermarking 등 실생활에 필요한 첨단 시스템에 응용되고 있다. 따라서 본 교과목의 구성은 영상처리 분야에 필요한 이론적인내용을 배우는 강의식 수업과 이를 프로그램으로 구현하고 응용, 설계하는 PBL 수업을 함께 진행한다. 이는 영상처리 분야의 이론과 실습의 유기적인 결합을 통한 실제적인 활용 능력과 자주적인 문제 해결 능력, 공동 의사결정 및 업무 수행, 팀 활동 등협업 소양 능력을 함께 배양하기 위함이다. 21000550 인공지능 (ARTIFICIAL INTELLIGENCE) 전공선택 4학년 3/3/0 인공지능이란 컴퓨터를 인간과 같은 지능을 갖을 수 있도록 하는 학문이다. 지식의 여러 표현방법, 다양한 탐색방법, 경험을 기초로한 문제해결의 패러다임, 전문가 System, Planning, Running 등을 공부한다. 21003759 임베디드시스템 (EMBEDDED SYSTEM) 전공선택 3-4학년 3/2/2 임베디드 시스템은 휴대폰, 자동차, 가전 제품등에 내장되는 컴퓨터 시스템으로 일반적인 컴퓨터에 비해 자원에 제약이 있고 특정목적에 부합되게 설계되어진다. 본 교과목은 이러한 임베디드 시스템의 기초와 특징을 이해하고 최신 동향을 살펴본다. 또한 임베디드 하드웨어/소프트웨어 설계용 시뮬레이션 툴을 사용하여 실습이 이루어지며, 이러한 실습을 통해 임베디드 시스템을 설계하는 기본 기술을 습득한다. 21001715 컴파일러 (COMPILER) 전공선택 4학년 3/3/0 컴파일러 모델들을 비교하고, 컴파일러 구성의 이론적 기초가 되는 형식 언어와 문법을 공부하며, 구문 분석 기법, 테이블관리,오류처리, 코드 생성 및 향상 기법 , 보조 소프트웨어의 사용법 등을 익히는 것을 목표로 한다. 21003202 컴퓨터네트워크II (COMPUTER NETWORK II) 전공선택 4학년 3/3/0 정보화와 컴퓨터의 대중화에 따른 컴퓨터 상호간을 연동하기 위한 컴퓨터 통신의 기본 원리 및 통신 시스템, 네트워크 구조와프로토콜 기술들을 습득한다. 이를 바탕으로 기업 내에서 Local Area Network (LAN) 및 Wide Area Network (WAN) 등의 컴퓨터 네트워크를 구축하는 방법 및 상호 연동하는 응용 기술 등을 습득한다. 21003761 컴퓨터특강 (SPECIAL TOPICS IN COMPUTER SCIENCE) 전공선택 4학년 3/3/0 전산학 전반에 걸쳐 최신 주제의 연구 분야 중 정규 교과목으로 흡수 또는 확립되지 않은 주제들을 학습하고, 그 밖의 최근 컴퓨터 과학 기술 동향을 소개한다. 미 정 학생개설:블록체인 전공선택 4학년 3/2/2 블록체인의 기본 개념을 익히고 다양한 블록체인을 다루어보는 것을 목표로 한다. 기초 보안 기술과 블록체인의 동작 원리를 이해하고, 스마트컨트랙트와 탈중앙화 애플리케이션을 실습해봄으로써 블록체인 기반 응용프로그램을 만들어볼 수 있도록 한다. 21009627 논리및논술 (정보·컴퓨터) (COMPUTING LOGIC AND DISCOURSE) 전공선택 교직 3/3/0 컴퓨터과학에서 활용되는 논리와 논리적 서술 방법 교육에 대한 내용을 소개한다. 21050161 정보·컴퓨터교재연구및지도법 (TEACHING MATERIALS AND TEACHING TECHNIQUES IN COMPUTER SCIENCE) 전공선택 교직 3/3/0 전산학의 다양한 분야에 관한 학생의 교수 및 지도법을 강의한다. 강의의 질과 수준, 질문에 대한 답변 능력 등을 배양한다. 21009873 정보·컴퓨터교육론 (TEACHING METHODS FOR COMPUTER SCIENCE) 전공선택 교직 3/3/0 교수이론의 역사적 고찰, 교수 이론의 탐색, 탐구적 실습지도방법 등을 활용하여 개인차에 의한 교수방법 등 각종 교수과정의모형을 분석하여 전산교육에 유용한 접근 방법을 배운다.