์•„๋ž˜ ๋ชจ๋“  ๋‚ ์งœ๋Š” ์‹œ๊ฐ„๋Œ€ ์ž…๋‹ˆ๋‹ค.
   열리는 날    닫히는 날
수강기간
2024-09-02 00:00:00 GMT
2024-12-15 23:59:59 GMT
수강신청기간
2024-08-19 00:00:00 GMT
2024-09-01 23:59:59 GMT

C++์€ C์™€ ๋”๋ถˆ์–ด ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ 2018๋…„ 7์›” ๊ธฐ์ค€ ์ „์„ธ๊ณ„์—์„œ 3๋ฒˆ์งธ๋กœ ๋งŽ์ด ์“ฐ์ด๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. (์ถœ์ฒ˜: TIOBE) ๊ทธ๋ฆฌ๊ณ  ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ผ๋Š” ํŠน์ˆ˜์„ฑ ๋•Œ๋ฌธ์— ํ•œ๋™์•ˆ ์‚ฌ์šฉ๋ฅ ์ด ๋–จ์–ด์ง€์ง€ ์•Š์„ ์ „๋ง์ž…๋‹ˆ๋‹ค.

ํ˜„์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํฌ๊ฒŒ ๋‘˜๋กœ ๋‚˜๋ˆ„๋ฉด ๋งค๋‹ˆ์ง€๋“œ(Managed) ์–ธ์–ด์™€ ์–ธ๋งค๋‹ˆ์ง€๋“œ(Unmanaged) ์–ธ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘˜์˜ ์ฐจ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. (์˜ˆ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๊ฐ€?)

ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ๋ณด๋‹ค ์ œํ’ˆ์„ ๋นจ๋ฆฌ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ถ„์•ผ์—์„œ๋Š” C#, Java์™€ ๊ฐ™์€ ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ฅผ ๋„๋ฆฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šด์˜์ฒด์ œ, ๋น„๋””์˜ค ๊ฒŒ์ž„, ๊ฐ€์ƒํ˜„์‹ค, ์ฃผ์‹๊ฑฐ๋ž˜์†Œ, ๋จธ์‹  ๋Ÿฌ๋‹ ์ฝ”์–ด, ๋ธ”๋ก์ฒด์ธ ๋“ฑ ์„ฑ๋Šฅ์ด ๋” ์ค‘์š”ํ•œ ๋ถ„์•ผ์—์„œ๋Š” ์—ฌ์ „ํžˆ ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ ๊ฐ•์ขŒ๋Š” ์‹ค์ œ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์— ์ค‘์ ์„ ๋งž์ถฐ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์˜ ์žฅ์ ์€ ์—ฌ๊ธฐ์„œ ๊ทธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ง€์†์ ์ธ ์„ฑ์žฅ์— ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ์ง€์‹ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์ดํ•ด์ž…๋‹ˆ๋‹ค. ํƒ‘ ๋ ˆ์ด์„œ๋ผ๋ฉด ์ž๋™์ฐจ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ž˜ ์•Œ์•„์•ผ ํ•˜๋“ฏ์ด ํƒ‘ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ํ•˜๋“œ์›จ์–ด์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ž˜ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฑธ ๋•๋Š” ์–ธ์–ด๊ฐ€ ๋ฐ”๋กœ ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

'COMP2500: Java ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์„ค๊ณ„'์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด ๊ฐ•์ขŒ์—์„œ๋„ ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์— ๋Œ€ํ•ด ๋ฐฐ์›๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ฝ”์Šค๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•œ ๋ถ„๋“ค์€ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๊นŒ์ง€ ์ž์„ธํžˆ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์ขŒ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๊ฐ•์˜ ์ง„ํ–‰๋„ ์ด ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  1. ์ฝ”์–ด C++: ์ฐธ์กฐ, ํด๋ž˜์Šค, ์ƒ์† ๋“ฑ C\++์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋‚ด์šฉ. C++98 ํ‘œ์ค€ ( ~ 5์ฃผ ์ฐจ)
  2. ๋ชจ๋˜ C++: STL ๋“ฑ C++03 ํ‘œ์ค€์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ ์ค‘ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” ๋‚ด์šฉ๋“ค (6์ฃผ ์ฐจ ~ 9์ฃผ ์ฐจ)
  3. C++1x: C++11/14/17 ํ‘œ์ค€์—์„œ ์ถ”๊ฐ€๋œ ์ตœ์‹  ๊ธฐ๋Šฅ ์ค‘ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” ๋‚ด์šฉ๋“ค (10์ฃผ ์ฐจ ~ )

