이 과목은 '개체지향 프로그래밍(OOP)'과 '개체지향 분석 및 설계(OOAD)'를 한꺼번에 가르치는 과목으로 OO 언어의 사용법을 배우는데 그치지 않고 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력까지 훈련시켜 줍니다. 그 외에 OO 분야의 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2021-01-04T00:00:00.0000000Z
|
2021-04-18T23:59:59.9990000Z
|
수강신청기간 |
2020-12-21T00:00:00.0000000Z
|
2021-01-03T23:59:59.9990000Z
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
'인간이 생각하는 방식으로 프로그래밍 하자!'라는 야심찬 목표를 가지고 시작한 개체지향 프로그래밍(OOP, Object-Oriented Programming)은 이제 주류 프로그래밍 패러다임이 되었습니다. 허나 기존의 프로그래밍 패러다임(예: 절차적 프로그래밍)에 비해 '인간이 생각하는 방식', 다른 말로 하면 '인간다움'이란 정의는 매우 주관적일 수밖에 없습니다. 각 개인이 속한 환경과 시대에 따라 세상을 보는 눈이 달라지니까요.
이 때문에 특정 OO 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.
상술한 주관성 때문에 OO 분야에는 다양한 의견과 주장이 존재해왔습니다. 그리고 어느 시대와 진영의 자료로 공부했느냐에 따라 각 프로그래머가 OO(OOP와 OOAD를 모두 포함)를 이해하는 방식이 많이 다릅니다. 객관성을 추구하는 컴퓨터 과학/공학이라는 학문에 이런 광범위한 주관성은 많은 혼란을 야기합니다. 더 나아가 다른 주장이 나온 이유를 이해하려는 노력 없이 자신이 무비판적으로 수용하며 배운 내용에 기초하여 다른 진영이 무조건 틀렸다고 공격하는 모습들도 OO 분야에서는 종종 발견되는 건설적이지 못한 모습입니다.
이런 문제들을 해결하기 위해 본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2021-01-04T00:00:00.0000000Z
(1주 차)
|
637459128000000000
2021-01-10T22:00:00.0000000Z
|
102
실습 2
|
2
2021-01-11T00:00:00.0000000Z
(2주 차)
|
637465176000000000
2021-01-17T22:00:00.0000000Z
|
103
실습 3
|
3
2021-01-18T00:00:00.0000000Z
(3주 차)
|
637471224000000000
2021-01-24T22:00:00.0000000Z
|
104
실습 4
|
4
2021-01-25T00:00:00.0000000Z
(4주 차)
|
637477272000000000
2021-01-31T22:00:00.0000000Z
|
105
실습 5
|
5
2021-02-01T00:00:00.0000000Z
(5주 차)
|
637483320000000000
2021-02-07T22:00:00.0000000Z
|
106
실습 6
|
6
2021-02-08T00:00:00.0000000Z
(6주 차)
|
637489368000000000
2021-02-14T22:00:00.0000000Z
|
107
실습 7
|
9
2021-03-01T00:00:00.0000000Z
(9주 차)
|
637507512000000000
2021-03-07T22:00:00.0000000Z
|
108
실습 8
|
10
2021-03-08T00:00:00.0000000Z
(10주 차)
|
637513560000000000
2021-03-14T22:00:00.0000000Z
|
109
실습 9
|
11
2021-03-15T00:00:00.0000000Z
(11주 차)
|
637519608000000000
2021-03-21T22:00:00.0000000Z
|
1010
실습 10
|
12
2021-03-22T00:00:00.0000000Z
(12주 차)
|
637525656000000000
2021-03-28T22:00:00.0000000Z
|
1011
실습 11
|
13
2021-03-29T00:00:00.0000000Z
(13주 차)
|
637531704000000000
2021-04-04T22:00:00.0000000Z
|
001
과제 1
|
1
2021-01-04T00:00:00.0000000Z
(1주 차)
|
637471224000000000
2021-01-24T22:00:00.0000000Z
|
002
과제 2
|
4
2021-01-25T00:00:00.0000000Z
(4주 차)
|
637489368000000000
2021-02-14T22:00:00.0000000Z
|
003
과제 3
|
7
2021-02-15T00:00:00.0000000Z
(7주 차)
|
637513560000000000
2021-03-14T22:00:00.0000000Z
|
004
과제 4
|
11
2021-03-15T00:00:00.0000000Z
(11주 차)
|
637531704000000000
2021-04-04T22:00:00.0000000Z
|
2021-01-17T23:59:59.9990000Z | 환불 신청 마감 |
|
---|---|---|
2021-03-07T23:59:59.9990000Z | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2021-05-03T00:00:00.0000000Z
|
2021-08-15T23:59:59.9990000Z
|
수강신청기간 |
2021-04-19T00:00:00.0000000Z
|
2021-05-02T23:59:59.9990000Z
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
'인간이 생각하는 방식으로 프로그래밍 하자!'라는 야심찬 목표를 가지고 시작한 개체지향 프로그래밍(OOP, Object-Oriented Programming)은 이제 주류 프로그래밍 패러다임이 되었습니다. 허나 기존의 프로그래밍 패러다임(예: 절차적 프로그래밍)에 비해 '인간이 생각하는 방식', 다른 말로 하면 '인간다움'이란 정의는 매우 주관적일 수밖에 없습니다. 각 개인이 속한 환경과 시대에 따라 세상을 보는 눈이 달라지니까요.
이 때문에 특정 OO 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.
상술한 주관성 때문에 OO 분야에는 다양한 의견과 주장이 존재해왔습니다. 그리고 어느 시대와 진영의 자료로 공부했느냐에 따라 각 프로그래머가 OO(OOP와 OOAD를 모두 포함)를 이해하는 방식이 많이 다릅니다. 객관성을 추구하는 컴퓨터 과학/공학이라는 학문에 이런 광범위한 주관성은 많은 혼란을 야기합니다. 더 나아가 다른 주장이 나온 이유를 이해하려는 노력 없이 자신이 무비판적으로 수용하며 배운 내용에 기초하여 다른 진영이 무조건 틀렸다고 공격하는 모습들도 OO 분야에서는 종종 발견되는 건설적이지 못한 모습입니다.
이런 문제들을 해결하기 위해 본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2021-05-03T00:00:00.0000000Z
(1주 차)
|
637561944000000000
2021-05-09T22:00:00.0000000Z
|
102
실습 2
|
2
2021-05-10T00:00:00.0000000Z
(2주 차)
|
637567992000000000
2021-05-16T22:00:00.0000000Z
|
103
실습 3
|
3
2021-05-17T00:00:00.0000000Z
(3주 차)
|
637574040000000000
2021-05-23T22:00:00.0000000Z
|
104
실습 4
|
4
2021-05-24T00:00:00.0000000Z
(4주 차)
|
637580088000000000
2021-05-30T22:00:00.0000000Z
|
105
실습 5
|
5
2021-05-31T00:00:00.0000000Z
(5주 차)
|
637586136000000000
2021-06-06T22:00:00.0000000Z
|
106
실습 6
|
6
2021-06-07T00:00:00.0000000Z
(6주 차)
|
637592184000000000
2021-06-13T22:00:00.0000000Z
|
107
실습 7
|
9
2021-06-28T00:00:00.0000000Z
(9주 차)
|
637610328000000000
2021-07-04T22:00:00.0000000Z
|
108
실습 8
|
10
2021-07-05T00:00:00.0000000Z
(10주 차)
|
637616376000000000
2021-07-11T22:00:00.0000000Z
|
109
실습 9
|
11
2021-07-12T00:00:00.0000000Z
(11주 차)
|
637622424000000000
2021-07-18T22:00:00.0000000Z
|
1010
실습 10
|
12
2021-07-19T00:00:00.0000000Z
(12주 차)
|
637628472000000000
2021-07-25T22:00:00.0000000Z
|
1011
실습 11
|
13
2021-07-26T00:00:00.0000000Z
(13주 차)
|
637634520000000000
2021-08-01T22:00:00.0000000Z
|
001
과제 1
|
1
2021-05-03T00:00:00.0000000Z
(1주 차)
|
637574040000000000
2021-05-23T22:00:00.0000000Z
|
002
과제 2
|
4
2021-05-24T00:00:00.0000000Z
(4주 차)
|
637592184000000000
2021-06-13T22:00:00.0000000Z
|
003
과제 3
|
7
2021-06-14T00:00:00.0000000Z
(7주 차)
|
637616376000000000
2021-07-11T22:00:00.0000000Z
|
004
과제 4
|
11
2021-07-12T00:00:00.0000000Z
(11주 차)
|
637634520000000000
2021-08-01T22:00:00.0000000Z
|
2021-05-16T23:59:59.9990000Z | 환불 신청 마감 |
|
---|---|---|
2021-07-04T23:59:59.9990000Z | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2021-09-06T00:00:00.0000000Z
|
2021-12-19T23:59:59.9990000Z
|
수강신청기간 |
2021-08-23T00:00:00.0000000Z
|
2021-09-05T23:59:59.9990000Z
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
'인간이 생각하는 방식으로 프로그래밍 하자!'라는 야심찬 목표를 가지고 시작한 개체지향 프로그래밍(OOP, Object-Oriented Programming)은 이제 주류 프로그래밍 패러다임이 되었습니다. 허나 기존의 프로그래밍 패러다임(예: 절차적 프로그래밍)에 비해 '인간이 생각하는 방식', 다른 말로 하면 '인간다움'이란 정의는 매우 주관적일 수밖에 없습니다. 각 개인이 속한 환경과 시대에 따라 세상을 보는 눈이 달라지니까요.
이 때문에 특정 OO 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.
상술한 주관성 때문에 OO 분야에는 다양한 의견과 주장이 존재해왔습니다. 그리고 어느 시대와 진영의 자료로 공부했느냐에 따라 각 프로그래머가 OO(OOP와 OOAD를 모두 포함)를 이해하는 방식이 많이 다릅니다. 객관성을 추구하는 컴퓨터 과학/공학이라는 학문에 이런 광범위한 주관성은 많은 혼란을 야기합니다. 더 나아가 다른 주장이 나온 이유를 이해하려는 노력 없이 자신이 무비판적으로 수용하며 배운 내용에 기초하여 다른 진영이 무조건 틀렸다고 공격하는 모습들도 OO 분야에서는 종종 발견되는 건설적이지 못한 모습입니다.
이런 문제들을 해결하기 위해 본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2021-09-06T00:00:00.0000000Z
(1주 차)
|
637670808000000000
2021-09-12T22:00:00.0000000Z
|
102
실습 2
|
2
2021-09-13T00:00:00.0000000Z
(2주 차)
|
637676856000000000
2021-09-19T22:00:00.0000000Z
|
103
실습 3
|
3
2021-09-20T00:00:00.0000000Z
(3주 차)
|
637682904000000000
2021-09-26T22:00:00.0000000Z
|
104
실습 4
|
4
2021-09-27T00:00:00.0000000Z
(4주 차)
|
637688952000000000
2021-10-03T22:00:00.0000000Z
|
105
실습 5
|
5
2021-10-04T00:00:00.0000000Z
(5주 차)
|
637695000000000000
2021-10-10T22:00:00.0000000Z
|
106
실습 6
|
6
2021-10-11T00:00:00.0000000Z
(6주 차)
|
637701048000000000
2021-10-17T22:00:00.0000000Z
|
107
실습 7
|
9
2021-11-01T00:00:00.0000000Z
(9주 차)
|
637719192000000000
2021-11-07T22:00:00.0000000Z
|
108
실습 8
|
10
2021-11-08T00:00:00.0000000Z
(10주 차)
|
637725240000000000
2021-11-14T22:00:00.0000000Z
|
109
실습 9
|
11
2021-11-15T00:00:00.0000000Z
(11주 차)
|
637731288000000000
2021-11-21T22:00:00.0000000Z
|
1010
실습 10
|
12
2021-11-22T00:00:00.0000000Z
(12주 차)
|
637737336000000000
2021-11-28T22:00:00.0000000Z
|
1011
실습 11
|
13
2021-11-29T00:00:00.0000000Z
(13주 차)
|
637743384000000000
2021-12-05T22:00:00.0000000Z
|
001
과제 1
|
1
2021-09-06T00:00:00.0000000Z
(1주 차)
|
637682904000000000
2021-09-26T22:00:00.0000000Z
|
002
과제 2
|
4
2021-09-27T00:00:00.0000000Z
(4주 차)
|
637701048000000000
2021-10-17T22:00:00.0000000Z
|
003
과제 3
|
7
2021-10-18T00:00:00.0000000Z
(7주 차)
|
637725240000000000
2021-11-14T22:00:00.0000000Z
|
004
과제 4
|
11
2021-11-15T00:00:00.0000000Z
(11주 차)
|
637743384000000000
2021-12-05T22:00:00.0000000Z
|
2021-09-19T23:59:59.9990000Z | 환불 신청 마감 |
|
---|---|---|
2021-11-07T23:59:59.9990000Z | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |