본문 바로가기 메뉴 바로가기 서브메뉴 바로가기

컴퓨터소프트웨어공학과

Dept. of Computer Software Engineering

4차 산업혁명을 선도할 창의적 소프트웨어 인재 양성

    • 페이스북으로 보내기
    • 트위터로 보내기
    • 네이버밴드로 보내기
    • 카카오스토리로 보내기
    • X

교과목해설

교과목해설

연번 교과구분 교과목명
(영문명)
과목 설명
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 창의인재를 양성한다.