1학년
소프트웨어학과 전공교과목 이수체계도는 교과목 이수체계도 페이지에서 확인하실 수 있습니다.
학수번호 | 과목명 | 시간/학점 | 상세내용 |
CS0101 | 프로그래밍기초(Programming Basics) | 강의 및실습 3시간 3학점 | 기초 프로그래밍 언어의 문법을 배운다. 변수, 조건문, 반복문, 함수 등 프로그래밍 언어의 기본 구조를 익히며 프로그래밍 실습을 통하여 이해도를 높이고 프로그래밍 구사능력을 배양한다. |
CS0102 | 프로그래밍응용(Programming Application) | 강의 및실습 3시간 3학점 | 프로그래밍기초의 다음 단계로서 기초 프로그래밍 언어의 다양한 구성요소를 배우며 이를 이용하여 프로그래밍을 능숙하게 할 수 있도록 한다. |
CS0106 | 소프트웨어적사고(Software Thinking) | 강의 3시간 3학점 | 소프트웨어적 사고를 기르기 위해 소프트웨어응용의 다양한 분야 중 특히 4차 산업혁명과 관련한 분야를 중심으로 관련 지식 및 기술에 대해 종합적으로 이해함으로써 소프트웨어 전공자로서 필요한 기초지식을 갖춘다. |
CS0107 | 오픈소스프로그래밍(Open Source Programming) | 강의 및실습 3시간 3학점 | 오픈소스와 오픈소스 소프트웨어에 대한 개념을 배운다. 대표적인 오픈소스 프로그래밍 언어인 파이썬 언어를 실습하며 언어의 기본적인 성질을 익히고 프로그램 작성 능력을 기른다. 이를 통해 오픈소스 프로그래밍과 활용에 대해 이해한다. |
2학년
소프트웨어학과 전공교과목 이수체계도는 교과목 이수체계도 페이지에서 확인하실 수 있습니다.
학수번호 | 과목명 | 시간/학점 | 상세내용 |
CS1020 | 운영체제(Operating Systems) | 강의 3시간 3학점 | 컴퓨터 시스템이 올바르고 최적으로 동작하면서도 사용자 편의성을 제공하기 위한 운영체제의 목표 및 각각의 역할, 그에 적합한 알고리즘에 대해 학습한다. |
CS1142 | 웹클라이언트컴퓨팅(Web Client Computing) | 강의 및실습 3시간 3학점 | 웹 사이트를 구축하기 위한 클라이언트 측 웹 컴퓨팅 기법을 학습한다. 웹페이지 구축을 기초로 하여, JavaScript, JQuery, AJAX 등의 다양한 클라이언트 측의 동적 웹 프로그래밍 기법을 학습하여 웹 개발자로서의 능력을 배양한다. |
CS1144 | 자료구조및실습(Data Structures and Practice) | 강의 및실습 3시간 3학점 | 자료구조를 다루기 위해 필요한 기본개념을 학습하고 구조화된 데이터를 효율적으로 처리하는 방법, 그리고 효율적인 자료구조를 사용하기 위한 구현방법을 익하고 실습하여 문제해결 능력을 배양한다. |
CS1145 | 자바프로그래밍(Java Programming) | 강의 및실습 3시간 3학점 | 널리 활용되고 있는 프로그래밍 언어 중 하나인 자바를 이용하여 객체지향 프로그래밍 이론을 익히고, 이를 기반으로 다양한 응용을 개발해본다. |
CS1149 | 객체지향프로그래밍(Object-Oriented Programming) | 강의 및실습 3시간 3학점 | 대표적인 객체지향 프로그래밍 언어 중 하나인 C++를 이용하여 객체지향 프로그래밍의 개념을 습득하고 객체를 활용한 창의적인 프로그래밍 능력과 고급 프로그래밍 능력을 배양한다. 객체들로 구성된 소프트웨어 시스템 개발 방법을 습득하기 위하여 객체, 클래스, 캡슐화, 객체의 인터페이스와 구현, 상속, 가상함수, 추상 클래스 등의 객체지향 개념을 이용한 프로그래밍 기법을 익힌다. |
CS1201 | 알고리즘및실습(Algorithms and Practice) | 강의 및실습 3시간 3학점 | 알고리즘에 기반한 소프트웨어적 사고의 함양을 위해 소프트웨어 개발에 사용할 수 있는 효율적인 알고리즘을 배우고 이의 복잡도를 분석한다. 또한 이를 프로그램으로 구현함으로써 알고리즘의 활용 능력을 기른다. |
CS1521 | 소프트웨어실습1(Software Practice 1) | 실습 3시간 3학점 | 소규모 프로그램 개발을 위한 주제들을 정하고 이를 구현함으로써 프로그래밍 능력 및 소프트웨어 개발 능력을 강화한다. |
CS1522 | 소프트웨어실습2(Software Practice 2) | 실습 3시간 3학점 | 중급 규모의 프로그램 개발을 위한 주제들을 정하고 이를 구현함으로써 심화된 프로그래밍 능력 및 소프트웨어 개발 능력을 강화한다. |
3학년
소프트웨어학과 전공교과목 이수체계도는 교과목 이수체계도 페이지에서 확인하실 수 있습니다.
학수번호 | 과목명 | 시간/학점 | 상세내용 |
CS1033 | 데이터베이스설계및응용(Database Design and Implementation) | 강의 및실습 3시간 3학점 | 데이터베이스의 설계 기법을 배우고 이를 이용하여 실제 데이터베이스를 설계하고 구현한다. 구현을 위해서는 데이터베이스 개발 도구와 데이터베이스 관리 시스템의 사용법을 익히며, 이를 이용하여 데이터베이스와 연동되는 응용 프로그램을 개발한다. |
CS1048 | 데이터베이스(Introduction to Databases) | 강의 및실습 3시간 3학점 | 데이터베이스시스템을 구성하고 있는 데이터베이스,데이터베이스 관리시스템, 데이터베이스 언어등에관해배운다.관계형모델을중심으로구성요소, 설계 등을 깊이 있게공부하고,상용 DBMS를사용하여데이터베이스언어 SQL의 사용법을익히고, 데이터베이스의기초개념과DBMS의 기능을이해한다. |
CS1050 | 컴퓨터네트워크(Computer Networks) | 강의 3시간 3학점 | 컴퓨터통신을위한통신의기본개념및네트워크의구성이소개된다.OSI모델을참조하여네트워크서비스를제공하기위한하위4개계층의프로토콜을중심으로통신에관한기초이론과LAN과WAN의기본구조와개념을배운다.LAN과WAN에관련된프로토콜및광대역고속통신의기본적인개념을소개한다. |
CS1061 | 네트워크프로그래밍(Network Programming) | 강의 및실습 3시간 3학점 | 컴퓨터네트워크 과목에서 배운 기본개념을 바탕으로 다양한 네트워크 응용프로그램을 개발할 수 있도록 UNIX 소켓 프로그래밍을 중심으로 이론과 실습을 병행한다. 네트워크 응용프로그램 작성의 기본원리를 습득하고 예제 프로그램을 통하여 클라이언트/서버환경에서 상호간에 메시지를 전달하는 다양한 기술에 대하여 실습한다. |
CS1143 | 컴퓨터아키텍처(Computer Architecture) | 강의 3시간 3학점 | 고급 소프트웨어 개발자가 되기 위한 하드웨어의 구조에 대한 필수지식을 배운다. 소프트웨어의 기반이 되는 컴퓨터 하드웨어의 구조와 설계에 관한 내용으로 구성되며, 논리 회로의 기초와 CPU의 구성, 데이터의 흐름, 메모리의 구성과 설계 등을 배운다. |
CS1147 | 자바어플리케이션(Java Applications) | 강의 및실습 3시간 3학점 | 선수과목인 자바프로그래밍에서 배운 기초능력을 기반으로 어플리케이션 개발에 많이 사용되는 제너릭과 컬렉션, 직렬화, 파일입출력, 예외처리, 멀티스레드, 그래픽 유저 인터페이스, TCP/IP 네트워크 프로그래밍, JDBC 프로그래밍 등 고급 기술들을 학습한다. 또한 학기 프로젝트를 통하여 중급 규모 이상의 프로그램을 개발해 봄으로써 종합적인 어플리케이션 개발 능력을 배양한다. |
CS1301 | 웹서버컴퓨팅(Web Server Computing) | 강의 및실습 3시간 3학점 | 서버 측 실행 웹 프로그램 구현 기법들을 학습하여 이를 기반으로 클라이언트 측 실행 웹 프로그램과 통합하여 효율적인 웹서비스를 제공하는 사이트를 구현, 개발한다. 클라이언트 측에서 전달되는 정보를 분석하여 서버 측 프로그램과 데이터베이스를 연동하여 클라이언트가 요구하는 정보를 제공하는 웹 서비스 구축 기법을 학습하고 익힌다. |
CS1302 | 시스템프로그래밍(System Programming) | 강의 및실습 3시간 3학점 | Linux 환경에서 다양한 시스템 프로그래밍을 실습한다. 컴퓨터아키텍처 및 운영체제의 이론을 C 언어를 이용하여 Linux 운영체제에서 구현해 봄으로써 운영체제의 동작 원리를 이해한다. |
CS1303 | 빅데이터분석(Big Data Analysis) | 강의 및실습 3시간 3학점 | 오픈데이터, 빅데이터 등과 같이 정보사회에서 생산되는 다양한 자료의 분석 방법을 공부 하는 과목으로서, 데이터 취득 방법과 취득 후 분석하는 방법을 공부한다. 내용으로는 확률, 확률분포, 추정, 가설검정, 분선분석, 회귀분석과 특히 빅데이터 분석에서 많이 사용되는 시계열분석 등이 포함된다. |
CS1304 | 웹정보프레임워크(Web Information Framework) | 강의 및실습 3시간 3학점 | 특정 플랫폼과 프로그램에 독립적인, 데이터 형식 기술 언어인 XML은 단순한 문자와 데이터를 표현하는 것을 뛰어 넘어서 분산 컴퓨팅의 프로토콜과 전자거래를 위한 표준으로 발전하고 있다. 확장성 있는 마크업 언어인 XML의 기본 문법, DTD, DOM, SAX, Schema, XSL, XSLT 등과 같은 주제에 대하여 실습과 함께 학습하며, Web Service기술과 주요 오픈소스 시스템에서 사용되는 XML 사례(maven 등)를 살펴본다. |
CS1305 | 데이터크롤링(Data Crawling) | 강의 및실습 3시간 3학점 | 빅데이터 기반의 프로젝트를 수행하기 위하여 요구되는 데이터 크롤링 활용능력을 배양하고, 이를 구현하기 위해 파이썬을 이용한 오픈 API 기반의 데이터 크롤링과 웹 페이지 분석 기반의 데이터 크롤링 프로그램을 개발한다. 크롤링한 데이터를 처리하여 활용하는 실무 능력을 학습한다. |
CS1306 | 모바일소프트웨어개발(Mobile Software Development) | 강의 및실습 3시간 3학점 | 최근 활용범위가 넓어진 모바일 기기에서 다양한 기능을 수행할 수 있는 응용 개발 능력을 높이고자 개발자가 이해해야 할 모바일 환경의 특징을 익히고 이를 기반으로 다양한 앱을 직접 개발할 수 있는 능력을 기른다. |
CS1307 | 영상처리프로그래밍(Image Processing Programming) | 강의 및실습 3시간 3학점 | 점차 널리 사용되고 있는 영상처리 기술을 배우기 위해 영상처리의 기본적인 알고리즘인 영상 개선, 영상 복원, 영상 변환, 특징 추출 등에 대해 이론적으로 학습하고, 이를 프로그래밍 실습을 통해 체득한다. |
CS1308 | 게임그래픽스(Game Graphics) | 강의 및실습 3시간 3학점 | 게임 제작에 필요한 기본적인 그래픽스 개념들에 대해 공부하고, 3차원 게임 제작에 사용하는 게임 엔진들의 사용법에 대해 학습한다. 가상현실 기기(VR HMD)를 사용해서 4차 산업에 속하는 가상현실 분야를 체험하는 기회를 가지며, 가상현실 제작 도구 사용법과 가상현실 게임을 개발하는 과정에 대해서도 학습한다. |
CS1309 | 소프트웨어보안(Software Security) | 강의 및실습 3시간 3학점 | 인터넷에서 사용되는 소프트웨어의 보안 문제를 해결하는 방법에 대해 공부한다. 암호분야에서 필요한 수학과, 고전 암호, 대칭키 암호, 공개키 암호, 해시함수, 고급 암호분석 등을 학습한다. |
4학년
소프트웨어학과 전공교과목 이수체계도는 교과목 이수체계도 페이지에서 확인하실 수 있습니다.
학수번호 | 과목명 | 시간/학점 | 상세내용 |
CS1037 | 프로그래밍언어분석(Programming Language Analysis) | 강의 3시간 3학점 | 프로그래밍 언어 자체의 구조를 파악하고 대표적인 최신 프로그래밍 언어들을 서로 비교 분석함으로서 문제 해결을 위한 소프트웨어시스템 설계 및 프로그래밍 기술을 향상시키고, 목표로 하는 시스템에 적합한 프로그래밍 언어의 선정 및 프로그래밍 언어 개발 능력을 기른다. |
CS1065 | 소프트웨어공학(Software Engineering) | 강의 3시간 3학점 | 소프트웨어 생명주기에서 수행되는 소프트웨어 개발 프로세스의 전반적인 내용을 학습한다. 프로젝트 관리, 요구사항 분석, 소프트웨어 아키텍처, 프로토타이핑, 설계, 구현, 시험, 진화, 소프트웨어 재사용, 비용산정, 형상관리, 컴포넌트기반 소프트웨어 공학, 서비스 지향 아키텍처, 소프트웨어 시스템의 확실성 등 소프트웨어공학 개념에 대하여 알아본다. |
CS1073 | 인공지능(Artificial Intelligence) | 강의 3시간 3학점 | 탐색방법, 신경망회로, 머신러닝, 퍼지 알고리즘, 유전자 알고리즘, 자연어 처리 등 인공지능의 발전 과정에서 중요한 역할을 한 기술들의 이론적인 배경과 원리를 설명한다. 또한 프로그래밍 예제를 통하여 인공지능 기술이 어떻게 실생활에 응용되는지를 살펴본다. |
CS1401 | 스프링프레임워크(Spring Framework) | 강의 및실습 3시간 3학점 | 실제 기업 시스템 구축에 많이 이용되는 스프링 프레임워크(spring framework)에 대하여 학습한다. 스프링 프레임워크는 동적인 웹 시스템을 개발하기 위한 오픈소스 애플리케이션 프레임워크이며, 국가 공공부문 정보화 사업 시 권장하고 있는 전자정부 프레임워크의 기반기술로 활용되고 있다. 실제 실무에서 다루는 비즈니스 도메인을 선정하여 학생들이 직접 프로젝트를 수행하면서 신기술을 습득한다. |
CS1402 | 소프트웨어분석및설계(Software Analysis and Design) | 강의 및실습 3시간 3학점 | 객체지향 표준 표기법인 UML 다이어그램의 사용법과 소프트웨어 분석 및 설계 방법에 따라 요구사항 명세와 분석 및 설계 문서를 작성하는 방법을 배운다. 뿐만 아니라 설계 문서를 기반으로 소프트웨어 프로토타입을 구축하고 분석 및 설계과정에 반복적 개발 방법을 적용해 봄으로써 실무 소프트웨어 프로세스를 경험하고 체계적인 소프트웨어 분석 및 설계 방법을 익힌다. |
CS1403 | 빅데이터소프트웨어(Big Data Software) | 강의 및실습 3시간 3학점 | 빅데이터 관련 시스템을 구축하고 빅데이터 분석을 공부한다. 웹이나 SNS로부터 생성된 빅데이터 분석을 위해서 오픈소스 소프트웨어인 R 프로그래밍을 학습하고, R을 이용하여 기본적인 데이터 분석뿐만 아니라 실시간 데이터에서 많이 이용되는 회귀분석, 시계열분석을 실습한다. |
CS1404 | 머신러닝(Machine Learning) | 강의 및실습 3시간 3학점 | 머신러닝에 관한 이론 및 실제적인 주제들에 관해 학습한다. 지도 학습과 비지도 학습 및 강화학습에 관한 기본 원리를 공부하며 이들에 대한 구체적인 알고리즘을 학습한다. 기호규칙 학습, 결정트리, 메모리기반 학습, 신경망, 유전자알고리즘, 베이지안 망, 딥러닝 및 기타 최신 머신러닝 알고리즘을 다룬다. |
CS1405 | 소프트웨어와경영(Software and Management) | 강의 3시간 3학점 | 소프트웨어 등 IT 전공자들이 기업가 정신과 경영 마인드를 길러 관리자나 CEO로 성장할 수 있도록 정보기술관련 경영기법을 배우는 것을 목표로 한다. 소프트웨어 등 IT 분야의 기업들의 성공 또는 실패 사례를 공부함으로써 리더십을 키우는 방안을 알아보며, 소프트웨어의 주된 시장인 BTB 시장의 특성을 공부하여 대응방안 및 재무관리를 배운다. 또한 소프트웨어 회사를 조사하여 발표함으로써 사례를 학습하고 토론한다. |
CS1541 | 캡스톤설계1(Capston Design 1) | 실습 3시간 3학점 | 실무 프로젝트 수행 역량을 강화하기 위하여 스스로 프로젝트를 처음부터 계획하고 분석, 설계, 구현하는 과정을 실습한다. |
CS1542 | 캡스톤설계2(Capston Design 2) | 실습 3시간 3학점 | 캡스톤설계1 에서 구현한 프로젝트를 기반으로 보다 발전된 주제를 다룬다. 발전된 주제의 프로젝트를 확장, 구현하고 테스팅하는 과정을 실습하여 완성한다. |
CS1999 | 졸업작품및시험(Graduation Project and Test) | P학점 | 졸업반 학생의 필수과목으로 졸업을 앞둔 마지막 학기에 신청하며 작품제작 및 발표로 평가한다. 구체적 평가 기준은 학과 내규로 정하며 학과에서 요구하는 제반 기준을 충족하여야 한다. |