이 강좌는 선수 과목인 '프로그래밍 입문'에서 배운 절차적 프로그래밍 지식을 기반으로 C언어가 언매니지드 언어로서 가지는 기능들에 대해서 알아봅니다. 이 코스를 성공적으로 마무리한 분들은 하드웨어에 대한 더 넓은 시야를 갖출 수 있을 것입니다.
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2024-01-01 00:00:00 GMT
|
2024-04-14 23:59:59 GMT
|
수강신청기간 |
2023-12-18 00:00:00 GMT
|
2023-12-31 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
C는 가장 널리 사용되는 언매니지드 언어들 중 하나이며, 2019년 7월 기준 전 세계에서 2번째로 많이 사용되는 언어입니다. (출처: https://www.tiobe.com/tiobe-index/)
현존하는 프로그래밍 언어는 크게 매니지드(Managed) 언어와 언매니지드(Unmanaged) 언어로 나눠지며, 이 둘의 차이는 프로그래머가 컴퓨터 하드웨어를 직접 제어할 수 있는지의 여부입니다. (예: 프로그래머가 직접 메모리를 관리하는가?) 대표적인 언매니지드 언어인 C는 하드웨어와 매우 가깝다는장점으로 40년이 넘는 세월 동안 살아남았을 뿐만 아니라 아직도 컴파일러, 운영체제, 임베디드 시스템 등 저수준의 제어 및 메모리 절약이 요구되는 곳에 왕성하게 사용되고 있습니다. 그리고 이런 트렌드는 한 동안 바뀌지 않을 전망입니다.
프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나는 컴퓨터 하드웨어에 대한 이해입니다. C는 대부분의 매니지드 언어와 달리 언매니지드 언어 특유의 기능 (예: 메모리 관리) 들을 포함하고 있기 때문에, 하드웨어의 동작 원리를 공부하고 싶은 분 들, 혹은 컴퓨터를 더 잘 이해하고 싶은 분들에게 좋은 입문용 언매니지드 언어라고 할 수 있겠습니다.
이 강좌는 선수 과목인 '프로그래밍 입문'에서 배운 절차적 프로그래밍 지식을 기반으로 C언어가 언매니지드 언어로서 가지는 기능들에 대해서 알 아봅니다. 이 코스를 성공적으로 마무리한 분들은 하드웨어에 대한 더 넓은 시야를 갖출 수 있을 것입니다.
본 강좌는 첫 주에 '프로그래밍 입문'과목에서 배운 기초 프로그래밍 개념들이 C에 어떻게 적용되는지 살펴 본 뒤 다음과 같이 크게 세 부분으로 나뉘며, 강의 진행도 이 순서를 따릅니다.
ANSI C/C89: C의 기본이 되는 내용과 C로 구현하는 자료 구조들. (~11주 차)
C99: C99 표준에서 추가된 기능들 (12주 차 ~ 13주 차)
C++1x: C11/18 표준에서 추가된 최신 기능들 (14주 차~)
위와 같이 강의를 세 부분으로 나눈 이유는 아직도 많은 C 프로젝트들이 89년도의 표준을 사용하기 때문이며, 이런 트렌드는 바뀌지 않을 전망이기 때문입니다. 따라서 모든 프로젝트에서 쓸 수 있는 C의 지식을 중심으로 배우되 가능할 경우 새로 추가된 기능을 사용할 수 있는 실력을 갖추게 하는 것이 강좌의 목표입니다.
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2024-01-01 00:00:00 GMT
(1주 차)
|
638402616000000000
2024-01-07 22:00:00 GMT
|
102
실습 2
|
2
2024-01-08 00:00:00 GMT
(2주 차)
|
638408664000000000
2024-01-14 22:00:00 GMT
|
103
실습 3
|
3
2024-01-15 00:00:00 GMT
(3주 차)
|
638414712000000000
2024-01-21 22:00:00 GMT
|
104
실습 4
|
4
2024-01-22 00:00:00 GMT
(4주 차)
|
638420760000000000
2024-01-28 22:00:00 GMT
|
105
실습 5
|
5
2024-01-29 00:00:00 GMT
(5주 차)
|
638426808000000000
2024-02-04 22:00:00 GMT
|
106
실습 6
|
6
2024-02-05 00:00:00 GMT
(6주 차)
|
638432856000000000
2024-02-11 22:00:00 GMT
|
107
실습 7
|
9
2024-02-26 00:00:00 GMT
(9주 차)
|
638451000000000000
2024-03-03 22:00:00 GMT
|
108
실습 8
|
10
2024-03-04 00:00:00 GMT
(10주 차)
|
638457048000000000
2024-03-10 22:00:00 GMT
|
109
실습 9
|
11
2024-03-11 00:00:00 GMT
(11주 차)
|
638463096000000000
2024-03-17 22:00:00 GMT
|
1010
실습 10
|
12
2024-03-18 00:00:00 GMT
(12주 차)
|
638469144000000000
2024-03-24 22:00:00 GMT
|
1011
실습 11
|
13
2024-03-25 00:00:00 GMT
(13주 차)
|
638475192000000000
2024-03-31 22:00:00 GMT
|
001
과제 1
|
1
2024-01-01 00:00:00 GMT
(1주 차)
|
638414712000000000
2024-01-21 22:00:00 GMT
|
002
과제 2
|
4
2024-01-22 00:00:00 GMT
(4주 차)
|
638432856000000000
2024-02-11 22:00:00 GMT
|
003
과제 3
|
7
2024-02-12 00:00:00 GMT
(7주 차)
|
638457048000000000
2024-03-10 22:00:00 GMT
|
004
과제 4
|
11
2024-03-11 00:00:00 GMT
(11주 차)
|
638475192000000000
2024-03-31 22:00:00 GMT
|
2024-01-14 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2024-03-03 23:59:59 GMT | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 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 이상, 내장형 또는 독립형 |
시작 날짜 | 종료 날짜 | |
---|---|---|
수강기간 |
2024-05-06 00:00:00 GMT
|
2024-08-18 23:59:59 GMT
|
수강신청기간 |
2024-04-22 00:00:00 GMT
|
2024-05-05 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
C는 가장 널리 사용되는 언매니지드 언어들 중 하나이며, 2019년 7월 기준 전 세계에서 2번째로 많이 사용되는 언어입니다. (출처: https://www.tiobe.com/tiobe-index/)
현존하는 프로그래밍 언어는 크게 매니지드(Managed) 언어와 언매니지드(Unmanaged) 언어로 나눠지며, 이 둘의 차이는 프로그래머가 컴퓨터 하드웨어를 직접 제어할 수 있는지의 여부입니다. (예: 프로그래머가 직접 메모리를 관리하는가?) 대표적인 언매니지드 언어인 C는 하드웨어와 매우 가깝다는장점으로 40년이 넘는 세월 동안 살아남았을 뿐만 아니라 아직도 컴파일러, 운영체제, 임베디드 시스템 등 저수준의 제어 및 메모리 절약이 요구되는 곳에 왕성하게 사용되고 있습니다. 그리고 이런 트렌드는 한 동안 바뀌지 않을 전망입니다.
프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나는 컴퓨터 하드웨어에 대한 이해입니다. C는 대부분의 매니지드 언어와 달리 언매니지드 언어 특유의 기능 (예: 메모리 관리) 들을 포함하고 있기 때문에, 하드웨어의 동작 원리를 공부하고 싶은 분 들, 혹은 컴퓨터를 더 잘 이해하고 싶은 분들에게 좋은 입문용 언매니지드 언어라고 할 수 있겠습니다.
이 강좌는 선수 과목인 '프로그래밍 입문'에서 배운 절차적 프로그래밍 지식을 기반으로 C언어가 언매니지드 언어로서 가지는 기능들에 대해서 알 아봅니다. 이 코스를 성공적으로 마무리한 분들은 하드웨어에 대한 더 넓은 시야를 갖출 수 있을 것입니다.
본 강좌는 첫 주에 '프로그래밍 입문'과목에서 배운 기초 프로그래밍 개념들이 C에 어떻게 적용되는지 살펴 본 뒤 다음과 같이 크게 세 부분으로 나뉘며, 강의 진행도 이 순서를 따릅니다.
ANSI C/C89: C의 기본이 되는 내용과 C로 구현하는 자료 구조들. (~11주 차)
C99: C99 표준에서 추가된 기능들 (12주 차 ~ 13주 차)
C++1x: C11/18 표준에서 추가된 최신 기능들 (14주 차~)
위와 같이 강의를 세 부분으로 나눈 이유는 아직도 많은 C 프로젝트들이 89년도의 표준을 사용하기 때문이며, 이런 트렌드는 바뀌지 않을 전망이기 때문입니다. 따라서 모든 프로젝트에서 쓸 수 있는 C의 지식을 중심으로 배우되 가능할 경우 새로 추가된 기능을 사용할 수 있는 실력을 갖추게 하는 것이 강좌의 목표입니다.
제목 | 공지일 | 제출 마감일 |
---|---|---|
101
실습 1
|
1
2024-05-06 00:00:00 GMT
(1주 차)
|
638511480000000000
2024-05-12 22:00:00 GMT
|
102
실습 2
|
2
2024-05-13 00:00:00 GMT
(2주 차)
|
638517528000000000
2024-05-19 22:00:00 GMT
|
103
실습 3
|
3
2024-05-20 00:00:00 GMT
(3주 차)
|
638523576000000000
2024-05-26 22:00:00 GMT
|
104
실습 4
|
4
2024-05-27 00:00:00 GMT
(4주 차)
|
638529624000000000
2024-06-02 22:00:00 GMT
|
105
실습 5
|
5
2024-06-03 00:00:00 GMT
(5주 차)
|
638535672000000000
2024-06-09 22:00:00 GMT
|
106
실습 6
|
6
2024-06-10 00:00:00 GMT
(6주 차)
|
638541720000000000
2024-06-16 22:00:00 GMT
|
107
실습 7
|
9
2024-07-01 00:00:00 GMT
(9주 차)
|
638559864000000000
2024-07-07 22:00:00 GMT
|
108
실습 8
|
10
2024-07-08 00:00:00 GMT
(10주 차)
|
638565912000000000
2024-07-14 22:00:00 GMT
|
109
실습 9
|
11
2024-07-15 00:00:00 GMT
(11주 차)
|
638571960000000000
2024-07-21 22:00:00 GMT
|
1010
실습 10
|
12
2024-07-22 00:00:00 GMT
(12주 차)
|
638578008000000000
2024-07-28 22:00:00 GMT
|
1011
실습 11
|
13
2024-07-29 00:00:00 GMT
(13주 차)
|
638584056000000000
2024-08-04 22:00:00 GMT
|
001
과제 1
|
1
2024-05-06 00:00:00 GMT
(1주 차)
|
638523576000000000
2024-05-26 22:00:00 GMT
|
002
과제 2
|
4
2024-05-27 00:00:00 GMT
(4주 차)
|
638541720000000000
2024-06-16 22:00:00 GMT
|
003
과제 3
|
7
2024-06-17 00:00:00 GMT
(7주 차)
|
638565912000000000
2024-07-14 22:00:00 GMT
|
004
과제 4
|
11
2024-07-15 00:00:00 GMT
(11주 차)
|
638584056000000000
2024-08-04 22:00:00 GMT
|
2024-05-19 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2024-07-07 23:59:59 GMT | 수강 철회 신청 마감 |
|
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영 체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 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 이상, 내장형 또는 독립형 |