제가 이 과목을 들어도 힘들지 않을까요?

윤아 2020-11-30

안녕하세요, POCU 아카데미 수강생 여러분. 윤아입니다!

오늘은 자주 묻는 질문 중 하나인 "제가 이 과목을 들어도 힘들지 않을까요?"라는 질문에 대해 답변을 드리겠습니다.

POCU 아카데미는 기준이 굉장히 높다

POCU 아카데미의 모든 과목들은 각각의 선수 과목이 존재합니다. 선수 과목을 수료하지 못했다 하더라도 해당 과목 수강이 가능합니다. 하지만 POCU 아카데미의 과목들은 학생분들께서 선수 과목을 통과하셨다는 가정하에 진행되기 때문에, 선수 과목을 듣지 않으실 경우 어려움이 있을 수도 있습니다. (POCU 아카데미의 로드맵이 궁금하시다면 링크를 클릭해 확인해주세요)

본인이 해당 과목을 들을 수 있는지 자체적으로 판단하는 방법은 두 가지가 있습니다.

  1. 해당 과목의 선수 과목의 링크로 들어가 목차를 확인한다. 목차에 나온 지식을 다 아는지 체크
  2. 선수 과목의 개념을 충분히 이해하는지 체크할 수 있는 간단한 질문에 답변한다.

POCU 아카데미는 다른 교육 기관에 비해 기준이 상당히 높습니다. 때문에 선수 과목과 비슷한 과목을 다른 곳에서 공부하셨다고 해서 POCU 아카데미의 풀코스를 통과하리라는 보장은 없다는 점을 염두에 두세요!

아래에는 POCU 아카데미의 과목의 간단한 설명과 해당 과목의 선수 과목, 선수 과목 이수 확인을 위한 간단한 질문이 있습니다. 본인이 확인하고자 하는 과목을 꼼꼼히 확인하시고 판단하시기 바라요 ^^


COMP1500: 실무 프로그래밍 입문

  • 선수 과목
  • 과목 설명

    본 과목은 COMP0000: 왕초보 프로그래밍 입문을 통해 성공적으로 프로그래밍에 첫 발을 떼신 분 중 프로그래밍을 직업으로 삼으려는 분들을 위해 제공하는 첫 과목입니다. COMP0000이 단순히 따라 하며 즐기는 프로그래밍이었다면, 이 과목은 모든 프로그래밍에 사용되는 기초 중의 기초를 컴퓨터 공학적인 측면에서 하나씩 배워봅니다.

  • 수강 전 셀프 체크 질문
    1. 나는 C#의 for 문을 이용하여 int[] 배열에 들어있는 모든 값의 평균을 구할 수 있다.
    2. 나는 C#을 이용하여 가위 바위 보 게임을 만들 수 있다. 이 게임에서 컴퓨터 플레이어는 랜덤 하게 가위 바위 보 중에서 하나를 고르며, 사람 플레이어는 키보드로 입력을 한다.

COMP1000: 소프트웨어 공학용 수학

  • 선수 과목
  • 과목 설명

    이 강좌에서는 2차 산업혁명 때 필요했던 선형적인 수학보다는 이산수학을 기본으로 하되 소프트웨어 공학자들이 커리어에서 유용하게 사용 가능한 여러 가지 수학적 지식을 가르칩니다. 이 코스를 성공적으로 마무리한 분들은 다양한 문제 해결에 필요한 수학 지식과 함께 컴퓨터를 더 잘 이해할 수 있을 것입니다.

  • 수강 전 셀프 체크 질문
    1. 나는 C#에서 재귀 함수를 이용하여 하노이의 탑 문제를 풀 수 있다.
    2. 나는 C#을 이용하여 .csv 파일 하나를 읽어 2D 문자열 배열로 만들 수 있다.