์œ„์™€ ๊ฐ™์ด ๊ฐ•์˜๋ฅผ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆˆ ์ด์œ ๋Š” ํšŒ์‚ฌ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” C++ ํ‘œ์ค€์ด ๋‹ค๋ฅด๊ณ , ์„ฑ๋Šฅ ์ƒ์˜ ์ด์œ ๋กœ ์ผ๋ถ€๋Ÿฌ ๊ณผ๊ฑฐ์˜ ํ‘œ์ค€์„ ์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ๋„ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์‹ ์˜ C++ ํ‘œ์ค€๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์—…๊ณ„์—์„œ ์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

수강 시작 날짜 : 2024-09-02 00:00:00 GMT

수업 내용
  • ํ—ฌ๋กœ ์›”๋“œ(Hello World)
  • ์ฝ˜์†”ํ™”๋ฉด ์ž…์ถœ๋ ฅ(I/O)
  • bool ๋ฐ์ดํ„ฐํ˜•
  • ์ฐธ์กฐ(reference)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 57๋ถ„): ๋ˆ„๊ฐ€ ์ด ์ฝ”์Šค๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋‚˜์š”? ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 1

  • 과제 1  (제출 마감: 2024-09-22 22:00:00 GMT)

수업 내용
  • string ํด๋ž˜์Šค
  • ํŒŒ์ผ ์ž…์ถœ๋ ฅ(I/O)
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(object-oriented programming) 1
    • ํด๋ž˜์Šค
    • ์Šคํƒ๊ณผ ํž™
    • new, delete ํ‚ค์›Œ๋“œ
    • ์ƒ์„ฑ์ž(constructor), ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ(initializer list)
    • ์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(constructor overloading), ์†Œ๋ฉธ์ž(destructor)
    • const ํ‚ค์›Œ๋“œ

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 3์‹œ๊ฐ„ 24๋ถ„): std::string ํด๋ž˜์Šค ~ ๊ตฌ์กฐ์ฒด(Struct) vs ํด๋ž˜์Šค(Class)

과제 및 실습
  • 실습 2

  • 과제 1  (제출 마감: 2024-09-22 22:00:00 GMT)

수업 내용
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ณ„์†)
    • ๋ณต์‚ฌ ์ƒ์„ฑ์ž(copy constructor)
    • ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ(function overloading)
    • ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(operator overloading)
    • friend ํ‚ค์›Œ๋“œ
    • ์ƒ์†(inheritance)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 59๋ถ„): ๋ณต์‚ฌ(Copy) ์ƒ์„ฑ์ž ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 3

  • 과제 1  (제출 마감: 2024-09-22 22:00:00 GMT)

수업 내용
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ณ„์†)
    • ๋‹คํ˜•์„ฑ(polymorphism), ๊ฐ€์ƒํ•จ์ˆ˜(virtual function), ๊ฐ€์ƒ ํ…Œ์ด๋ธ”(virtual table)
    • ๋‹ค์ค‘์ƒ์†(multiple inheritance)
    • ์ถ”์ƒ ํด๋ž˜์Šค(abstract class)
    • "์ธํ„ฐํŽ˜์ด์Šค(interface)"

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 13๋ถ„): ๋‹คํ˜•์„ฑ(Polymorphism) ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 4

  • 과제 2  (제출 마감: 2024-10-13 22:00:00 GMT)

수업 내용
  • ํ˜•๋ณ€ํ™˜(type casting)
  • ์ธ๋ผ์ธ ํ•จ์ˆ˜(inline function)
  • ์ •์ (static) ๋ฉค๋ฒ„ ํ•จ์ˆ˜/๋ณ€์ˆ˜

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 00๋ถ„): C ์Šคํƒ€์ผ ์บ์ŠคํŒ… ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 5

  • 과제 2  (제출 마감: 2024-10-13 22:00:00 GMT)

