교과목해설
교과목해설
연번 | 교과구분 | 교과목명 (영문명) |
과목 설명 |
---|---|---|---|
1 | 전공필수 | 프로그래밍기초 (Basic Programming) |
프로그래밍 기초에서는 Python을 사용하여 데이터 형, 입출력, 선택문, 반복문, 함수 등의 기본 프로그래밍 기법에 대하여 학습한다 |
2 | 전공선택 | ICT개론 (Introduction Information Communication Technology) |
컴퓨터기술 및 정보통신기술의 전반적인 기본 개념을 이해하고 이를 기반으로 한 다양한 디지털 기술을 학습한다 |
3 | 전공선택 | 자연과학개론 (Introduction Natural Science) |
자연과학의 개념과 방법론, 물리학, 화학, 생물학 등 다양한 자연과학의 본질, 학제간 특성화를 통한 기초 역량을 배양한다 |
4 | 전공필수 | 객체지향프로그래밍 (Object Oriented Programming) |
객체지향프로그래밍에서는 C++를 사용하여 클래스, 상속, 탬플릿 등 객체지향적 프로그래밍 기법에 대하여 학습한다. |
5 | 전공선택 | 융합소프트웨어개론 (Introduction Convergence Software) |
4차 산업혁명시대에서의 융합소프트웨어에 대한 이해를 통하여 관련 응용분야를 리드할 수 있는 기초역량을 함양한다 |
6 | 전공선택 | 기초공학설계 (Basic Engineering Design) |
공학적 사고방식을 기반으로 기초적인 공학 설계를 실습한다. |
7 | 전공필수 | 설계프로젝트I (Design Project I) |
단계적인 개발 역량 강화를 위한 프로젝트 위주의 교과목으로, 기 습득한 전공 지식을 활용하여 자유로운 주제로 개발 프로젝트를 수행한다. |
8 | 전공선택 | 고급객체지향프로그래밍 (Advanced Object Oriented Programming) |
고급객체지향프로그래밍에서는 Java를 사용하여 데이터 형, 입출력, 선택문, 반복문, 함수, 배열, 포인터, 문자열 등의 기본 객체지향 프로그래밍 기법에 대하여 학습한다. |
9 | 전공선택 | 논리회로 (Digital Circuit) |
디지털 논리회로 (조합회로, 순서회로)에 대한 설계방법을 익혀 실제적 응용 디지털 회로설계와 컴퓨터의 기본구조 설계에 관해 학습한다. |
10 | 전공선택 | 오픈소스SW기초 (Introduction Open Source SW) |
오픈소스 SW 개념을 소개하고 오픈소스의 기반이 되고 있는 리눅스 운영체제 대해 학습한다. |
11 | 전공선택 | 이산수학 (Discrete Mathematics) |
수학적인 관점에서 논리적인 컴퓨터 구조를 이해하기 위해 형식논리, 재귀, 집합, 순열과 조합, 이항정리, 이진관계, 프로그램의 검증, 부울 대수와 컴퓨터 논리 등에 관하여 배운다 |
12 | 전공필수 | 설계프로젝트II (Design Project II) |
단계적인 개발 역량 강화를 위한 프로젝트 위주의 교과목으로, 기 습득한 전공 지식을 활용하여 자유로운 주제로 개발 프로젝트를 수행한다. |
13 | 전공선택 | 자료구조 (Data Structure) |
컴퓨터 시스템의 메모리상에 저장되는 자료의 추상화 개념과 배열, 리스트, 스택, 큐, 트리, 그래프 등의 자료구조를 학습한다. |
14 | 전공선택 | 데이터통신 (Data Communication) |
데이터통신의 역사상에 개발되고 상용화된 모든 통신기술의 기본적인 이론을 습득을 하며, 통신기술에서 데이터 송수신을 위해 필요한 규약 및 알고리즘에 대한 이론 및 실습을 통해 통신의 기본 원리를 습득한다. |
15 | 전공선택 | 컴퓨터구조 (Computer Structure) |
컴퓨터 시스템의 기본 구성인 연산장치, 메모리, 입출력장치에 대한 개념과 각 구성요소를 연결하는 통신체계를 이해하고, Low level의 컴퓨터 동작 과정을 습득한다. |
16 | 전공선택 | 확률및랜덤변수 (Probability and Random Variable) |
컴퓨터분야에서 광범위하게 사용되는 확률 이론에 대한 이론을 습득하며, 실습을 통해 확률 이론을 기반한 프로그램 개발 역량을 강화한다. |
17 | 전공선택 | 오픈소스SW개발 (Open Source SW Development) |
오픈소스 SW 개념을 소개하고 활성화의 중요성을 이해한다. 그리고, SW개발 전 과정에서 널리 사용되는 오픈소스 솔루션들을 실습하며 자신의 SW를 개발하여 오픈소스로 공개하는 프로젝트를 진행한다. |
18 | 전공필수 | 설계프로젝트III (Design Project III) |
컴퓨터소프트웨어 시스템을 개발하기 위해 가장 기초가 되는 기본 지식을 습득한다 |
19 | 전공선택 | 알고리즘분석 (Algorithm Analysis) |
알고리즘의 기본적인 이해를 하고, 알고리즘 방법을 divide-and-conquer, dynamic programming, greedy algorithms, branch-and-bound 등으로 분류하고 각각의 특성을 이해하도록 한다. |
20 | 전공선택 | 컴퓨터네트워크 (Computer Network) |
OSI 7계층의 네트워크 프로토콜을 이해하고, 각 계층의 다양한 프로토콜에 대해 학습한다. 2, 3계층의 프로토콜에 기반으로 하여 네트워크 시스템을 설계해 본다. |
21 | 전공필수 | 운영체제 (Operating System) |
컴퓨터 시스템의 중추인 운영체제의 개념 및 운영체제가 제공하는 다양한 기능에 대한 이론적인 학습을 하여 컴퓨터소프트웨어 분야 전체를 바라볼 수 있는 시야를 가진다. |
22 | 전공선택 | 모바일프로그래밍 (Mobile Programming) |
모바일 운영체제인 안드로이드를 이해하고, 안드로이드 시스템에서의 기초적인 프로그래밍 기법을 학습함으로써 모바일 프로그래밍 기술을 향상시킨다. |
23 | 전공선택 | 데이터베이스 (Database) |
광범위하게 사용되고있는 데이터베이스 시스템에 대한 이론을 습득하며, 데이터베이스 설계기법을 익힌다. 또한 SQL문을 활용하여 데이터베이스로의 요청, 관리 기법을 실습해 본다. |
24 | 전공필수 | 설계프로젝트IV (Design Project IV) |
단계적인 개발 역량 강화를 위한 프로젝트 위주의 교과목으로, 기 습득한 전공 지식을 활용하여 자유로운 주제로 개발 프로젝트를 수행한다. |
25 | 전공선택 | 네트워크프로그래밍 (Network Programming) |
OSI 7계층의 네트워크 프로토콜을 이해하고, 각 계층의 다양한 프로토콜에 대해 학습한다. 또한 소켓 프로그래밍 등의 네트워크 프로그래밍 기법을 익히고, OSI 7계층을 실제로 구현해본다. |
26 | 전공선택 | 시스템프로그래밍 (System Programming) |
POSIX 기반의 운영체제 (UNIX, LINUX, MACOS 등)에서의 시스템콜에 대한 이론을 습득하며, 실습을 통해 시스템 프로그래밍 기법을 익힌다. |
27 | 전공선택 | 빅데이터분석 (Big Data Analysis) |
다양한 종류의 대규모 데이터에 대한 생성, 수집, 분석, 표현을 그 특징으로 하는 빅 데이터 기술에 대해 학습한다. |
28 | 전공선택 | 시스템분석및설계 (System Analysis and Design) |
시스템 개발과정을 소개하며, 소프트웨어 시스템 분석 및 설계 시에 확장성과 재사용을 용이하게 하기 위한 구조적 방법과 객체 지향적 방법을 익힌다. |
29 | 전공선택 | IoT플랫폼 (IoT Platform) |
컴퓨터 공학 기초 과목의 이해를 바탕으로 Embedded System에서의 응용 프로그램 개발을 경험한다. 아두이노 및 라즈베리파이 플랫폼을 이용해 개발환경을 구축하고 창의적인 응용 프로그램을 개발한다. |
30 | 전공필수 | 캡스톤디자인I (Capstone Design I) |
기존에 학습한 전공 관련 기술을 바탕으로 실제 사례의 정보시스템 설계를 수행하여 다양한 형태의 프로그램을 개발경험을 축적한다. |
31 | 전공선택 | 소프트웨어공학 (Software Engineering) |
소프트웨어 사용자 만족도를 이룰 수 사용자 맞춤의 설계 역량 확보한다 |
32 | 전공선택 | 빅데이터 프로그래밍 (Big Data Programming) |
대량의 정형 또는 비정형 데이터의 집합체인 빅데이터의 5V (규모, 다양성, 속도, 정확성, 가치) 요소에 대해 학습하고, 빅데이터로부터 가치를 추출하고 결과를 분석하기 위한 하둡의 맵리듀싱에 대해 학습한다. |
33 | 전공선택 | 인공지능 (Artificial Intelligence) |
매칭, 제한조건의 이용, 탐색, 문제해결, 논리제어 등과 같은 개념을 익힘으로서 복잡도가 높은 문제들에 대한 해답을 찾는 방법을 다룬다. 지능적 탐색, 논리 증명, 지식을 학습하는 기계학습과 지능에이전트의 원리를 다룬다. |
34 | 전공선택 | 정보보호개론 (Introduction Information Security) |
캡스톤 디자인 I 교육과정을 통하여 만들어진 설계를 실제 시스템 개발에 적용하여 실무적 능력을 고도화 시킨다. |
35 | 전공필수 | 캡스톤디자인II (Capstone Design II) |
정보통신, 네트워크, 컴퓨터 시스템, 응용소프트웨어, 데이터 처리 등에 대한 신기술 동향을 파악하고, 이와 관련한 서비스를 살펴봄으로써 IT 분야의 신기술을 이해한다. |
36 | 전공선택 | 신기술동향 (New Technology Trends) |
정보통신, 네트워크, 컴퓨터 시스템, 응용소프트웨어, 데이터 처리 등에 대한 신기술 동향을 파악하고, 이와 관련한 서비스를 살펴봄으로써 IT 분야의 신기술을 이해한다. |
37 | 전공선택 | 로봇프로그래밍 (Robot Programming) |
로봇의 하드웨어를 이해하고 핵심 기술 소프트웨어를 직접 개발하도록 한다. 먼저, 학생들은 임베디드 하드웨어를 다루기 위한 기본 기술을 학습한다. 그리고 센서, 컴퓨터 비전/인식 등과 같은 다양한 요소 기술의 이론을 학습하고 실습을 통하여 직접 개발한다. |
38 | 전공선택 | 클라우드컴퓨팅 (Cloud Computing) |
클라우드 컴퓨팅의 개념을 이해하고 프로젝트를 진행한다. 가상화 기술 (Virtual Machine)의 특징을 이해하고 IaaS, PaaS, SaaS 등의 개발 프로젝트를 진행한다. 아마존과 구글의 클라우드 서비스 활용 방법과 PaaS(Azure, Openshift, Cloudfoundry) 를 이용한 클라우드 서비스의 개발 실습과 OpenStack을 통한 가상 자원의 프로비저닝 및 운영기술에 대한 실무를 배양한다. |
39 | 전공선택 | ICT 학점연계 프로젝트 | 기업에서 제안한 ICT분야 직무 중심의 프로젝트, 서비스 개발 등에 학생이 참여하여 인턴십을 수행함으로써, 전공분야의 실무 개발능력 배양 및 소프트웨어 관련 업계의 업무 경험을 쌓을 수 있는 기회를 제공하여 이론과 실무 역량을 겸비한 문제해결형 ICT 창의인재를 양성한다. |