과목해설

진로: 소프트웨어기초(Introduction to Programming)
알고리즘 개념을 쉬우면서도 명확하게 이해할 수 있도록 적절한 예를 들어 수행 과정 하나하나를 단계별로 설명한다. 스크래치를 이용해서 알고리즘을 단계별로 구현하고, 프로그래밍 학습의 핵심 내용에 대해서 생각해보고 스스로 완성하는 프로그래밍 학습을 수행한다.
프로그래밍입문(Introduction to Programming)
컴퓨터 프로그래밍의 기본 개념 및 과정을 이해하고, C 언어의 문법 및 알고리즘을 습득하여 프로그램 구현 및 응용 능력을 육성한다.
프로그래밍응용(Advanced Programming)
1학년 1학기에 배운 C언어와 스크래치를 이용한 프로그래밍 기법을 아두이노에 적용하여 소프트웨어가 하드웨어를 동작시키는 원리를 이해하고 문제해결 능력을 향상시킨다.
멀티미디어개론(Introduction to Multimedia)
일러스트레이터 사용 능력 배양을 통해 유비쿼터스 환경에서의 그래픽, GUI, 모바일, 키오스크등에 직접 적용시킬 수 있는 그래픽 제작 능력을 향상시킨다.
객체지향프로그램I(Object Oriented Programming I)
객체지향 언어로 문제 도메인(problem domain)의 문제들을 객체모델링하고, 이를 프로그래밍 언어로 표현하는 방법에 대해 배운다.
데이터구조(Data Structure)
컴퓨터과학 중요 기초과목으로서 효율적이고 체계적인 프로그래밍 기법을 습득하고, 이들의 기초가 되는 자료구조, 처리방법, 연산방법 등을 학습한다. 컴퓨터과학 및 관련 분야의 다양한 소프트웨어 어플리케이션을 구현하기 위한 데이터 구조와 알고리즘의 기본 원리를 다룬다. 소프트웨어 시스템을 만들기 위해서는 어떤 유형의 데이터를 표현할 것인가 혹은 어떤 종류의 알고리즘이 필요한지 여부 등에 대해 적절한 결정을 내려야 하며 필요한 경우 새로운 데이터 구조나 알고리즘을 설계한다.
디지털논리회로(Digital Logic Circuits)
본 강좌에서는 학습내용을 네 부분으로 나누어 강의한다. 첫 번째 부분에서는 디지털 시스템에 대한 개괄적인 설명과 함께 데이터를 컴퓨터에 나타내는 방법에 대해서 강의한다. 두 번째 부분에서는 디지털 시스템의 기능을 나타내기 위하여 부울대수의 기본 개념을 설명하고, 부울함수의 간소화 방법과 부울함수의 구현방법에 대해서 상세히 설명한다. 세 번째 부분에서는 조합논리회로와 순서논리회로의 분석과정 및 설계과정에 대해서 설명하고, 대표적인 구체적 예제를 통하여 분석 및 설계 방법을 익힌다. 마지막 부분에서는 레지스터와 카운터의 동작원리 및 특성, 기억장치의 종류 및 기본 구조에 대해서 다룬다. 이와 같은 디지털 논리회로에 대한 학습내용은 하드웨어 관련 교과목의 이해에 도움이 되고 특히 3학년 2학기에 개설되어 있는 컴퓨터구조 과목의 주요 내용들을 이해하는데 기초가 된다.
멀티미디어응용(Multimedia Application)
모든 멀티미디어 플랫폼을 만드는데 있어 그래픽의 기초가 되는 디지털 이미지 개발 프로그램인 포토샵을 이해하고 활용한다.
윈도우프로그래밍I(Windows Programming I)
C#을 이용하여 문자출력, 그래픽, 이벤트 처리, 윈도우 제어, 메뉴, 대화상자 프로그래밍 등 기본적인 윈도우 응용프로그램을 개발한다.
객체지향프로그래밍II(Object Oriented Programming II)
객체지향 프로그래밍 언어의 심도있는 내용에 대해 배우고, 디자인 패턴과 같은 실제 객체지향 활용 방안을 익힌다.
알고리즘(Algorithms)
앞서 데이터구조를 이수하고 이를 기반으로 다음 내용의 학습을 목표로 한다. 알고리즘 분석법, 정렬과 선택 알고리즘, 자료 검색 및 저장, 그래프 응용 알고리즘, 동적 프로그래밍과 문자열 연산 등을 학습하고 이를 프로그래밍에 활용할 수 있는 능력을 키운다.
윈도우프로그래밍II(Windows Programming II)
C# 프로그래밍 언어를 이용하여 데이터베이스와 연동하는 데이터베이스 기반 응용프로그램을 개발한다.
웹프로그래밍(Web Programming)
웹 사이트를 위한 확장된 컴퓨터 응용소프트웨어에 대한 개발능력을 향상시키기 위한 과정이다. 이 수업을 통하여 학생들은 웹 저작도구, 웹UI, 웹 프로그래밍 등의 가능성에 대하여 배우게 된다.
컴퓨터구조(Computer Architecture)
소프트웨어 개발자가 되기 위해서는 꼭 배워야 할 과목으로, 프로그래밍을 하고 이를 분석 평가하기 위해서는 컴퓨터 안에서 프로그램이 어떻게 작동하는지, 컴퓨터의 작동방식은 어떤지 아는 것이 중요하다. 컴퓨터구조에서는 소프트웨어를 지원하는 하드웨어의 구조 설계, 소프트웨어를 다룬다.
모바일게임프로그래밍(Mobile Game Programming)
모바일 환경에서 게임 제작의 기본 프로세스 및 메커니즘을 이해하고 실습을 통해 이론적 지식을 응용할 수 있는 능력을 배양한다.
데이터베이스(Database)
관계 데이터 모델을 이해하고, SQL문과 관계 대수 연산을 습득한다. ER 다이어그램을 통한 관계 데이터베이스 스키마를 구성하고,DBMS 및 SQL 활용능력을 갖추는 것을 목표로 한다.
웹서비스컴퓨팅(Web Services Computing)
웹서비스 개발의 백엔드의 구성 요소를 익히고, 이를 통한 서비스 개발을 학습한다.
운영체제(Operating Systems)
운영체제를 학습하면서 성능향상이라는 논제와 이를 위해 자원을 어떻게 관리해야하는지를 살펴본다. 주요 운영체제 아키텍처들을 학습하고, 운영체제가 하드웨어를 어떻게 관리하는지, 하드웨어가 운영체제의 기능을 어떻게 지원하는지, 그리고 프로세스에 관해 이해한다.
UI공학I(UI Engineering I)
컴퓨터 그래픽스를 통해 개발에 맞는 UI/GUI 디자인을 손쉽게 제작하고 보다 효과적인 개발과 기획 마케팅에 대한 연구를 통해 디지털과 아날로그의 구분을 떠나 새로운 표현 방법을 연구하고 감성을 담고 표현하며, 소통의 방법을 연구 한다.
컴퓨터네트워크(Computer Networks)
컴퓨터 네트워크의 동작 원리와 네트워크 응용 소프트웨어 개발 방법을 익힌다.
데이터베이스응용(Database Applications)
데이터베이스를 통해 학습한 관계형 데이터베이스 이론을 실제 오라클, MySQL 등과 같은 실습환경에서 이를 응용하여 개발에 활용해본다.
스마트디바이스프로그래밍I(Smart Device Programming I)
안드로이드 개발을 위한 프로그래밍 기법을 익힌다. 안드로이드 개요, 안드로이드 어플리케이션 기초, 스탠드얼론 어플리케이션 설계, 안드로이드 어플리케이션 구현 및 테스트를 통해 실제 현업에서 개발 가능한 프로그래밍 기법등를 실습한다.
소프트웨어공학(Software Engineering)
본 교과에서는 적은 비용으로 품질 좋은 소프트웨어를 개발하기 위한 제반 방법 및 도구, 기법을 학습한다. 소프트웨어 개발은 단순한 프로그래밍 과정만이 아니라 사용자의 요구를 분석하는 과정, 설계하는 과정, 테스트하는 과정을 포함한다. 또한 이러한 일연의 과정들이 조직 속에서 어떻게 일어나며 관리하여야 하는가를 잘 알아야 한다. 즉 소프트웨어 공학의 원리와 방법론들을 실제 프로젝트를 통하여 적용하고 체험함으로써 향후 졸업 후에 이를 바로 적용할 수 있는 능력을 배양하는데 그 목적이 있다.
웹프레임워크프로그래밍(Web Framework Programming)
현존하는 웹 프레임워크에 관해 살피고, 웹 프레임워크를 이용한 웹 서비스 개발을 학습한다.
모바일멀티미디어프로그래밍(Mobile Multimedia Programming)
모바일 환경에서 게임, 가상현실, 증강현실 등의 기본 프로세스 및 메커니즘을 이해하고 실습을 통해 이론적 지식을 응용할 수 있는 능력을 배양한다.
UI공학II(UI Engineering II)
웹사이트 구축을 위해 필요한 웹사이트 설계 및 기획에 필요한 문서들을 제작해보고 드림위버를 통해 기본적인 웹사이트를 제작해 봄으로써 웹 구축 환경을 이해토록 한다.
전공특강(Seminar on Softwar)
졸업을 앞둔 4학년들의 정보처리기사 자격증 획득을 돕고, 취약한 프로그래밍 기술을 반복적으로 학습하게 하여 졸업 후 진로를 준비하는데 도움을 주고자 한다.
스마트디바이스프로그래밍II(Smart Device Programming II)
스마트 기기용 앱 개발을 위한 프로그래밍 기법을 익힌다. 안드로이드 어플리케이션 설계, 스탠드얼론 어플리케이션 설계/개발, RESTful 어플리케이션 설계/개발, 안드로이드 어플리케이션 구현 프로젝트 등을 수행한다.
응용프로젝트I(Application Project I)
자신의 트랙에서 이수한 교과목의 내용을 바탕으로 졸업작품을 설계하고 제작한다.
응용프로젝트II(Application Project II)
자신의 트랙에서 이수한 교과목의 내용을 바탕으로 졸업작품을 설계하고 제작한다.
최신기술특론(Discussion of New Technologies)
웹 서비스와 관련된 최신 기술 동향을 설명하고, 기존 웹 서비스 개발 방법과의 차별성 및 활용방안에 관해 학습한다.
데이터분석(Data Analysis)
본 교육은 데이터마이닝의 개요와 활용법을 다양한 산업 분야에서 공통적으로 적용되는 표준화 처리 과정 (Cross-Industry Standard Process for Data Mining)을 기준으로 배우게 될 것이며 구체적으로 데이터를 수집하는 것으로부터 시작하여 데이터 탐색, 데이터 변형, 결과의 효과적인 해석까지 학습할 수 있도록 구성되어 있습니다. 최종적으로 본 교육을 통해 데이터를 어떻게 읽고 준비하며 탐색이 가능한지 IBM SPSS Modeler를 통해 학습하게 될 것이며 데이터마이닝에서 가장 많이 사용되는 다양한 model들을 배우게 될 것입니다.