수업 내용
  • ์˜ˆ์™ธ (exception)
  • ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(STL, Standard Template Library) 1
    • ๋ฒกํ„ฐ(vector)
    • ๋ฐ˜๋ณต์ž(์ดํ„ฐ๋ ˆ์ดํ„ฐ, iterator)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 37๋ถ„): Java ์˜ˆ์™ธ vs C++ ์˜ˆ์™ธ ~ ๋ฒกํ„ฐ์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

과제 및 실습
  • 실습 6

  • 과제 2  (제출 마감: 2024-10-13 22:00:00 GMT)

수업 내용
  • ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (๊ณ„์†)
    • ๋งต(map)
    • ์…‹(set)
    • ํ(queue)
    • ์Šคํƒ(stack)
    • ๋ฆฌ์ŠคํŠธ(list)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 17๋ถ„): ๋งต(Map)์ด๋ž€? ~ STL ์ปจํ…Œ์ด๋„ˆ์˜ ๋ชฉ์ 

과제 및 실습
  • 과제 3  (제출 마감: 2024-11-10 22:00:00 GMT)

수업 내용
  • ์ˆ˜์—… ๋ฐ ์‹ค์Šต/๊ณผ์ œ ์ œ์ถœ ์—†์Œ (์ด์œ : ์ค‘๊ฐ„๊ณ ์‚ฌ ์ฃผ๊ฐ„)
과제 및 실습
  • 과제 3  (제출 마감: 2024-11-10 22:00:00 GMT)

수업 내용
  • ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(template programming)
  • ํ…œํ”Œ๋ฆฟ ํŠน์ˆ˜ํ™”(template specialization)
  • STL ์•Œ๊ณ ๋ฆฌ๋“ฌ(STL algorithm)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 29๋ถ„): ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 7

  • 과제 3  (제출 마감: 2024-11-10 22:00:00 GMT)

수업 내용
  • ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ๋“ค
    • auto ํ‚ค์›Œ๋“œ
    • static_assert ํ‚ค์›Œ๋“œ
    • default, delete ํ‚ค์›Œ๋“œ
    • final, override ํ‚ค์›Œ๋“œ
  • ์ƒˆ๋กœ์šด ์ž๋ฃŒํ˜•๋“ค
    • nullptr
    • ๊ณ ์ • ํญ ์ •์ˆ˜ํ˜•(fixed-width integer types)
    • enum class

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 32๋ถ„): auto ํ‚ค์›Œ๋“œ: ํฌ์ธํ„ฐ ๋ฐ ์ฐธ์กฐ ๋ฐ›๊ธฐ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 8

  • 과제 3  (제출 마감: 2024-11-10 22:00:00 GMT)

수업 내용
  • ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ STL ์ปจํ…Œ์ด๋„ˆ
    • ์ •๋ ฌ์•ˆ๋œ ๋งต(unordered_map)
    • ์ •๋ ฌ์•ˆ๋œ ์…‹(unordered_set)
    • ์–ด๋ ˆ์ด(array)
  • ๋ฒ”์œ„ ๊ธฐ๋ฐ˜ for(range-based for)
  • ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ(smart pointer) 1
    • ์œ ๋‹ˆํฌ ํฌ์ธํ„ฐ(unique_ptr)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 15๋ถ„): ์ •๋ ฌ ์•ˆ๋œ ๋งต(unordered_map) 1 ~ ์ฐธ์กฐ ์นด์šดํŒ… 2

과제 및 실습
  • 실습 9

  • 과제 4  (제출 마감: 2024-12-01 22:00:00 GMT)

수업 내용
  • ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ (๊ณ„์†)
    • ๊ณต์œ  ํฌ์ธํ„ฐ(shared_ptr)
    • ์•ฝํ•œ ํฌ์ธํ„ฐ(weak_ptr)
  • ์ด๋™ ์ƒ์„ฑ์ž(move constructor)
  • ์ด๋™ ๋Œ€์ž…์—ฐ์‚ฐ์ž(move assignment operator)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 34๋ถ„): ๊ณต์œ (Shared) ํฌ์ธํ„ฐ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 10

  • 과제 4  (제출 마감: 2024-12-01 22:00:00 GMT)