COMP2200: C 언매니지드 프로그래밍

  • 선수 과목
  • 과목 설명

    프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나는 컴퓨터 하드웨어에 대한 이해입니다. C는 대부분의 매니지드 언어와 달리 언매니지드 언어 특유의 기능 (예: 메모리 관리) 들을 포함하고 있기 때문에, 하드웨어의 동작 원리를 공부하고 싶은 분 들, 혹은 컴퓨터를 더 잘 이해하고 싶은 분들에게 좋은 입문용 언매니지드 언어라고 할 수 있겠습니다.

    이 강좌는 선수 과목인 COMP1500: 프로그래밍 입문에서 배운 절차적 프로그래밍 지식을 기반으로 C언어가 언매니지드 언어로서 가지는 기능들에 대해서 알 아봅니다. 이 코스를 성공적으로 마무리한 분들은 하드웨어에 대한 더 넓은 시야를 갖출 수 있을 것입니다.

  • 수강 전 셀프 체크 질문
    1. 나는 C#에서 재귀 함수를 이용하여 하노이의 탑 문제를 풀 수 있다.
    2. 나는 C#을 이용하여 .csv 파일 하나를 읽어 2D 문자열 배열로 만들 수 있다.
    3. 나는 어떤 unsigned int 값이 2의 승수인지 O(1) 시간 안에 판단하는 함수를 작성할 수 있다.

COMP2500: 개체지향 프로그래밍 및 설계 (Java)

  • 선수 과목
  • 과목 설명

    특정 개체 지향(OO, Object-Oriented) 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.

    본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.

  • 수강 전 셀프 체크 질문
    1. 나는 C#에서 재귀 함수를 이용하여 하노이의 탑 문제를 풀 수 있다.
    2. 나는 C#을 이용하여 .csv 파일 하나를 읽어 2D 문자열 배열로 만들 수 있다.
    3. 나는 어떤 unsigned int 값이 2의 승수인지 O(1) 시간 안에 판단하는 함수를 작성할 수 있다.

COMP3200: C++ 언매니지드 프로그래밍

  • 선수 과목
  • 과목 설명

    프로그램의 성능보다 제품을 빨리 개발하는 것이 중요한 분야에서는 C#, Java와 같은 매니지드 언어를 널리 사용합니다. 하지만 운영체제, 비디오 게임, 가상현실, 주식거래소, 머신 러닝 코어, 블록체인 등 성능이 더 중요한 분야에서는 여전히 언매니지드 언어를 사용할 수밖에 없습니다. 따라서 본 강좌는 실제 업계에서 쓰이는 C++ 프로그래밍 기법에 중점을 맞춰 진행합니다.

    'COMP2500: Java 개체지향 프로그래밍 및 설계'와 마찬가지로 이 강좌에서도 개체지향 프로그래밍(OOP)에 대해 배웁니다. 하지만 이 코스를 성공적으로 마무리한 분들은 하드웨어 수준에서 개체지향 프로그래밍이 어떻게 작동하는지까지 자세히 이해하실 수 있을 겁니다.

  • 수강 전 셀프 체크 질문
    1. 나는 C에서 포인터를 이용하여 singly-linked list의 모든 기능을 구현할 수 있다.
    2. 나는 별도의 메모리 할당 없이 포인터만 사용해서 C 스타일 문자열을 뒤집을 수 있다.
    3. 나는 개체지향 프로그래밍에서 상속과 컴포지션(composition)의 장단점에 대해 설명할 수 있다.

COMP3500: 알고리듬 및 자료구조 (Java)

  • 선수 과목
  • 과목 설명

    프로그래머의 업무를 간단히 표현하면 '문제를 해결하는 것'입니다. 그렇기에 '문제를 해결하는 확실한 방법'인 알고리듬(algorithm)은 프로그래머의 필수 지식으로 종종 거론되곤 하죠. 어떤 문제라도 해결할 수 있는 개발자가 되려면 몇몇 핵심 알고리듬을 제대로 이해하는 것이 가장 중요합니다. 아무리 새로운 문제더라도 기본 알고리듬을 응용하여 풀 수 있으니까요.

    모든 문제 해결의 토대가 되는 핵심 알고리듬. 그것이 바로 이 강좌에서 가르치는 내용입니다. 10년 후에도 살아남는 탑(Top) 개발자가 되려면 수박 겉핥기 식이 아닌 핵심 알고리듬의 동작 원리까지 깊이있게 알아야겠죠? 본 강좌를 통해 기본 알고리듬을 확실히 익혀 고급 개발자로 거듭나세요.

  • 수강 전 셀프 체크 질문
    1. 나는 개체지향 프로그래밍에서 상속과 컴포지션(composition)의 장단점에 대해 설명할 수 있다.