교과과정 소개 페이지 비주얼이미지

교과과정 소개

HOME  > 교과과정  > 교과과정 소개
  • 전산학개론 : 전산학 입문자 수준에서 Computer Science의 주요 분야들을 개괄적으로 학습합니다.
  • 창의성설계 : 실세계 문제 해결을 위한 창의적 접근법을 학습합니다.
  • 이산수학 : 비연속적 수학 구조를 다루는 이산수학은 Computer Science를 이해하는 이론적 기반을 제공합니다. 이 교과목에서는 집합, 논리, 조합, 그래프, 함수, 정보 이론 등을 학습합니다.
  • 프로그래밍기초 : 프로그램 작성에 요구되는 기초 지식을 프로그래밍 실습을 통해 학습합니다. 변수, 대입문, 조건문, 반복문, 함수 등 프로그래밍 구성 요소들을 소스코드 작성, 컴파일, 디버깅 및 코드 실행의 과정을 반복하며 습득합니다.
  • 오픈소프트웨어 : 오픈-소스 소프트웨어의 활용 및 개발 참여는 현시대 소프트웨어 산업을 선도하는데 요구되는 핵심 자질 중 하나입니다. 이 교과목은 리눅스 운영체제 기반의 오픈-소스 소프트웨어 활용을 컴퓨터 실습을 통해 습득합니다.
  • 논리회로설계 : 컴퓨터 시스템의 하드웨어 장치를 구성하는 디지털 논리회로에 대해 학습합니다.
  • 확률통계 : 확률 및 통계 이론은 Computer Science를 공학 및 다양한 응용 분야에 활용하는데 필요한 이론적 기반을 제공합니다. 이 교과목에서는 확률, 확률분포, 가설검정, 추정 등 기초 확률통계학을 학습합니다.
  • 컴퓨터구조 : CPU, ALU, 제어장치(Control Unit), 메모리 등의 내부 구조와 동작 원리를 학습합니다.
  • 자료구조 : 리스트, 트리, 그래프, 해시테이블 등 자료구조를 표현하고 다루는 알고리즘을 학습합니다.
  • 자바프로그래밍 : 클래스, 객체, 메소드, 상속, 오버로딩, 오버라이딩, 인터페이스 등을 학습하며 Java 언어 프로그래밍의 기초 지식을 프로그래밍 실습을 통해 학습합니다.
  • 운영체제 : 프로세스 관리, CPU 스케줄링, 메모리 관리, 가상메모리, 파일시스템 관리 등을 학습하여 운영체제의 구성 요소와 동작 원리를 학습합니다.
  • 알고리즘 : 정렬, 탐색, 분할정복, 동적계획법 등 다양한 유형의 알고리즘 동작 원리를 이해하고, 알고리즘 분석 및 고안 능력을 배양합니다.
  • 어셈블리프로그래밍 : 어셈블리 언어 및 어셈블리 프로그래밍 방법을 학습합니다.
  • 전산수학 : Computer Science를 공학 및 다양한 응용 분야에 활용하는데 필요한 수학적 기반을 학습합니다.
  • 계산이론 : 오토마타 이론을 학습합니다. Finite State Automaton, Pushdown Automaton, Turing Machine, Regular Language, Context-Free Language 등을 학습합니다.
  • 문제해결기법 : 시간/공간 복잡도를 줄이는 알고리즘의 고안 및 적용은 소프트웨어 개발의 핵심 절차들 중 하나입니다. 이 교과목을 통해 실세계 문제에 대한 보다 효율적 알고리즘 구현 능력을 배양하게 됩니다.
  • 자바프로그래밍응용 : Java 언어를 이용한 응용 소프트웨어 구현 능력을 프로그래밍 실습을 통해 배양합니다.
  • 파일처리론 : 프로그램을 이용하여 디스크 상의 파일에 데이터를 효율적으로 저장하거나 파일 내의 데이터를 효율적으로 탐색 및 변경하는 방법을 학습합니다.
  • 데이터베이스 : 관계형 모델(Relational Model), 개체관계모델(Entity-Relationship Model), 정규화(Database Normalization), SQL 등을 학습하여 데이터베이스관리시스템(DBMS)의 동작 원리를 이해하고 데이터베이스 설계 및 활용 능력을 배양합니다.
  • 컴퓨터네트워크 : 컴퓨터 네트워크의 물리적 구성과 데이터 송수신 원리를 학습합니다. 물리/데이터링크/네트워크/전송 계층, 오류제어, 흐름제어, TCP/IP 프로토콜 등을 학습합니다.
  • 모바일웹 : 스마트폰, 탭 등 모바일 환경에서 동작하는 모바일 웹 애플리케이션 구현 능력을 학습합니다.
  • 웹프로그래밍 : 웹 기반 응용 시스템의 동작 원리와 구현 능력을 학습합니다. 웹 환경의 애플리케이션 프로그래밍 능력을 실습을 통해 배양합니다.
  • 객체지향프로그래밍 : 대표적 프로그래밍 패러다임 중 하나인 객체지향 프로그래밍의 개념과 구현 방법을 실습을 통해 학습합니다. C++ 등 객체지향언어를 학습하고 객체지향 프로그래밍 능력을 배양합니다.
  • 머신러닝기초 : 머신러닝 시스템을 구축하는 기초 지식을 학습합니다. 자질 추출, 학습데이터 구축, 교차검증, 성능 평가, Classification/Clustering 알고리즘 등의 동작 원리와 활용법을 프로그래밍 실습을 통해 습득합니다.
  • 프로그래밍언어론 : 프로그램을 작성하는데 사용되는 프로그래밍언어 자체에 대해 학습합니다. BNF 표기법, 변수의 속성과 바인딩, 타입검사, 변수의 영역, 부프로그램(subprogram), 매개변수 전달법 등을 학습합니다.
  • 시스템프로그래밍 : 시스템 콜(System call) 활용 프로그래밍을 통해 시스템 프로그램을 작성하는 능력을 배양합니다. 프로세스 생성/종료, 파일 생성/삭제/열기/읽기/쓰기 등의 시스템 콜 활용법을 실습을 통해 학습합니다.
  • 게임프로그래밍 : 프로그래밍을 이용하여 컴퓨터 게임을 구현하는 방법을 학습합니다.
    프로젝트 : 정형화된 실세계 문제에 대한 애플리케이션 구현을 재현해 봄으로써 프로그래밍 능력을 향상시키고 프로젝트 수행 능력을 배양합니다.
  • 인공지능 : 실세계 문제에 대한 인공지능 시스템을 구축하는 능력을 실습을 통해 학습합니다.
    데이터베이스응용 : SQL 및 프로그래밍을 이용하여 데이터베이스를 활용하는 방법을 학습합니다.
  • 소프트웨어공학 : 요구사항 분석, 설계, 구현, 테스팅, 유지보수 등의 단계로 구성되는 소프트웨어 개발 과정과 그 체계적 개발 방법론들을 학습합니다.
  • 종합설계프로젝트 : 학부과정 동안 습득한 전공 이론과 프로그래밍 기술들을 종합적으로 적용하여 실무형 소프트웨어 개발 프로젝트를 도전적으로 구상하여 설계하고 구현해 봄으로써 실무 프로젝트 수행 능력을 배양합니다.
  • 정보보안 : 컴퓨터 시스템을 다양한 유형의 위협으로부터 보호하는 방법과 그 동작 원리를 학습합니다.
  • 정보검색 : 사용자가 입력한 질의(Query)에 적합한 문서를 검색하는 정보검색시스템(Information Retrieval System)의 내부 구조와 동작 원리를 이해하여 정보검색시스템의 구현 및 활용 능력을 배양합니다.
  • 분산시스템 : 분산 컴퓨팅 환경에 대해 학습합니다.
  • 그래픽스 : 프로그래밍을 이용한 이미지의 표현, 생성, 및 조작법을 학습합니다.
  • 함수형프로그래밍 : 대표적 프로그래밍 패러다임 중 하나인 함수형 프로그래밍의 개념과 구현 방법을 실습을 통해 학습합니다. 함수형 프로그래밍 언어를 학습하고 함수형 프로그래밍 능력을 배양합니다.
  • 병렬컴퓨팅 : 하나의 컴퓨팅 작업을 동시 처리 가능한 부분 작업들로 나누어 병렬적으로 처리하는 방법을 학습합니다. GPU 혹은 멀티-코어 CPU 등을 이용한 병렬 프로그래밍 기법을 습득합니다.
  • 클라우드컴퓨팅 : 서버 가상화 등을 학습하며 클라우드 컴퓨팅 활용 능력을 배양합니다.
 
  • 프린트
  • 페이스북
  • 트위터