수업 내용
  • ์ƒ์ˆ˜ํ‘œํ˜„์‹(constexpr)
  • ๋žŒ๋‹ค ํ‘œํ˜„์‹(lambda expression)
  • ๊ฐ€๋ณ€ ์ธ์ž ํ…œํ”Œ๋ฆฟ(variadic template)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 24๋ถ„): constexpr์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 11

  • 과제 4  (제출 마감: 2024-12-01 22:00:00 GMT)

수업 내용
  • ํŒŒ์ผ ์‹œ์Šคํ…œ(filesystem)
  • ๋ชจ๋“ˆ ์‹œ์Šคํ…œ(module system)
  • ์“ฐ๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(threading library)
    • ์“ฐ๋ ˆ๋“œ(thread), ๋ฎคํ…์Šค(mutex), ์กฐ๊ฑด๋ณ€์ˆ˜(condition variables)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 49๋ถ„): ํŒŒ์ผ์‹œ์Šคํ…œ 1 ~ ๋งˆ๋ฌด๋ฆฌ

과제 및 실습
  • 없음

수업 내용
  • ์ˆ˜์—… ๋ฐ ์‹ค์Šต/๊ณผ์ œ ์ œ์ถœ ์—†์Œ (์ด์œ : ๊ธฐ๋ง๊ณ ์‚ฌ ์ฃผ๊ฐ„)
과제 및 실습
  • 없음

제목   공지일   제출 마감  
실습 1
2024-09-02 00:00:00 GMT (1주 차) 2024-09-08 22:00:00 GMT
실습 2
2024-09-09 00:00:00 GMT (2주 차) 2024-09-15 22:00:00 GMT
실습 3
2024-09-16 00:00:00 GMT (3주 차) 2024-09-22 22:00:00 GMT
실습 4
2024-09-23 00:00:00 GMT (4주 차) 2024-09-29 22:00:00 GMT
실습 5
2024-09-30 00:00:00 GMT (5주 차) 2024-10-06 22:00:00 GMT
실습 6
2024-10-07 00:00:00 GMT (6주 차) 2024-10-13 22:00:00 GMT
실습 7
2024-10-28 00:00:00 GMT (9주 차) 2024-11-03 22:00:00 GMT
실습 8
2024-11-04 00:00:00 GMT (10주 차) 2024-11-10 22:00:00 GMT
실습 9
2024-11-11 00:00:00 GMT (11주 차) 2024-11-17 22:00:00 GMT
실습 10
2024-11-18 00:00:00 GMT (12주 차) 2024-11-24 22:00:00 GMT
실습 11
2024-11-25 00:00:00 GMT (13주 차) 2024-12-01 22:00:00 GMT
과제 1
2024-09-02 00:00:00 GMT (1주 차) 2024-09-22 22:00:00 GMT
과제 2
2024-09-23 00:00:00 GMT (4주 차) 2024-10-13 22:00:00 GMT
과제 3
2024-10-14 00:00:00 GMT (7주 차) 2024-11-10 22:00:00 GMT
과제 4
2024-11-11 00:00:00 GMT (11주 차) 2024-12-01 22:00:00 GMT
2024-09-15 23:59:59 GMT 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2024-11-03 23:59:59 GMT 수강 철회 신청 마감
  • 성적표에 "W"로 표시
수료하지 않은 선수과목에 대한 자가평가 질문
  1. COMP2200: 나는 C에서 포인터를 이용하여 singly-linked list의 모든 기능을 구현할 수 있다.
  2. COMP2200: 나는 별도의 메모리 할당 없이 포인터만 사용해서 C 스타일 문자열을 뒤집을 수 있다.
  3. COMP2500: 나는 개체지향 프로그래밍에서 상속과 합성(composition)의 장단점에 대해 설명할 수 있다.
권장 소프트웨어
  1. ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ
  2. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2022
    • ์„ค์น˜ ์ค‘ ์›Œํฌ๋กœ๋“œ 'C++๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์Šคํฌํ†ฑ ๊ฐœ๋ฐœ'์„ ๋ฐ˜๋“œ์‹œ ์„ ํƒํ•  ๊ฒƒ
    • ์ฃผ์˜: ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ์™€๋Š” ๋‹ค๋ฆ„
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.

  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.

윈도우 리눅스 크롬 운영체제
운영체제 윈도우 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 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.0%)

  • 기말고사 (25.0%)

학생 비율 점수
   열리는 날    닫히는 날
