Lecture

자료구조(Data Structure)

데이터 및 데이터 사이의 관계를 기억장치에 표현, 저장하는 방법을 연구하는 학문으로, 자료구조의 ADT(abstract data type)를 정의하고 이를 구현하기 위한 알고리즘을 수립, 평가한다. 자료구조는 array, linked list, stack, queue, graph, multi- linked list 등을 다루며, dynamic memory management 기법과 sort/merge 등의 알고리즘에 대하여 연구한다.

문제해결기법(Problem Solving)

컴퓨터공학과 관련된 문제들을 창의적으로 해결하는 방법을 학습하고 프로그램 개발 능력과 아이디어 발표 및 토론 기술을 습득한다. 본 강의에서는 C, C++ 등의 고급 프로그래밍 언어를 이용하여 다양한 함수와 기초적인 자료구조, 기초적인 알고리즘 설계 기법 등을 학습하고 효율적인 프로그래밍 기술 능력을 개발한다.

알고리즘(Algorithm)

컴퓨터 프로그래밍에 관련된 여러 가지 알고리즘을 분석하고 작성하며, 이들의 Complexity, Efficiency, Compatibility 등을 다룬다.

계산이론(Theory of Computation)

고급 자료구조 및 응용 알고리즘들과 NP-완전 문제들에 대하여 다룬다.