fnctId=eduSch,fnctNo=5 교육과정 교과목해설 2025 2024 2023 2022 * : 부전공지정과목, ♣ : 교직과정과목, ☆ : 교직 기본이수교과목 학과(전공)명,학년,학기,이수구분,학수번호,교과목명,학점,시수 안내하는 테이블 학과(전공)명 학년,학기 이수구분 학수번호 교과목명 학점,시수 컴퓨터공학과 1-1 전선 503.0001 자기관리와 진로설계_컴퓨터공학과 1-1-0-0 컴퓨터공학과 1-1 전기 010.624 ☆이산수학 3-3-0-0 컴퓨터공학과 1-1 전기 807.001 ☆컴퓨터프로그래밍Ⅰ 3-3-0-0 컴퓨터공학과 1-2 전선 503.0002 인공지능 수학 3-3-0-0 컴퓨터공학과 1-2 전기 503.808 확률 및 통계 3-3-0-0 컴퓨터공학과 1-2 전기 808.002 컴퓨터프로그래밍Ⅱ 3-3-0-0 컴퓨터공학과 2-1 전선 503.0003 데이터분석기초 3-2-2-0 컴퓨터공학과 2-1 전선 503.355 딥러닝프로젝트_어드벤처디자인_KCC 3-2-2-0 컴퓨터공학과 2-1 전선 503.811 컴퓨터그래픽스 3-3-0-0 컴퓨터공학과 2-1 전선 503.833 *☆데이터구조 3-2-2-0 컴퓨터공학과 2-1 전선 503.834 *객체지향프로그래밍Ⅰ 3-2-2-0 컴퓨터공학과 2-1 전선 503.842 멀티미디어 3-3-0-0 컴퓨터공학과 2-1 전선 503.846 유닉스.리눅스시스템 3-2-2-0 컴퓨터공학과 2-1 전선 503.847 웹프로그래밍Ⅰ_어드벤처디자인 3-2-2-0 컴퓨터공학과 2-2 전선 503.0004 기계학습 3-2-2-0 컴퓨터공학과 2-2 전선 503.0005 파일처리 3-3-0-0 컴퓨터공학과 2-2 전선 503.303 시스템프로그래밍 3-3-0-0 컴퓨터공학과 2-2 전선 503.814 객체지향프로그래밍Ⅱ 3-3-0-0 컴퓨터공학과 2-2 전선 503.816 정보보안 3-3-0-0 컴퓨터공학과 2-2 전선 503.835 ☆컴퓨터네트워크 3-3-0-0 컴퓨터공학과 2-2 전선 503.845 ☆디지털논리회로_어드벤처디자인 3-3-0-0 컴퓨터공학과 2-2 전선 503.848 웹프로그래밍Ⅱ_어드벤처디자인 3-2-2-0 컴퓨터공학과 3-1 전선 503.0006 딥러닝 자연어처리_캡스톤디자인 3-3-0-0 컴퓨터공학과 3-1 전선 503.0007 ☆소프트웨어공학_캡스톤디자인_KCC 3-3-0-0 컴퓨터공학과 3-1 전선 503.212 ☆컴퓨터구조 3-3-0-0 컴퓨터공학과 3-1 전선 503.319 ☆운영체제 3-3-0-0 컴퓨터공학과 3-1 전선 503.329 ♣☆정보·컴퓨터교육론 3-3-0-0 컴퓨터공학과 3-1 전선 503.817 ☆데이터베이스설계 3-3-0-0 컴퓨터공학과 3-1 전선 503.818 해킹과대응기술 3-3-0-0 컴퓨터공학과 3-1 전선 503.819 네트워크프로그래밍 3-2-2-0 컴퓨터공학과 3-1 전선 503.820 클라우드 컴퓨팅 3-3-0-0 컴퓨터공학과 3-2 전선 503.0008 웹데이터베이스프로그래밍_캡스톤디자인 3-2-2-0 컴퓨터공학과 3-2 전선 503.227 ♣정보·컴퓨터논리및논술 3-3-0-0 컴퓨터공학과 3-2 전선 503.341 마이크로프로세서실습 3-2-2-0 컴퓨터공학과 3-2 전선 503.821 ☆알고리즘 3-3-0-0 컴퓨터공학과 3-2 전선 503.823 초고속컴퓨팅 3-2-2-0 컴퓨터공학과 3-2 전선 503.824 HCI 3-3-0-0 컴퓨터공학과 3-2 전선 503.837 ☆인공지능 및 로봇실습 3-2-2-0 컴퓨터공학과 3-2 전선 503.838 프로그래밍언어론 3-3-0-0 컴퓨터공학과 3-2 전선 503.844 모바일프로그래밍_캡스톤디자인_KCC 3-2-2-0 컴퓨터공학과 3-2 전선 503.850 임베디드시스템설계_캡스톤디자인 3-3-0-0 컴퓨터공학과 3-2 전선 503.853 데이터베이스응용_캡스톤디자인 3-3-0-0 컴퓨터공학과 3-계절학기 전선 503.350 현장실습Ⅰ 3-2-2-0 컴퓨터공학과 3-계절학기 전선 503.351 현장실습Ⅱ 3-2-2-0 컴퓨터공학과 4-1 전필 503.828 *캡스톤디자인Ⅰ 3-2-2-0 컴퓨터공학과 4-1 전선 503.0009 디자인패턴_캡스톤디자인 3-3-0-0 컴퓨터공학과 4-1 전선 503.435 시스템분석및설계 3-3-0-0 컴퓨터공학과 4-1 전선 503.436 ♣정보·컴퓨터교재연구및지도법 3-3-0-0 컴퓨터공학과 4-1 전선 503.809 데이터마이닝_캡스톤디자인_KCC 3-2-2-0 컴퓨터공학과 4-1 전선 503.829 사물인터넷_캡스톤디자인_KCC 3-2-2-0 컴퓨터공학과 4-1 전선 503.849 게임공학_캡스톤디자인 3-3-0-0 컴퓨터공학과 4-1 전선 503.852 웹프레임워크_캡스톤디자인 3-2-2-0 컴퓨터공학과 4-2 전선 503.0010 딥러닝 이미지처리_캡스톤디자인 3-3-0-0 컴퓨터공학과 4-2 전선 503.456 빅데이터컴퓨팅 3-3-0-0 컴퓨터공학과 4-2 전선 503.830 인지과학소프트웨어 3-3-0-0 컴퓨터공학과 4-2 전선 503.831 컴파일러 3-2-2-0 컴퓨터공학과 4-2 전선 503.832 캡스톤디자인Ⅱ 3-2-2-0 ♣ 과목은 교과교육영역 8학점에는 포함되나, 기본이수과목 21학점에는 포함 안 됨 503.0001자기관리와 진로설계_컴퓨터공학과 Self Management & Career Design_Computer Science and Engineering 학생들 스스로 대학생활 계획을 수립하고 실천을 통해 진로 준비 방향성을 지원하며, 진로 선택 방법을 제시할 수 있다. 010.624이산수학 Discrete Mathmatics 컴퓨터의 하드웨어 및 소프트웨어를 설계, 구축하기 위한 기본 수학 이론을 이해할 수 있다. 또한, 컴퓨팅 사고력에 기반한 문제 해결 방법을 적용하여 논리적 사고력을 요구하는 다양한 문제를 해결할 수 있다. 807.001컴퓨터프로그래밍Ⅰ Computer ProgramingⅠ 컴퓨터 프로그래밍 입문자에게 필수적인 프로그래밍 기초를 확립할 수 있으며 문제 해결 절차의 고안(논리전개), 프로그래밍 언어의 변수와 타입, 배열, 수식과 논리식, 조건과 반복에 적용되는 구조적 흐름제어 구문, 그리고 서브 프로그램 등의 개념을 C언어를 중심으로 이해할 수 있다. 503.0002인공지능 수학 Artificial Intelligence Mathematics 이 과목은 인공지능 및 기계학습 알고리즘을 이해하고 구현하는 데 필요한 수학적 기반을 제공한다. 선형 대수, 통계, 확률 이론, 최적화 및 미적분 등과 같은 수학적 개념을 다룬다. 또한 이러한 개념을 실제 인공지능 애플리케이션에 적용하는 방법을 배운다. 다양한 수학적 개념 및 원리를 이해할 수 있다. 선형 대수를 활용하여 데이터를 분석하고 변환할 수 있다. 확률 및 통계 이론을 활용하여 데이터의 패턴을 모델링하고 예측할 수 있다. 최적화 알고리즘을 사용하여 인공지능 모델의 학습 및 조정을 수행할 수 있다. 503.808확률 및 통계 Probablity & Statistics 확률 및 통계의 기본개념에 대하여 공부한다.세부적으로는 이산, 연속확률변수의 정의와 그 성질들을 학습하고 자료마다의 특성에 따른 여러 분포(이항, 포아송, 지수, 초기하, 정규, 표준정규분포 등), 추정, 가설검정, 회귀분석 등을 학습한다. 긍극적으로는 빅 데이터 분석, 데이터 사이언스, 기계학습 및 컴퓨터공학 전공에서 필요한 다양한 통계분석 능력을 배양한다. 808.002컴퓨터프로그래밍Ⅱ Computer ProgrammingⅡ 4차 산업혁명 시대에서 가장 중요하게 여겨지는 전문역량은 소프트웨어 및 코딩능력을 갖춘 인재이다. 다가올 미래에는 다양한 산업 분야에서 인공지능, 빅데이터 및 사물인터넷 등의 4차산업혁명기술이 중심을 이룰 전망이다. 본 교과목에서는 컴퓨터공학 전공자로서 비전공분야 학생들과 구별되는 전문 코딩 역량을 함양시키기 위한 다음과 같은 기회를 제공한다. 첫째, C언어의 포인터의 개념 및 기초를 학습한다. 둘째, 포인터와 밀접하게 연관된 배열, 함수, 문자열, 구조체, 동적 메모리 등과 같은 C언어의 고급 주제들을 포인터와 연관 지어 공부한다. 셋째, 다양한 프로그래밍 실습 및 과제를 통해 풍부한 코딩 경험을 쌓을 수 있다. 마지막으로, 풍부한 코딩 경험을 통해 창의적으로 문제를 해결하는 능력을 갖출 수 있다. 503.0003데이터분석기초 Fundamentals of Data Analysis 본 과목은 데이터 분석에 대한 기본 개념과 기술을 가르치는 과목으로, 학습자에게 데이터를 수집, 정리, 시각화하고 통계적 기법을 사용하여 정보를 추출하는 기초적인 능력을 제공한다. 이 과목은 데이터 과학, 비즈니스 분석, 의사 결정 지원 등 다양한 분야에서 필요한 핵심 기술과 개념을 다룬다. 503.355딥러닝프로젝트_어드벤처디자인_KCC DeepLearningProjects_AdventureDesign_KCC 딥러닝 민주화라는 말이 있다. 딥러닝은 소수 전문가의 연구분야에서 벗어나 누구나 사용할 수 있는 도구가 되었다. 저학년들을 대상으로, 딥러닝이 무엇이며, 어떤 방법으로, 무슨 문제를 해결할 수 있는지, 다양한 프레임워크를 통해 익혀, 세상의 문제를 딥러닝으로 해결할 수 있다. 503.811컴퓨터그래픽스 Computer Graphics 본 교과는 IT정보기술이 급속도로 발전하면서 CAD, 게임, 영화, 광고, 에니메이션 등 그래픽스의 개념이해와 이론을 현실세계에서 어떻게 적용되는지를 학습하고 컴퓨터그래픽스 응용이 다변화됨에 따라 컴퓨터그래픽스의 원리와 이론적인 알고리즘을 그래픽스 차원별로 학습한다. 503.833데이터구조 Data Structures 카카오톡, 페이스북, 트위터, 네비게이션같은 애플리케이션의 구현은 데이터의 논리적 구성인 데이터 구조를 기반으로 한다는 점을 파악하고 리스트, 스택, 큐, 트리, 그래프와 같은 데이터 구조의 특징과 장단점을 설명할 수 있다. 또한, 데이터 구조에 따라 프로그램 실행 효율과 데이터 저장 비용이 크게 달라진다는 사실을 이해할 수 있으며 주어진 문제에 적합한 데이터 구조를 선택하여 구현할 수 있다. 503.834객체지향프로그래밍Ⅰ Object Oriented ProgrammingⅠ Java 언어에 기반하여 객체, 추상화, 상속, 다형성 등 객체지향 프로그래밍 언어의 기본 개념을 터득할 수 있다. 수강생들은 자바 문법 및 자료형, 클래스와 객체, 입·출력 예외 처리 등의 기초 지식을 습득한 후 AWT, Swing 등 자바에서 GUI를 구현하기 위해 제공하는 툴킷들을 실습을 통해 숙지할 수 있다. 503.842멀티미디어 Multimedia 문자, 그림, 영상, 소리 등과 같은 다양한 의사전달 매체인 멀티미디어에 대해 그 기본개념과 데이터처리 방식을 배우고 실제로 멀티미디어 프로그램을 작성한다. 503.846유닉스.리눅스시스템 UNIX & Linux System 웹 서버, 임베디드 시스템 등의 운영체제로 폭넓게 활용되고 있는 Unix/Linux 운영체제에 대하여 기본 개념과 프로그램의 개발 및 그와 관련된 기초 지식을 터득할 수 있다. 즉, Unix/Linux를 처음 접하는 수강생들이 파일시스템, 명령어 구조 및 기초 명령어, 기초적인 시스템 관리 및 구축, 그리고 프로그래밍 환경 등을 학습함으로써 고급 관리자나 개발자로 성장하기 위한 실무 위주의 토대를 다질 수 있다. 503.847웹프로그래밍Ⅰ_어드벤처디자인 Web Programming Ⅰ 웹페이지를 설계하는 핵심기술인 HTML5/CSS3 활용능력 배양한다. JavaScript를 활용하여 동적인 웹페이지를 구축하는 과정을 학습하여, 웹사이트를 관리하는 웹서버 운영을 수행할 수 있다. 이를 통해 외부 사이트와 연동하여 웹페이지의 배포과정을 설계할 수 있다 503.0004기계학습 Machine Learning 이 과목은 기계학습의 기본 원리와 알고리즘에 초점을 맞춘다. 학습 알고리즘, 특징 추출, 모델 평가 및 하이퍼파라미터 튜닝과 같은 주제를 다루며, 실제 데이터셋을 활용하여 모델을 학습하고 평가하는 실습을 포함한다. 다양한 기계학습 알고리즘을 이해하고 적용할 수 있다. 특징 추출 및 데이터 전처리 기술을 사용하여 데이터를 준비할 수 있다. 모델 평가 및 성능 향상을 위한 하이퍼파라미터 조정을 수행할 수 있다. 실제 데이터셋에서 기계학습 모델을 구현하고 문제 해결에 활용할 수 있다. 503.0005파일처리 File Processing 데이터를 활용하기 위해서는 데이터를 생성하여 저장하고, 수시로 쉽고 빠르게 검색하고, 필요 시 쉽게 갱신할 수 있어야 하며, 필요가 없으면 삭제하는 기능을 필요로 한다. 저장, 갱신, 삭제, 검색 등 데이터 조작에서 중요한 것은 적은 공간을 사용하면서 쉽고 빠르게 처리하는 것인데, 이를 위해 본 교과목은 데이터 조작(데이터의 삽입, 삭제, 갱신, 검색)을 적은 공간을 사용하면서 빠르게 처리하기 위해 어떻게 데이터를 구성하고 조직하여 어떻게 조작(삽입, 삭제, 갱신, 검색)할 것인가에 대한 방법을 다룬다. 503.303시스템프로그래밍 System Programming 컴퓨터의 전체적인 운영, 컴퓨터 구조(하드웨어)와 소프트웨어의 관계, 고급 프로그래밍 언어가 처리(컴파일 및 실행)되는 과정 등을 학습함으로써 컴퓨터의 내면적인 동작원리를 터득할 수 있도록 한다. 이를 위해, 프로세서의 동작, 기계어, 어셈블러, 로더, 매크로 처리기 등의 주제를 중심으로 이들의 기본 기능, 구현 방법, 활용 방안 등을 다룬다. 503.814객체지향프로그래밍Ⅱ Object Oriented Programming Ⅱ C++ 객체지향 언어에 기반하여 객체, 추상화, 상속, 다형성 등 객체지향 프로그래밍 언어의 기본 개념을 학습/습득할 수 있으며, 아울러 실습을 통하여 객체지향 프로그래밍 능력을 배양할 수 있다. 503.816정보보안 Information Security 네트워크와 정보시스템에서의 정보보호 및 암호기술의 원리, 응용, 동향 등을 이해하는데 필요한 기본 지식과 이론을 습득함으로서 보안 경쟁력을 형성할 수 있다. 특히 개인정보보호법을 기반으로 개인정보보호 지식을 설명할 수 있다. 정보시스템에 의해 처리되고 있는 정보를 보호하는 컴퓨터 보안 관련 기본 개념과 암호화 알고리즘, 암호 응용 보안도구, 침입탐지, 보안 시스템 구축사례분석 등의 기초 지식을 파악할 수 있다. 또한 클라우드 컴퓨팅 환경에서 정보보안전문가를 위한 활용기술을 터득함으로서 정보보안 분야의 취업전략을 설계할 수 있다. 503.835컴퓨터네트워크 Computer Networks 인터넷의 핵심인 TCP/IP 네트워킹에 관한 전반적인 내용을 파악할 수 있다. 인터넷 프로토콜 스택의 응용계층, 전송계층, 네트워크계층, 데이터링크계층, 물리계층의 다양한 프로토콜들의 원리와 절차에 대해 구체적으로 설명하고, 라우터, 스위치 등 네트워크 장치들의 구조와 동작 원리를 식별할 수 있다. 503.845디지털논리회로_어드벤처디자인 Digital Logic Circuit 논리회로 설계에 기본이 되는 정보의 표현방식, 진법 개념, 불대수 등의 이론적인 기본 개념과 디지털 IC의 종류와 동작특성을 이해할 수 있으며, 이들 IC를 이용하여 각종 플립플롭, 디코더, 인코더, 멀티플레서 등 다양한 논리회로를 설계할 수 있으며 그 동작 특성을 설명할 수 있다. 503.848웹프로그래밍Ⅱ_어드벤처디자인 Web ProgrammingⅡ_AdventureDesign 웹서버 프로그래밍분야에서는 주 개발언어로 ASP, PHP, JSP 등을 이용하게 되는데, 웹서버 프로그래밍 분야를 위주로 학습하고 주요 학습환경에 있어서 웹서버로는 Apache, 개발언어로는 PHP, 데이터베이스로는 MySQL 등의 실무환경을 수행할 수 있으며 웹서버 프로그래밍의 전체 개발 과정을 설계할 수 있다. 503.0006딥러닝 자연어처리_캡스톤디자인 Deep Learning Natural Language Processing 이 과목은 자연어 처리 분야에서 딥러닝을 활용하는 방법을 다룬다. 텍스트 분류, 기계 번역, 텍스트 생성 및 감정 분석과 같은 자연어 처리 작업에 대한 딥러닝 모델을 학습하고 구현하는 방법을 배운다. 자연어 처리 작업을 위한 딥러닝 모델을 이해하고 구현할 수 있다. 텍스트 데이터를 전처리하고 토큰화할 수 있다. 텍스트 분류, 기계 번역, 텍스트 생성 등과 같은 자연어 처리 작업을 수행할 수 있다. 자연어 처리 모델의 성능을 평가하고 향상시킬 수 있다. 503.0007소프트웨어공학_캡스톤디자인_KCC Software Engineering 최소의 비용으로 품질 높은 소프트웨어 제품의 개발·유지보수 및 관리를 위한 모든 기법·도구·방법론의 총칭으로서 전산학·경제학·경영과학 및 의사소통기술과 문제해결을 위한 공학적인 접근방법을 토대로 소프트웨어 개발에 임하는 종합학문으로서 이를 통해 경쟁력 있는 소프트웨어 엔지니어의 기본적인 소양을 함양할 수 있다. 503.212컴퓨터구조 Computer Architecture 컴퓨터 시스템의 하드웨어 설계와 시스템 구성이 어떠한 과정으로 이루어지는가를 성능의 분석 지식에 기초하여 학습함으로써 컴퓨터의 전체 동작 원리를 이해할 수 있다. 또한 컴퓨터 시스템의 구조 및 특성 그리고 설계하는 방법에 대한 지식을 통하여 소프트웨어의 실행 원리의 기본 개념을 배워 시스템에 적용할 수 있다. 503.319운영체제 Operating Systems 컴퓨터 사용자와 하드웨어 사이에서 자원의 관리 및 보호, 입⋅출력 대행함으로써 사용자에게 편의성⋅공평성⋅효율성을 제공하는 운영체제 소프트웨어의 기능, 제반 기법, 설계 방안, 그리고 구현 사례 등을 학습/습득할 수 있다. 주요 학습 주제로 프로세서 및 프로세스(스레드) 관리, 주기억장치 관리, 입⋅출력 관리, 파일시스템 관리, 동기화(경쟁 상황), 교착상태 등의 작동 원리와 과정을 배울 수 있다. 503.329정보·컴퓨터교육론 Studies in Computer Education 컴퓨터 관련 교사들이 고급 전공지식의 교육을 통하여 빠르게 발전하는 첨단 정보사회에 맞는 교육현장에 적응하는 능력을 배양하고 아울러 다양한 수업 방식을 개발할 수 있도록 컴퓨터를 활용한 교육원리 등에 대하여 학습/연구한다. 503.817데이터베이스설계 Database Design 여러 프로그램들이 동시에 공유할 수 있는 데이터베이스는 실세계를 반영하기 때문에 실세계 정보를 정확하게 반영해야 한다. 그러나, 잘못된 데이터베이스 설계와 관리는 데이터베이스가 데이터 불일치를 비롯한 실세계 정보를 정확히 반영하지 못하는 잘못된 현상을 유발하게 된다. 본 교과목 학습을 통해 실세계를 정확히 반영하여 사용 시 문제가 발생하지 않도록 하기 위한 데이터베이스 설계 이론과 방법을 적용할 수 있다. 또한 데이터베이스에 문제가 발생하지 않도록 데이터베이스를 동시에 효율적으로 공유할 수 있도록 하는 이론과 방법을 이해하고 설명할 수 있다. 503.818해킹과대응기술 Hacking and Response Technology 정보시스템의 위협과 취약성을 파악하기 위하여 운영체제와 네트워크, 프로토콜의 동작을 이해하고, 분석 능력을 파악할 수 있다. 이를 기반으로 다양한 해킹 기법 및 도구 사용, 악성 코드의 원리 등에 관련한 이론과 기술을 습득하고, 프로그래밍을 만들 수 있다. 또한, 해킹 및 악성 코드 기법들을 사전에 탐지, 차단, 감사, 역추적하는 대응기술을 학습한 후 실제 Linux 환경에서 실습함으로서 정보보안 분야의 취업경쟁력을 설계할 수 있다. 503.819네트워크프로그래밍 Network Progrmming 자바 등의 프로그래밍 언어를 이용하여 인터넷 응용 클라이언트와 서버 프로그램을 작성하기 위한 기술들을 습득할 수 있다. 특히, 다수의 클라이언트를 처리하기 위한 서버 프로그램을 작성할 수 있으며, 다양한 인터넷 응용 프로토콜을 설계하고 구현할 수 있는 능력의 기초를 다질 수 있다. 503.820클라우드 컴퓨팅 Introduction to Cloud Computing 본 교과목은 다양한 분야에 적용하는 클라우드 컴퓨팅의 기술에 대한 개념적 주제를 교수하고 공공 클라우드 인프라인 Amazon Web Services(AWS), Microsoft Azure, 그리고 Google Cloud Platform을 활용하는 프로젝트를 통해 실무적 경험을 갖출 수 있게 한다. 학생들은 MapReduce, Jupyter Notebook을 사용한 대화식 프로그래밍 및 대규모 데이터 집합을 정리, 준비 및 분석하기 위한 데이터 과학 라이브러리를 학습하고 가상 머신, 도커 컨테이너(Docker Containers) 및 Kubernetes를 활용하여 자동 확장, 부하 균형 및 내결함성 응용의 배포를 할 수 있도록 한다. 학생들은 다양한 분산 클라우드 스토리지 추상화(분산 파일 시스템 및 데이터베이스)를 분석 실험하고 그들의 특징과 성능, 적용성 및 일관성 모델을 비교하고자 한다. 또한 학생들은 일괄처리, 반복처리 및 스트림처리 프레임워크를 사용하여 다양한 분석 응용 프로그램 작성을 통하여 클라우드 컴퓨팅의 개념과 실무적 경험을 갖출 수 있도록 한다. 503.0008웹데이터베이스프로그래밍_캡스톤디자인 Web Database Programming Capstone Design 프로그래밍언어, 데이터베이스 과목을 기초로 HTML, PHP, MySQL, HTML과 PHP 프로그램 연동, PHP 프로그램과 MySQL과의 연동 등을 실습을 통해 학습하고, 데이터베이스 및 소프트웨어 요구분석 및 설계, 데이터베이스 구축과 소프트웨어 기능 개발, HTML기반의 GUI 설계 및 개발 등, 요소 설계와 종합설계를 이론과 실습을 통해 다루며, 이를 통해 웹과 데이터베이스 연동 프로그램 응용 개발 실무 능력을 갖출 수 있다. 503.227정보·컴퓨터논리및논술 Logic and Discourse in Computer Education 문제 해결을 위한 말하기, 글쓰기, 발표 등의 공학 커뮤니케이션 방법을 이해할 수 있으며 4차산업혁명의 미래, 컴퓨터공학 기초, 컴퓨터공학 세부 전공과 관련된 다양한 주제를 정리하고 논증할 수 있다. 503.341마이크로프로세서실습 Microprocessor & Practice 인터럽트 핸들러, 입·출력 구동기, 타스크 스케줄링, 부트로더 등 시스템프로그래밍과 운영체제 교과에서 터득한 이론들을 마이크로프로세서 하드웨어 환경에서 구현하고 실습함으로써 내장 시스템 개발 능력을 배양할 수 있다. 여기에는 마이크로프로세서의 특징 중에 하나인 핀 입출력을 비롯하여 소프트웨어 타이머와 ADC, SPI, I2C 등 각종 센서 인터페이스 실습이 포함된다. 503.821알고리즘 Algorithms 컴퓨팅 사고력에 기반하여 정확하고 효율적인 알고리즘을 설계하는 다양한 기법을 이해하고 제시된 알고리즘의 복잡도를 분석할 수 있으며 다양한 사례들을 통하여 구체적인 문제에 대한 효율적인 알고리즘을 구축할 수 있다. 503.823초고속컴퓨팅 High Performance Computing 다중 프로세서의 병렬 컴퓨팅을 포함한 초고속 컴퓨팅에 관련한 하드웨어 및 소프트웨어에 대하여 학습하고 관련된 다양한 병렬프로그램의 기법에 대하여 실습하여 미래 컴퓨터의 핵심 분야인 초고속 컴퓨팅 지식을 프로그램에 적용할 수 있다. 503.824HCI Human Computing Interaction 인간과 컴퓨터 간 상호작용에 대해 연구하는 분야로 HCI는 어떻게 하면 사람들이 쉽고 편하게 컴퓨터 시스템과 상호작용할 수 있는가를 연구하며 시스템을 디자인하고 평가하는 것과 함께 이러한 시스템을 사용하는 인간의 특성에 대해 연구하는 분야다. HCI에서 상호작용은 사용자와 컴퓨터 사이에 있는 사용자 인터페이스에서 발현되는 작동을 의미하는데, 그 의미가 점차 확대되고 있으며 아울러 기술의 발전과 더불어 사용자, 컴퓨팅, 인터페이스 등의 정의와 의미 또한 확장되고 있다. 503.837인공지능 및 로봇실습 AI and Robot Practice 초지능 사회의 핵심 기술인 인공지능은 더 이상 어렵기만한 이론 분야가 아니다. 쉽게 사용할 수 있는 도구가 널려있어 누구나 지능적인 시스템을 구축할 수 있다. 이 과목을 통해 탐색 시스템부터 딥러닝까지 인공지능의 다양한 기술과 원리를 이해하고 적용하는 방법을 배워 실세계 문제를 해결할 수 있다. 503.838프로그래밍언어론 Programming Languages 프로그래밍 언어의 특성과 각 언어들의 공통점 및 구조, 데이터의 형태와 구조 등을 다룬다. 503.844모바일프로그래밍_캡스톤디자인_KCC Mobile Programming 스마트폰 기반의 무선통신과 안드로이드, IOS 등 모바일 운영체제 플랫폼의 기본원리를 학습한 후, 다양한 주제에 대한 앱(모바일 애플리케이션)을 설계할 수 있고 더 나아가 설계한 앱을 직접 구현함으로써 모바일 애플리케이션 개발 능력을 함양할 수 있다. 503.850임베디드시스템설계_캡스톤디자인 Embedded System Design_Capstone Design 임베디드 시스템 설계에 필요한 개발환경 구축 방법, 임베디드 리눅스를 활용한 다양한 디바이스 드라이버 설계 방법, Ethernet, SPI, Bluetooth 등 통신 장치, LCD, LED 등 디스플레이 장치, USB 장치 및 각종 센서 등과 같은 주변 하드웨어 장치들의 인터페이스 기술과 이를 제어할 수 있는 다양한 프로그래밍 방법 등을 이해하고 이를 이용한 임베디드 시스템을 설계하고 구축할 수 있다. 503.853데이터베이스응용_캡스톤디자인 Database Application_Capstone Design SQL 중심의 데이터베이스 실습과 데이터베이스 설계 및 구축, 프로그램과 데이터베이스 간의 연동을 실습을 통해 직접 구현할 수 있다. 또한, 이 경험을 토대로 실무에 필요한 데이터베이스 기반의 서버를 구축할 수 있으며 이 과정에서 필요한 문서화 작업을 행할 수 있다. 503.350현장실습Ⅰ On the Job TrainingⅠ 특정 산업체 지향적 실무능력과 근무환경 적응능력 향상을 위하여, 일정 기간 동안 해당 기업으로 다른 직원들과 동일하게 출?퇴근하여 주어진 과제를 수행함으로써 사회 진출 및 업무 수행을 체험하고, 해당 기업으로의 취업을 모색할 수 있다. 503.351현장실습Ⅱ On the Job TrainingⅡ 특정 산업체 지향적 실무능력과 근무환경 적응능력 향상을 위하여, 일정 기간 동안 해당 기업으로 다른 직원들과 동일하게 출?퇴근하여 주어진 과제를 수행함으로써 사회 진출 및 업무 수행을 체험하고, 해당 기업으로의 취업을 모색할 수 있다. 503.828캡스톤디자인Ⅰ Capstone DesignⅠ 현대사회가 기술문명과 산업사회 중심으로 발전해 가면서 모든 분야에서 창의성이 발휘가 개인과 국가 경쟁력의 원천이 되고 있다. 따라서 설계교육은 학생들이 주어진 문제나 과제의 본질을 파악하고 해결하는 능력을 갖추기 위해 스스로가 창의적인 발상을 통해 설계하고 기획하는 등 문제를 직접 해결해 보는 경험이 필요하다. 본 교과목에서는 결론이 정해져 있지 않은 개방적 문제를 팀을 구성하여 도출하고 목표 지향적인 업무추진 능력을 능동적으로 학습함으로서, 팀웍과 창의력, 종합 분석력, 현장적응 및 설계와 문제해결 능력에 대한 기본적인 자질을 갖출 수 있다. 503.0009디자인패턴_캡스톤디자인 Design Patterns 디자인 패턴은 개발자들에게 유익하고 풍부한 어휘를 부여하고 상호간의 의사 소통을 쉽게 해준다. 본 강의는 디자인 패턴의 개념을 습득하고 활용법을 익히는 강의로 GoF가 정리한 23개의 디자인 패턴을 하나씩 다루면서 객체지향에 대한 실무 능력을 향상시키도록 한다. 단지 이론을 제시하는 것이 아니라 패턴을 사용한 구체적인 프로그램을 Java 언어로 기술한 후 실제로 실행시켜본다. 디자인 패턴은 먼 장래를 위해 배우는 것이 아니라 우리가 매일 쓰는 프로그램을 새로운 관점에서 다시 생각하고 재사용을 쉽게 하고 기능 확장이 쉬운 소프트웨어를 만들기 위한 유익한 기법이다. 503.435시스템분석및설계 Systems Analysis Design & Practice 하드웨어 시스템과 소프트웨어 시스템을 다양한 기법과 도구를 이용하여 실제로 분석하고 설계해 봄으로써 컴퓨터 시스템에 대한 총체적인 전문적 지식을 배양한다. 503.436정보·컴퓨터교재연구및지도법 Studies in Teaching & Methodology of Computer Education 정보화시대에서의 학교교육체제는 새로운 패러다임 형성이 요구된다. 전통적 인쇄매체인 교과서의 내용을 정보기술 시스템을 이용하여 활용할 수 있는 전자교재의 개념과 기능을 살펴보고, 전자교재의 도입방안, 전재교재 운영방안, 하이퍼미디어, 멀티미디어 CAI, WBI 등에 대하여 연구한다. 503.809데이터마이닝_캡스톤디자인_KCC Data Mining 데이터 마이닝은 자동적, 체계적, 지능적 데이터 분석을 통하여 데이터에 내재된 관계, 패턴, 규칙 등을 탐색하고 찾아내어 모형화함으로써 유용한 지식을 추출하는 일련의 과정들이다. 데이터마이닝의 기초개념, 회귀, 분류, 군집화, SNS분석, 추천시스템 등 다양한 머신러닝 기법과 응용을 학습하여 데이터에서 가치를 창출 할 수 있다. 503.829사물인터넷_캡스톤디자인_KCC Internet of Things_Capstone Design_KCC 4차 산업혁명의 핵심기술인 사물인터넷, 클라우드컴퓨팅, 빅데이터 분석, 인공지능 등의 최첨단 IT기술이 어떻게 유기적으로 상호 연결되어 있는지를 사물인터넷의 관점에서 학습한다. 또한, 사물인터넷의 핵심기술인 IoT디바이스 및 OS플랫폼 기술, IoT연결성 제공을 위한 무선통신 및 네트워크 기술, IoT 서비스플랫폼 기술 등에 대해 개괄적으로 소개한다. 더 나아가 IoT 기술을 응용한 서비스의 운영 방식을 이해하기 위해 팀 프로젝트를 병행하여 IoT 기술에 대한 이해와 이 기술들이 실생활에서 어떻게 활용될 수 있는지를 직접 경험할 수 있는 기회를 제공한다. 이렇게 함으로써 사물인터넷에 대한 전반적인 이해를 돕고 4차 산업혁명의 핵심 기술들에 대한 상호연관성에 대한 이해의 폭을 넓힐 수 있다. 503.849게임공학_캡스톤디자인 Game Engineering_Capstone Design 스마트폰 게임과 컴퓨터 게임 제작에 필수적인 기초 기술들을 이해한다. 또한 프로그래밍 언어인 C/C++, Java, C# 등으로 MMORPG, Action 그리고 Arcade 게임 등 실질적인 게임을 직접 설계 제작함으로써, 컴퓨터 게임의 설계와 기획 및 개발 등 게임 엔터테이너로서의 소양을 함양한다. 503.852웹프레임워크_캡스톤디자인 Web Framework_Capstone Design 웹프레임워크는 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주목적으로 통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다. 다양한 언어(Ruby, Python, Javascript, Java)들을 기반으로 한 웹프레임워크(Rails, Django, Flask, Node, Js, Sturts, Spring)들의 개념을 살펴보고, 특정 웹프레임워크를 활용한 개발과정을 설계할 수 있다. 503.0010딥러닝 이미지처리_캡스톤디자인 Deep Learning Image Processing 이 과목은 이미지 처리와 컴퓨터 비전 분야에서 딥러닝을 사용하는 방법을 다룬다. 이미지 분류, 객체 감지, 이미지 생성 및 스타일 변환과 같은 이미지 처리 작업에 대한 딥러닝 모델을 학습하고 실습한다. 이미지 처리 및 컴퓨터 비전 작업을 위한 딥러닝 모델을 이해하고 구현할 수 있다. 이미지 데이터를 다루고 전처리할 수 있다. 이미지 분류, 객체 감지, 이미지 생성 등과 같은 이미지 처리 작업을 수행할 수 있다. 이미지 처리 모델의 성능을 평가하고 시각적 정보를 활용하여 문제를 해결할 수 있다. 503.456빅데이터컴퓨팅 Big Data Computing 빅데이터란 기존 데이터베이스 관리도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서는 대량의 정형 또는 비정형 데이터 집합을 말한다. 이 교과목 학습을 통해 빅데이터 개념과 특성 및 활용에 대해 알고 설명할 수 있으며 빅데이터의 소스와 그 가치를 설명하고 적용할 수 있다. 또한, 빅데이터 분석 프로세스, 도구, 방법들을 이해하고 설명할 수 있으며 훌륭한 분석가와 분석팀이 갖추어야 할 요건에 대해 설명하고 적용할 수 있다. 503.830인지과학소프트웨어 Cognitive Sofrware 인지과학은 지능적 행동의 일반적 의미에 대한 컴퓨터 관점에서의 이해 및 지능적 행동을 할 수 있는 인공물의 생성을 다루는 컴퓨터과학 및 심리학 뇌과학 인공지능 컴퓨터공학의 분야이다. 인지과학이 어떠한 문제에든 적용할 수 있는 일반적인 문제풀이 기계를 만들기 위해 개발한 프로그램으로 인지시스템 지식을 어떻게 체계화하고 지식 베이스에 축적하며 축적된 지식을 어떻게 이용하는가를 연구하는 분야이다. 503.831컴파일러 Compiler Design 컴퓨터 이론에 기초하여 고급프로그래밍 언어의 컴파일러를 위한 어휘 분석 및 구문 분석 등에 대한 컴퓨터 언어에 대한 기본적인 이론을 학습하여 컴파일러의 기본 개념을 수립할 수 있다. 또한 실습을 통하여 고급언어 프로그램을 어셈블리어 프로그램으로 번역할 수 있는 소규모의 컴파일러를 구성할 수 있다. 503.832캡스톤디자인Ⅱ Capstone DesignⅡ 하위 학년에서 획득한 전공지식을 서로 연계시켜 완성도 있는 기술로 통합할 수 있는 기회를 제공하고, 전공 이수자로서의 실무 능력과 소질을 검증받기 위해, 자신이 갖고 있는 관심 분야를 주제로 하여 완성도 높은 작품을 제작(프로젝트 진행)하고, 이를 취업과 긴밀하게 연계시킬 수 있도록 한다.