수강기간
2025-05-05 00:00:00 GMT
2025-08-17 23:59:59 GMT
수강신청기간
2025-04-21 00:00:00 GMT
2025-05-04 23:59:59 GMT

C++์€ C์™€ ๋”๋ถˆ์–ด ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ 2018๋…„ 7์›” ๊ธฐ์ค€ ์ „์„ธ๊ณ„์—์„œ 3๋ฒˆ์งธ๋กœ ๋งŽ์ด ์“ฐ์ด๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. (์ถœ์ฒ˜: TIOBE) ๊ทธ๋ฆฌ๊ณ  ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ผ๋Š” ํŠน์ˆ˜์„ฑ ๋•Œ๋ฌธ์— ํ•œ๋™์•ˆ ์‚ฌ์šฉ๋ฅ ์ด ๋–จ์–ด์ง€์ง€ ์•Š์„ ์ „๋ง์ž…๋‹ˆ๋‹ค.

ํ˜„์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํฌ๊ฒŒ ๋‘˜๋กœ ๋‚˜๋ˆ„๋ฉด ๋งค๋‹ˆ์ง€๋“œ(Managed) ์–ธ์–ด์™€ ์–ธ๋งค๋‹ˆ์ง€๋“œ(Unmanaged) ์–ธ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘˜์˜ ์ฐจ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. (์˜ˆ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๊ฐ€?)

ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ๋ณด๋‹ค ์ œํ’ˆ์„ ๋นจ๋ฆฌ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ถ„์•ผ์—์„œ๋Š” C#, Java์™€ ๊ฐ™์€ ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ฅผ ๋„๋ฆฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šด์˜์ฒด์ œ, ๋น„๋””์˜ค ๊ฒŒ์ž„, ๊ฐ€์ƒํ˜„์‹ค, ์ฃผ์‹๊ฑฐ๋ž˜์†Œ, ๋จธ์‹  ๋Ÿฌ๋‹ ์ฝ”์–ด, ๋ธ”๋ก์ฒด์ธ ๋“ฑ ์„ฑ๋Šฅ์ด ๋” ์ค‘์š”ํ•œ ๋ถ„์•ผ์—์„œ๋Š” ์—ฌ์ „ํžˆ ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ ๊ฐ•์ขŒ๋Š” ์‹ค์ œ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์— ์ค‘์ ์„ ๋งž์ถฐ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์˜ ์žฅ์ ์€ ์—ฌ๊ธฐ์„œ ๊ทธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ง€์†์ ์ธ ์„ฑ์žฅ์— ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ์ง€์‹ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์ดํ•ด์ž…๋‹ˆ๋‹ค. ํƒ‘ ๋ ˆ์ด์„œ๋ผ๋ฉด ์ž๋™์ฐจ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ž˜ ์•Œ์•„์•ผ ํ•˜๋“ฏ์ด ํƒ‘ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ํ•˜๋“œ์›จ์–ด์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ž˜ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฑธ ๋•๋Š” ์–ธ์–ด๊ฐ€ ๋ฐ”๋กœ ์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

'COMP2500: Java ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์„ค๊ณ„'์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด ๊ฐ•์ขŒ์—์„œ๋„ ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์— ๋Œ€ํ•ด ๋ฐฐ์›๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ฝ”์Šค๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•œ ๋ถ„๋“ค์€ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๊นŒ์ง€ ์ž์„ธํžˆ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์ขŒ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๊ฐ•์˜ ์ง„ํ–‰๋„ ์ด ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  1. ์ฝ”์–ด C++: ์ฐธ์กฐ, ํด๋ž˜์Šค, ์ƒ์† ๋“ฑ C\++์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋‚ด์šฉ. C++98 ํ‘œ์ค€ ( ~ 5์ฃผ ์ฐจ)
  2. ๋ชจ๋˜ C++: STL ๋“ฑ C++03 ํ‘œ์ค€์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ ์ค‘ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” ๋‚ด์šฉ๋“ค (6์ฃผ ์ฐจ ~ 9์ฃผ ์ฐจ)
  3. C++1x: C++11/14/17 ํ‘œ์ค€์—์„œ ์ถ”๊ฐ€๋œ ์ตœ์‹  ๊ธฐ๋Šฅ ์ค‘ ์—…๊ณ„์—์„œ ์“ฐ์ด๋Š” ๋‚ด์šฉ๋“ค (10์ฃผ ์ฐจ ~ )

