최종 수정일 : 2021-12-31 16:06
컴퓨터학과 – Computer Science

컴퓨터학과에서는 정보라는 추상적인 매체에 대하여 최적의 시스템을 구현하기 위한 학문으로서, 소프트웨어의 개발 생산성을 향상시키기 위한 방법을 연구하는 소프트웨어 공학 분야, 응용분야를 뒷받침하기 위한 운영체제 및 시스템 프로그래밍 분야, 컴퓨터의 성능향상을 위한 병렬처리 분야, 컴퓨터에게 인간과 같은 지능을 부여하기 위한 인공지능 분야, 데이터의 정보통신을 다루는 네트워크 분야, 다양한 정보매체를 다루는 그래픽 및 멀티미디어 분야, 효율적인 저장 및 검색방법을 다루는 데이터베이스 분야, 분산 환경에서의 효율적인 시스템을 연구하는 분산 시스템 분야, 효율적 문제해결을 위한 알고리즘 분야, 컴퓨터의 전반적인 구조를 연구하는 컴퓨터 구조 분야 등을 다루고 있다.


Computer Science is a study to implement an optimal system for the abstract medium of information which covers the following:
∙ software engineering dealing with methods to improve software development productivity
∙ operating system and system programming to support application fields
∙ parallel processing field for performance improvement of computer
∙ artificial intelligence for giving computer human-like intelligence
∙ network dealing with information and communication of data
∙ graphic and multimedia dealing with various information media
∙ database dealing with efficient storage and retrieval methods
∙ distributed systems that studies efficient systems in a distributed environment
∙ algorithms for efficient problem solving
∙ computer architecture that studies the overall structure of computers


교육목표(The goal of education)

본 학과의 교육목표는 컴퓨터공학도로서 갖추어야 할 고급 연구능력의 배양과 응용능력 함양에 있다. 이 분야의 첨단기술이 부단히 발전하는 점을 고려하여 연구방법론의 습득과 깊이 있는 연구를 통하여 향후 이 분야의 교육인력으로 양성하거나 혹은 기업이나 연구소에서 적응력있는 전문 연구자로 양성시킨다.


The educational goal of this department is to cultivate advanced research skills and application skills that must be possessed as a computer engineering professional. Considering the constant development of advanced technology in this field, through acquisition of research methodologies and in-depth research, they are nurtured as educators in this field in the future, or as adaptive professional researchers at companies or research institutes.

세부전공(Major)
  • 컴퓨터전공(Computer Science)

교수진 소개(Introducing the Faculty)
프로필
사진
(Photo)
이름
(Name)
직위
(Position)
학위
(Degree)
전공/연구분야
(Major/
Research area)
구내전화
(Phone)
E-mail
박우창 교수 사진 박우창 교수 서울대(석사,박사) 데이터베이스 901-8342 ucpark@duksung.ac.kr
U-chang
Park
Professor Seoul National University. Ph.D. Health / Experimental psychology
  • 연구분야 (Research Area)
    • Database System, Big Data
 
사진
(Photo)
이름
(Name)
직위
(Position)
학위
(Degree)
전공/연구분야
(Major/
Research area)
구내전화
(Phone)
E-mail
이주영 교수 사진 이주영 교수 미 죠지워싱턴대(석사, 박사) 알고리즘 901-8344 jylee@duksung.ac.kr
Ju-young
Lee
Professor The George Washington University, Ph.D. Computer Science / algorithm
  • 연구분야 (Research Area)
    • Graph Algorithm, Optimization Algorithm
 
사진
(Photo)
이름
(Name)
직위
(Position)
학위
(Degree)
전공/연구분야
(Major/
Research area)
구내전화
(Phone)
E-mail
유견아 교수 사진 유견아 교수 미 Southern:California대(박사)
서울대(석사)
인공지능 901-8346 kyeonah@duksung.ac.kr
Kyeon-ah
Yu
Professor USC Ph.D.. Computer Science/ Artificial Intelligence
  • 연구분야 (Research Area)
    • Artificial Intelligence, Multimodal deep learning
 
사진
(Photo)
이름
(Name)
직위
(Position)
학위
(Degree)
전공/연구분야
(Major/
Research area)
구내전화
(Phone)
E-mail
최승훈 교수 사진 최승훈 교수 서울대(석사, 박사) 소프트웨어공학 901-8347 csh@duksung.ac.kr
Seung-hoon
Choi
Professor Seoul National University. Ph.D. Computer Science / Software Engineering
  • 연구분야 (Research Area)
    • Microservices Software Architecture, Self Adaptive Software, Knowledge-based Software Engineering
 
