C 언매니지드 프로그래밍
What you'll learn
- C 언어 사용법
- 하드웨어 동작 원리
- C 언어가 언매니지드 언어로서 가지는 기능들
Requirements
- '실무 프로그래밍 입문(C#)' 과목 수료
- '컴퓨터 공학용 수학' 과목 수료
Description
본 비디오 강좌는 POCU 아카데미에서 진행하는 COMP2200 수업의 동영상 강의입니다.
C는 가장 널리 사용되는 언매니지드 언어들 중 하나이며, 2019년 7월 기준 전 세계에서 2번째로 많이 사용되는 언어입니다. (출처: TIOBE)
현존하는 프로그래밍 언어는 크게 매니지드(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의 지식을 중심으로 배우되 가능할 경우 새로 추가된 기능을 사용할 수 있는 실력을 갖추게 하는 것이 강좌의 목표입니다.
Who this course is for:
- 컴퓨터 공학의 기본기를 배우고 싶은 분들
- 프로그래머로서 평생 커리어를 꿈꾸는 분들
Instructor
Pope Kim is an experienced software engineer, architect, and educator.
After shipping numerous AAA game titles, including FIFA and Halo as a 3D rendering engineer, he moved to the web industry to lead multi-million dollar projects at Staples. Then he accepted a CTO position at a Silicon Valley startup company where he built and managed engineering teams across three different countries. With his strong leadership, the company's valuation had increased over 25,000 times during his stay.
Outside engineering career, he also taught at multiple universities. His most recent position in education was Faculty at BCIT, which he resigned from to make his own computer science education service, https://pocu.academy