์œ„์™€ ๊ฐ™์ด ๊ฐ•์˜๋ฅผ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆˆ ์ด์œ ๋Š” ํšŒ์‚ฌ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” C++ ํ‘œ์ค€์ด ๋‹ค๋ฅด๊ณ , ์„ฑ๋Šฅ ์ƒ์˜ ์ด์œ ๋กœ ์ผ๋ถ€๋Ÿฌ ๊ณผ๊ฑฐ์˜ ํ‘œ์ค€์„ ์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ๋„ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์‹ ์˜ C++ ํ‘œ์ค€๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์—…๊ณ„์—์„œ ์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

수강 시작 날짜 : 2025-05-05 00:00:00 GMT

수업 내용
  • ํ—ฌ๋กœ ์›”๋“œ(Hello World)
  • ์ฝ˜์†”ํ™”๋ฉด ์ž…์ถœ๋ ฅ(I/O)
  • bool ๋ฐ์ดํ„ฐํ˜•
  • ์ฐธ์กฐ(reference)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 57๋ถ„): ๋ˆ„๊ฐ€ ์ด ์ฝ”์Šค๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋‚˜์š”? ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 1

  • 과제 1  (제출 마감: 2025-05-25 22:00:00 GMT)

수업 내용
  • string ํด๋ž˜์Šค
  • ํŒŒ์ผ ์ž…์ถœ๋ ฅ(I/O)
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(object-oriented programming) 1
    • ํด๋ž˜์Šค
    • ์Šคํƒ๊ณผ ํž™
    • new, delete ํ‚ค์›Œ๋“œ
    • ์ƒ์„ฑ์ž(constructor), ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ(initializer list)
    • ์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(constructor overloading), ์†Œ๋ฉธ์ž(destructor)
    • const ํ‚ค์›Œ๋“œ

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 3์‹œ๊ฐ„ 24๋ถ„): std::string ํด๋ž˜์Šค ~ ๊ตฌ์กฐ์ฒด(Struct) vs ํด๋ž˜์Šค(Class)

과제 및 실습
  • 실습 2

  • 과제 1  (제출 마감: 2025-05-25 22:00:00 GMT)

수업 내용
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ณ„์†)
    • ๋ณต์‚ฌ ์ƒ์„ฑ์ž(copy constructor)
    • ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ(function overloading)
    • ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(operator overloading)
    • friend ํ‚ค์›Œ๋“œ
    • ์ƒ์†(inheritance)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 59๋ถ„): ๋ณต์‚ฌ(Copy) ์ƒ์„ฑ์ž ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 3

  • 과제 1  (제출 마감: 2025-05-25 22:00:00 GMT)

수업 내용
  • ๊ฐœ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ณ„์†)
    • ๋‹คํ˜•์„ฑ(polymorphism), ๊ฐ€์ƒํ•จ์ˆ˜(virtual function), ๊ฐ€์ƒ ํ…Œ์ด๋ธ”(virtual table)
    • ๋‹ค์ค‘์ƒ์†(multiple inheritance)
    • ์ถ”์ƒ ํด๋ž˜์Šค(abstract class)
    • "์ธํ„ฐํŽ˜์ด์Šค(interface)"

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 13๋ถ„): ๋‹คํ˜•์„ฑ(Polymorphism) ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 4

  • 과제 2  (제출 마감: 2025-06-15 22:00:00 GMT)

수업 내용
  • ํ˜•๋ณ€ํ™˜(type casting)
  • ์ธ๋ผ์ธ ํ•จ์ˆ˜(inline function)
  • ์ •์ (static) ๋ฉค๋ฒ„ ํ•จ์ˆ˜/๋ณ€์ˆ˜

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 00๋ถ„): C ์Šคํƒ€์ผ ์บ์ŠคํŒ… ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 5

  • 과제 2  (제출 마감: 2025-06-15 22:00:00 GMT)

수업 내용
  • ์˜ˆ์™ธ (exception)
  • ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(STL, Standard Template Library) 1
    • ๋ฒกํ„ฐ(vector)
    • ๋ฐ˜๋ณต์ž(์ดํ„ฐ๋ ˆ์ดํ„ฐ, iterator)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 37๋ถ„): Java ์˜ˆ์™ธ vs C++ ์˜ˆ์™ธ ~ ๋ฒกํ„ฐ์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