사진
(Photo)
이름
(Name)
직위
(Position)
학위
(Degree)
전공/연구분야
(Major/
Research area)
구내전화
(Phone)
E-mail
이경미 교수 사진 이경미 교수 연세대(석사)
미 lowa 대학(박사)
멀티미디어 901-8348 kmlee@duksung.ac.kr
Kyoung-mi
Lee
Professor The University of Iowa, Ph.D. Computer Science / Computer Vision
  • 연구분야 (Research Area)
    • Computer Vision, Pattern Analysis

교과목해설(Curriculum)
  • 데이터통신특강 (Advanced Data Communication)
    디지털 컴퓨터들 간의 정보 통신을 위한 디지털 신호 처리 기술, 하위 레벨 디지털 통신에 관한 프로토콜 및 그 이론을 다루며, 컴퓨터 네트워크를 위한 일반 기초지식과 신호 전송 및 교환이론 등에 관해 폭넓은 지식의 습득을 목표로 한다.
  • 소프트웨어공학특강 (Selected Topics on Software Engineering)
    대규모 소프트웨어 프로젝트를 팀 단위로 수행하기 위해 필요한 개념 및 이론에 대해 선별적으로 다룬다. 소프트웨어 Specification 기술, 요구 분석 기술, 소프트웨어 설계 기법, Document 기법, 프로젝트 관리 기법, 소프트웨어 생산성 및 재활용성, 사용자 인터페이스 기술, 유지 보수 및 최근의 동향인 객체지향에 기반을 둔 소프트웨어 설계 기법 등과 이들에 대한 세계적인 추세 등을 다룬다.
  • 인공지능특론 (Selected Topics on Intelligence)
    컴퓨터 지능의 본질과 한계를 다룬다. 문제 해결을 위한 경험적 및 알고리즘적인 방법을 다루고 이를 이용하여 지적 처리의 자동화과정을 공부한다. 패턴 인식에 대한 소개와 더불어 전문가 시스템에 대한 이론 및 실습을 겸한다.
  • 운영체제특론 (Advanced Operating System)
    세마포어(Semaphores), 모니터(Monitor) 등의 방법을 이용한 프로세스 관리(생성 및 스위칭)와 동기화 및 통신을 다룬다. 메모리 관리와 입출력 및 화일 관리 등의 이론을 공부하고 데드락(Deadlock)의 감지 및 회복기법을 다룬다. 멀티프로그래밍 운영체제의 구성을 다루고 실습을 겸한다.
  • 객체지향시스템 (Object-Oriented Systems)
    객체지향 기술의 개념 소개와 더불어 이 개념을 소프트웨어 설계, 프로그래밍, 데이타베이스, 사용자 인터페이스 등에 적용한다. PC 환경에서 객체지향 윈도우즈 프로그래밍과 UNIX 환경에서 Motif 프로그래밍을 실습과 함께 다룬다.
  • 알고리즘특론 (Design and Analysis of Algorithms)
    다양한 형태의 정보를 구성하고 처리하는 방법론을 다룬다. Computational Complexity를 분석하고 NP-completeness이론과 NP-complete문제에 대한 정확한 해와 근사해를 위한 방법을 공부한다. Linear프로그래밍 기술과 Dynamic프로그래밍 기술들에 대한 소개도 실습과 함께 다룬다.
  • 데이터베이스시스템 (Database Systems)
    데이타베이스 시스템의 설계와 구현에 관한 기본 개념을 공부하고, 기존의 데이타 모델들에 대하여 학습하며, 그 문제점들을 검토한다. 간단한 실험 데이타베이스 관리 시스템을 실제로 설계 구현하게 함으로써 그 원리와 응용을 습득케 한다.
  • 분산처리론 (Theory and Application of Distributed Computing)
    프로그램 작업을 네트워크를 통해 분산되어 있는 컴퓨터들 상에서 처리하는 개념과 이를 위한 분산구조, 분산 운영체제 그리고 이 경우 발생하는 문제점들인 mutual exclusion, synchronization 등과 이들에 대한 해결책들, Client/Server 시스템 등 앞으로의 분산처리 응용과 최신 동향에 관해 심도 있게 다룬다.
  • 컴퓨터네트워크특강 (Advanced Computer Networks)
    최근 각광을 받고 있는 컴퓨터 통신 분야에 있어서 정보통신에 관한 고급 이론 및 최신 동향 등을 OSI 7-layer network architecture에 입각하여 상위 레벨에서 심도 있게 다룬다. 고급의 고성능 초고속 정보 통신망 service를 위한 BISDN망과 ATM 교환망, 멀티미디어 networking 그리고 망 관리 및 앞으로의 동향 등에 관한 지식을 폭넓게 다룬다.
  • 시스템분석및설계 (Modeling, Analysis and Design of Computer Systems)
    복잡한 컴퓨터 시스템의 분석 방법과 모델링을 위한 이론 및 도구들로, dataflow diagram, discrete event system, Petri net 등과 Markov process를 다루며, 이를 바탕으로 효율적인 시스템을 설계하는 방법 등을 익힌다. 수학적인 접근 방법과 그래프적인 접근방법들을 사용하여 소프트웨어 작업의 분석과 이들을 바탕으로 효율적인 소프트웨어 구성을 위한 설계 기법들을 다룬다.
  • 결함허용시스템 (Fault-Tolerant Computing)
    컴퓨터 동작 중 고장이나 결함이 발생되어도 정상적인 작업 수행이 이루어질 수 있는 고 신뢰성을 가진 컴퓨터 시스템을 위한 하드웨어적 구조 및 소프트웨어 구조 등을 다룬다. 세부 연구 분야로 하드웨어적인 측면과 소프트웨어적인 측면에서 결함 탐지(fault detection), 진단(fault diagnosis), 중복이론(redundancy theory) 등에 관한 지식을 습득하며, 현재 개발되어 있는 결함 허용 컴퓨터 시스템들과 앞으로의 개발 및 응용 동향에 대해 심도 있게 다룬다.
  • 실시간처리시스템 (Real-Time System)
    짧은 시간 내에 결과의 도출을 필요로 하는 하드 혹은 소프트 실시간 작업을 컴퓨터상에서 운용시키기 위해 필요한 개념 및 이론들을 다룬다. 세부 항목들로 Interactive 시스템, 실시간 스케쥴링, 실시간 타스크 및 프로세서 할당, 실시간 자원 할당 등과 이를 위해 컴퓨터 시스템이 갖추어야 할 사항들을 다룬다.
  • 멀티미디어특강 (Multimedia Technology)
    주로 텍스트 정보를 처리하는 기존의 컴퓨터 기술의 한계를 소개하고 음성, 그래픽, 화상 등의 다매체 복합 정보를 처리하기 위한 새로운 기술 및 방법을 공부한다. 다양한 멀티미디어소프트웨어 도구를 사용하여 응용 프로그램을 작성하는 실습을 병행한다.
  • 신경망컴퓨터특강 (Neuro-Computer)
    신경망에 관한 체계적이고 조직적이며 전체적인 개념을 다룬다. 신경망 동작 원리 및 신경망의 인간 두뇌와의 관련 등을 공부하고 신경망 모델들을 연구한다. 문자인식, 음성인식 등 여러 신경망 모델들과 관련된 응용 분야들에 대한 상세한 예를 소개하고 시뮬레이션을 해본다.
  • 병렬처리언어론 (Parallel Programming Languages)
    병렬처리 언어를 사용하여 다양한 병렬처리 컴퓨터 구조와 응용을 위한 체계적인 프로그램개발 방법을 다룬다. CSP, Actor, Unity, Linda 등의 병렬처리 언어들에 대한 특징 및 적합한 응용을 밝히고 Linda 및 CSP를 사용하여 프로그래밍 실습을 한다.
  • 데이터모델링 (Data Modeling)
    데이타간의 관계에 따라 데이타를 논리적으로 구성하는 방법을 다룬다. 기존의 엔티티-관계(Entity-Relational) 데이타 모델을 공부하고 확장된 의미(Semantic), 참조적(Functional) 및 객체지향 데이타 모델링 방법에 대한 이론을 다루고 실습을 겸한다.
  • 성능평가 (Performance Evaluation)
    컴퓨터 시스템의 모델과 성능 분석을 다룬다. 큐잉망(Queuing Network) 모델의 소개와 분석방법을 다룬다. 근사 분석방법과 시뮬레이션 분석을 다룬다. 멀티프로그래밍 운영체제를 모델링하는 예를 소개한다.
  • 컴퓨터그래픽스특론 (Theory and Applications of Computer Graphics)
    컴퓨터 그래픽스의 목적 및 문제점들과 더불어 디스플레이 장치와 입력 장치들을 다룬다. 변환(Transformation), 디스플레이 화일의 생성 그리고 그래픽 언어들을 공부한다. 윈도우화, 프로젝션, 쉐이딩(Shading) 등의 기술을 습득하고 실습한다.
  • 컴파일러특론 (Compiler Design and Construction)
    컴파일러의 구성, 심벌 테이블의 구성, 어휘분석, 구문분석, 코드생성, 코드의 최적화 기술들을 다룬다. 구문 분석된 소스 프로그램의 내부 표현 방식에 의해 파스칼 컴파일러를 구현하여 본다. LEX 및 YACC등의 컴파일러 구축 도구를 이용한다.
  • 형식언어론 (Formal Languages)
    언어와 기계간의 관계를 밝히고 문법 체계와 RE, CFL, CSL 언어의 특성을 다룬다. Finite State Automata, Push-Down Automata, Turing Machine의 이론을 공부한다.
  • 병렬알고리즘 (Parallel Algorithms)
    컴퓨터(프로세서)의 종류와 그들의 Interconnection 형태 및 속성을 다루고 다양한 형태의 병렬 구조에서의 Sorting &Searching, 그래프, Numerical 알고리즘들을 공부한다. Systolic Array를 이용한 알고리즘들도 다루며 프로세서의 Layout을 위한 효율적인 알고리즘을 다룬다.
  • 분산데이터베이스 (Distributed Databases)
    분산데이타베이스 시스템의 제반 문제점과 그 해결방안에 대한 기존의 접근 방법들에 대하여 논한다. 여러 가지 이질 데이타베이스 시스템간의 통합에 관한 문제, 분산 데이타베이스 시스템을 위한 데이타베이스의 설계 문제, 분산환경에서의 보안 문제, 질의 언어 등에 대하여 다룬다.
  • 세미나1·2·3 (Seminar 1·2·3)
  • 병렬처리론 (Theory and Application of Parallel Computing)
    장시간의 시간을 요하는 대규모의 작업을 여러 개의 소규모 작업으로 분할하여 병렬컴퓨터상에서 병렬적으로 처리하는데 사용되는 병렬 처리의 개념, 병렬 컴퓨터 구조 및 병렬 소프트웨어 설계 등에 관한 이론 및 관련지식 습득과 관련 산업 및 연구 분야에의 응용을 목표로 하고 있으며, 최근의 연구동향 및 앞으로의 연구방향 등 병렬처리에 관한 다양한 분야를 다룬다.
  • 프로그래밍언어특론 (Theory of Programming Languages)
    기존의 프로그래밍 언어의 구조, 표기 방법 및 의미가 다루어지고 사용자 중심의 응용언어의 분석 및 설계 방법을 소개한다.
  • 데이터베이스특론 (Advanced Database Systems)
    현재 데이터베이스 시스템의 새로운 흐름에 대하여 학습하는 것을 그 목표로 한다. 학습의 주 내용은 관계 데이터베이스 시스템, 객체지향 데이터베이스 시스템, 분산 데이터베이스 시스템, 연합 데이터베이스 시스템 등이다. 각 시스템에서 발생하는 문제점들과 그 해결방안들에 대하여 학습한다.
  • 디지털비디오처리 (Digital Video Processing)
    시공간 샘플링, 2차원 움직임 추정, 3차원 움직임 추정 및 분할, 비디오 필터링 등 디지털 비디오 처리 기술의 기본 개념들에 관하여 학습한다.
  • 지식기반시스템 (Knowledge-based System)
    인공지능 분야의 하나인 지식 기반 시스템은 기존의 컴퓨터 과학이 다루던 데이터 레벨 이상의 지식을 다루는 분야이다.
  • 게임공학 특강 (Selected Topics in Game Engineering)
    본 과목에서는 컴퓨터 게임의 디자인 및 개발을 위해 필요한 개념과 개발 방법을 포함한다. 주제로는 2D 그래픽스와 애니메이션, sprite, 3D 애니메이션, 이진 공간 분할 트리, 소프트웨어 공학, 게임 디자인, interactive 허구, 사용자 인터페이스, 게임 인공 지능, 게임 SDK의 네트워킹, 다수 경기자 게임, 게임 개발 환경, 소프트웨어의 상품화 등을 포함한다.