김영탁
영남대학교 공과대학 정보통신공학과 교수
미국 국립표준기술연구원 객원 연구원 (2001년, 2008년, 2015년)
한국통신 (KT) 통신망 연구소 선임연구원/실장 (1990년 4월 ~ 1994년 8월)
한국과학기술원 (KAIST) 전기 및 전자공학과 박사 (1990년 2월)
ytkim@yu.ac.kr
강좌소개 객체 지향형 프로그래밍은 C 프로그래밍에서 실행 순서와 동작 내용을 고려한 함수 단위로 프로그램을 설계하고 구현하는 것과는 달리, C++나 Java의 클래스를 기반으로 객체 (object)를 설계하며, 각 단위 객체별로 시스템 안정성, 데이터의 보호 및 상세 구현 정보 은닉, 소프트웨어 재사용성, 시스템 확장성 등의 장점을 제공함으로써, 이들 객체를 기반으로 큰 규모의 시스템을 개발할 수 있게 하는 좋은 시스템 설계 및 구현 기법을 제공합니다. 본 강좌에서는 우선 C 기반의 프로그래밍 기초 지식을 배운 후, C++를 기반으로 클래스의 설계 및 구현, Operator overloading, 상속 (Inheritance), Polymorphism, 템플릿 개념을 배웁니다. 이어서, C++를 기반으로 한 자료구조에서는 연결형 리스트, 이진 트리, heap, 우선 순위큐, 맵, 해쉬 테이블, 스킵 리스트, 그래프에 대하여 배우며, 그래프 응용 문제의 해결 방안을 배웁니다. 강의영상을 보면서 객체 지향형 프로그래밍과 자료구조에 대해 기초부터 탄탄하게 공부해보세요! |
등록기간 및 학습기간등록기간 : 2017년 10월 16일 ~ 2018년 01월 14일학습기간 : 2017년 10월 16일 ~ 2018년 01월 21일 이수증 발급13 주차에 걸친 학습을 완료하면 이수증을 발급해 드립니다.이수기준은 다음과 같습니다. 총 배점 : 과제,퀴즈-40%, 중간 형성 평가-30%, 최종 수행 평가-30% 발급기준 : 70%이상 이수한 학습자에게 이수증 발급 |
주차 | 차시 | 차시명 | 강좌운영방법 | 퀴즈 문항수 | ||
---|---|---|---|---|---|---|
1 | 1 | 강의소개 | 퀴즈 |
2 | ||
2 | 프로그램 개발 절차 및 중점 고려사항 | 2 | ||||
3 | C 프로그램 기본 구조 | 2 | ||||
2 | 1 | C 프로그램 디버깅, 실행 | 2 | |||
2 | 배열, 탐색, 정렬 | 2 | ||||
3 | 2차원 배열, 행렬, 선형방정식의 해 | 2 | ||||
3 | 1 | Pointer(포인터) | 2 | |||
2 | 동적메모리할당, 동적배열 | 2 | ||||
3 | C프로그램의 함수 호출과 인수 전달 | 2 | ||||
4 | 1 | C프로그램에서의 파일 입출력 | 2 | |||
2 | 구조체, 구조체의 중첩, 구조체 배열, 자기참조 구조체 | 2 | ||||
3 | Byte Ordering, 비트단위 구조체 | 2 | ||||
5 | 1 | C 자기참조 구조체 기반 연결형 리스트 | 2 | |||
2 | C 구조체 기반 Binary Tree | 2 | ||||
3 | Multi-thread | 1 | ||||
6 | 1 | 함수 오버로딩과 함수 템플릿 | 2 | |||
2 | 성능 측정 (경과 시간, 메모리 사용) | 2 | ||||
3 | 중간 형성 평가 | 중간 형성 평가 - 코딩/결과 source code 및 실행결과물 upload | ||||
7 | 1 | C++ 기반 객체 지향 프로그래밍과 객체 지향형 설계 개요 | 퀴즈 |
2 | ||
2 | 생성자 (constructor), 소멸자 (destructor) | 2 | ||||
8 | 1 | 오퍼레이터 오버로딩 (1) | 2 | |||
2 | 오퍼레이터 오버로딩 (2) | 2 | ||||
3 | 상속 (1) | 2 | ||||
9 | 1 | 상속 (2) | 2 | |||
2 | Polymorphism (1) | 2 | ||||
3 | Polymorphism (2) | 2 | ||||
10 | 1 | More Tools, Exception Handling | 2 | |||
2 | 클래스 템플릿 | 2 | ||||
3 | Standard Template Library (STL), Vector, List | 2 | ||||
11 | 1 | Generic Linked List | 2 | |||
2 | Generic Stack, Generic Queue | 2 | ||||
3 | Generic Binary Tree | 2 | ||||
12 | 1 | Binary Tree Re-balancing | 2 | |||
2 | Heap Priority Queue (1) | 2 | ||||
3 | Heap Priority Queue (2) | 2 | ||||
13 | 1 | 기말 최종 평가_강좌를 마무리하며 | 기말 최종 평가 - 코딩/결과 source code 및 실행결과물 upload |
영남대학교 공과대학 정보통신공학과 교수
미국 국립표준기술연구원 객원 연구원 (2001년, 2008년, 2015년)
한국통신 (KT) 통신망 연구소 선임연구원/실장 (1990년 4월 ~ 1994년 8월)
한국과학기술원 (KAIST) 전기 및 전자공학과 박사 (1990년 2월)
ytkim@yu.ac.kr
영남대학교 대학원 정보통신공학과 석사 과정
kimgitae@ynu.ac.kr
영남대학교 대학원 정보통신공학과 석사 과정
wjdsd@ynu.ac.kr
담당 TA 김기태(kimgitae@ynu.ac.kr)
영남대학교 교육개발센터(053-810-1542, yumooc@yu.ac.kr)