과제 및 실습
  • 실습 6

  • 과제 2  (제출 마감: 2025-06-15 22:00:00 GMT)

수업 내용
  • ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (๊ณ„์†)
    • ๋งต(map)
    • ์…‹(set)
    • ํ(queue)
    • ์Šคํƒ(stack)
    • ๋ฆฌ์ŠคํŠธ(list)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 17๋ถ„): ๋งต(Map)์ด๋ž€? ~ STL ์ปจํ…Œ์ด๋„ˆ์˜ ๋ชฉ์ 

과제 및 실습
  • 과제 3  (제출 마감: 2025-07-13 22:00:00 GMT)

수업 내용
  • ์ˆ˜์—… ๋ฐ ์‹ค์Šต/๊ณผ์ œ ์ œ์ถœ ์—†์Œ (์ด์œ : ์ค‘๊ฐ„๊ณ ์‚ฌ ์ฃผ๊ฐ„)
과제 및 실습
  • 과제 3  (제출 마감: 2025-07-13 22:00:00 GMT)

수업 내용
  • ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(template programming)
  • ํ…œํ”Œ๋ฆฟ ํŠน์ˆ˜ํ™”(template specialization)
  • STL ์•Œ๊ณ ๋ฆฌ๋“ฌ(STL algorithm)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 29๋ถ„): ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 7

  • 과제 3  (제출 마감: 2025-07-13 22:00:00 GMT)

수업 내용
  • ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ๋“ค
    • auto ํ‚ค์›Œ๋“œ
    • static_assert ํ‚ค์›Œ๋“œ
    • default, delete ํ‚ค์›Œ๋“œ
    • final, override ํ‚ค์›Œ๋“œ
  • ์ƒˆ๋กœ์šด ์ž๋ฃŒํ˜•๋“ค
    • nullptr
    • ๊ณ ์ • ํญ ์ •์ˆ˜ํ˜•(fixed-width integer types)
    • enum class

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 32๋ถ„): auto ํ‚ค์›Œ๋“œ: ํฌ์ธํ„ฐ ๋ฐ ์ฐธ์กฐ ๋ฐ›๊ธฐ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 8

  • 과제 3  (제출 마감: 2025-07-13 22:00:00 GMT)

수업 내용
  • ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ STL ์ปจํ…Œ์ด๋„ˆ
    • ์ •๋ ฌ์•ˆ๋œ ๋งต(unordered_map)
    • ์ •๋ ฌ์•ˆ๋œ ์…‹(unordered_set)
    • ์–ด๋ ˆ์ด(array)
  • ๋ฒ”์œ„ ๊ธฐ๋ฐ˜ for(range-based for)
  • ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ(smart pointer) 1
    • ์œ ๋‹ˆํฌ ํฌ์ธํ„ฐ(unique_ptr)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 2์‹œ๊ฐ„ 15๋ถ„): ์ •๋ ฌ ์•ˆ๋œ ๋งต(unordered_map) 1 ~ ์ฐธ์กฐ ์นด์šดํŒ… 2

과제 및 실습
  • 실습 9

  • 과제 4  (제출 마감: 2025-08-03 22:00:00 GMT)

수업 내용
  • ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ (๊ณ„์†)
    • ๊ณต์œ  ํฌ์ธํ„ฐ(shared_ptr)
    • ์•ฝํ•œ ํฌ์ธํ„ฐ(weak_ptr)
  • ์ด๋™ ์ƒ์„ฑ์ž(move constructor)
  • ์ด๋™ ๋Œ€์ž…์—ฐ์‚ฐ์ž(move assignment operator)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 34๋ถ„): ๊ณต์œ (Shared) ํฌ์ธํ„ฐ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 10

  • 과제 4  (제출 마감: 2025-08-03 22:00:00 GMT)

수업 내용
  • ์ƒ์ˆ˜ํ‘œํ˜„์‹(constexpr)
  • ๋žŒ๋‹ค ํ‘œํ˜„์‹(lambda expression)
  • ๊ฐ€๋ณ€ ์ธ์ž ํ…œํ”Œ๋ฆฟ(variadic template)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 24๋ถ„): constexpr์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ ~ ์ •๋ฆฌ

과제 및 실습
  • 실습 11

  • 과제 4  (제출 마감: 2025-08-03 22:00:00 GMT)

수업 내용
  • ํŒŒ์ผ ์‹œ์Šคํ…œ(filesystem)
  • ๋ชจ๋“ˆ ์‹œ์Šคํ…œ(module system)
  • ์“ฐ๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(threading library)
    • ์“ฐ๋ ˆ๋“œ(thread), ๋ฎคํ…์Šค(mutex), ์กฐ๊ฑด๋ณ€์ˆ˜(condition variables)

๋™์˜์ƒ ๊ฐ•์˜ ๋ฒ”์œ„(์ด 1์‹œ๊ฐ„ 49๋ถ„): ํŒŒ์ผ์‹œ์Šคํ…œ 1 ~ ๋งˆ๋ฌด๋ฆฌ

과제 및 실습
  • 없음

수업 내용
  • ์ˆ˜์—… ๋ฐ ์‹ค์Šต/๊ณผ์ œ ์ œ์ถœ ์—†์Œ (์ด์œ : ๊ธฐ๋ง๊ณ ์‚ฌ ์ฃผ๊ฐ„)
과제 및 실습
  • 없음

제목   공지일   제출 마감  
실습 1
2025-05-05 00:00:00 GMT (1주 차) 2025-05-11 22:00:00 GMT
실습 2
2025-05-12 00:00:00 GMT (2주 차) 2025-05-18 22:00:00 GMT
실습 3
2025-05-19 00:00:00 GMT (3주 차) 2025-05-25 22:00:00 GMT
실습 4
2025-05-26 00:00:00 GMT (4주 차) 2025-06-01 22:00:00 GMT
실습 5
2025-06-02 00:00:00 GMT (5주 차) 2025-06-08 22:00:00 GMT
실습 6
2025-06-09 00:00:00 GMT (6주 차) 2025-06-15 22:00:00 GMT
실습 7
2025-06-30 00:00:00 GMT (9주 차) 2025-07-06 22:00:00 GMT
실습 8
2025-07-07 00:00:00 GMT (10주 차) 2025-07-13 22:00:00 GMT
실습 9
2025-07-14 00:00:00 GMT (11주 차) 2025-07-20 22:00:00 GMT
실습 10
2025-07-21 00:00:00 GMT (12주 차) 2025-07-27 22:00:00 GMT
실습 11
2025-07-28 00:00:00 GMT (13주 차) 2025-08-03 22:00:00 GMT
과제 1
2025-05-05 00:00:00 GMT (1주 차) 2025-05-25 22:00:00 GMT
과제 2
2025-05-26 00:00:00 GMT (4주 차) 2025-06-15 22:00:00 GMT
과제 3
2025-06-16 00:00:00 GMT (7주 차) 2025-07-13 22:00:00 GMT
과제 4
2025-07-14 00:00:00 GMT (11주 차) 2025-08-03 22:00:00 GMT
2025-05-18 23:59:59 GMT 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2025-07-06 23:59:59 GMT 수강 철회 신청 마감
  • 성적표에 "W"로 표시
수료하지 않은 선수과목에 대한 자가평가 질문
  1. COMP2200: 나는 C에서 포인터를 이용하여 singly-linked list의 모든 기능을 구현할 수 있다.
  2. COMP2200: 나는 별도의 메모리 할당 없이 포인터만 사용해서 C 스타일 문자열을 뒤집을 수 있다.
  3. COMP2500: 나는 개체지향 프로그래밍에서 상속과 합성(composition)의 장단점에 대해 설명할 수 있다.
권장 소프트웨어
  1. ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ
  2. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2022
    • ์„ค์น˜ ์ค‘ ์›Œํฌ๋กœ๋“œ 'C++๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์Šคํฌํ†ฑ ๊ฐœ๋ฐœ'์„ ๋ฐ˜๋“œ์‹œ ์„ ํƒํ•  ๊ฒƒ
    • ์ฃผ์˜: ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ์™€๋Š” ๋‹ค๋ฆ„
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.

  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.

윈도우 리눅스 크롬 운영체제
운영체제 윈도우 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 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.0%)

  • 기말고사 (25.0%)

학생 비율 점수