컴퓨터 관련 전공, 얼마나 알고 있나요?
컴퓨터 관련 전공, 얼마나 알고 있나요?
  • 글로벌교육뉴스 이주한 취재원
  • 승인 2019.05.17 10:57
  • 댓글 0
이 기사를 공유합니다

 

  우리는 직업을 정할 때 그 직업의 비전과 미래를 우선순위에 놓고 고려한다. 끊임없이 발전하는 기술 속에 사는 요즘, 2000년대 초반부터 현재까지 미래 유망 직종에서 절대 빠지지 않는 직업 중 하나는 ‘컴퓨터 개발자’이다.

  예전엔 컴퓨터 관련 전공이 컴퓨터 공학과(Computer Engineering)밖에 없었지만, 컴퓨터의 발전과 심화되는 기술들로 인하여 컴퓨터 관련 전공이 더욱 다양해지고 있다. 프로그래밍 이론을 주로 다루는 "컴퓨터 과학(Computer Science)", 소프트웨어 개발에 초점을 둔 "소프트웨어 공학(Software Engineering)", 빅데이터 시대에 맞게 데이터에 연구에 집중된 "자료과학(Data Science)", 모아진 자료들을 정리하고 분석하여 비즈니스 및 사회에 적용하는 "컴퓨터 정보 분석학(Computer information System)" 등 컴퓨터 관련 전공은 계속 늘어나는 추세이기 때문에 컴퓨터 전공의 미래는 밝다.

  그렇다면 이런 다양한 컴퓨터 관련 전공 중 어떤 학과를 선택해야 할까? 위에 언급한 전공들은 기본적으로 ‘컴퓨터 프로그래밍’에 기초를 두고 시작하지만, 그 기술을 접목하는 방향과 방법이 달라 자신이 관심 있는 분야와 적성에 맞는 전공을 선택할 필요가 있다. 하지만 컴퓨터 분야도 세부전공이 워낙 많은 탓에 대학마다 세부전공들의 유무가 다르다. 그렇기 때문에 컴퓨터 관련 전공을 선택하려는 학생은 대학보다 전공에 중점을 두고, 또한 해당 대학의 취업률에 대한 충분한 조사를 한 뒤에 대학 입시를 준비한다면 더욱 성공적인 미래를 바라볼 수 있을 것이다. 필자는 이 글에서 많은 컴퓨터 관련 전공 중 대부분의 대학이 가지고 있는 전공 세 가지를 비교해보려 한다: Computer Engineering, Computer Science, Software Engineering

*필자는 캐나다에 위치하여 있는 취업률 98.5%의 University of Waterloo의 커리큘럼을 바탕으로 이 내용을 다루었다.

 

Computer Engineering (컴퓨터 공학)

  우선 한국에서 가장 많이 쓰이는 단어 'Computer Engineering'이다. Computer Engineering은 컴퓨터 중에서도 하드웨어를 주로 다루고, 컴퓨터가 작동하는 원리, 그리고 그 심화과정을 배울 수 있다. 전기전자 공학과 많이 결합된 수업을 들으며 주로 하드웨어를 동작시키기 위한 시스템들을 위주로 프로그래밍을 한다.

 

 

   ○ ECE 140 - Linear Circuits (선형 회로)
    ○ ECE 224 - Embedded Microprocessor Systems (내장 마이크로프로세서 시스템)
    ○ ECE 327 - Digital Hardware Systems (디지털 하드웨어 시스템)
    ○ ECE 486 - Robot Dynamics and Control (로봇 역학 및 제어)

 

Computer Science (컴퓨터 과학)

  Computer Engineering이 하드웨어적인 요소들을 배운다면 Computer Science는 순수하게 소프트웨어적 개념들을 배운다. 데이터가 어떻게 이루어져있고, 어떻게 전달되며, 어떻게 해석되어 출력되는지. 그리고 프로그램들의 알고리즘이 어떻게 이루어져 있는지에 대해 배운다.

    

    ○ CS 136 - Elementary Algorithm Design and Data Abstraction

                   (알고리즘 설계 및 데이터 추상화의 기초)
    ○ CS 240 - Data Structures and Data Management (자료구조 및 데이터 관리)
    ○ CS 444 - Compiler Construction (컴파일러 설계)
    ○ CS 486 - Introduction to Artificial Intelligence (인공지능 기초)

 

Software Engineering (소프트웨어 공학)

  Software Engineering은 간단히 말하자면 Computer Engineering + Computer Science이다. Computer Science가 이론적인 컴퓨터 코딩을 배운다면 Software Engineering은 비교적 현장에서 사용되는 실용적인 코딩을 배우고, 또한 하드웨어 관련 개념들도 배운다. 대신 Software Engineering의 주요 목적은 한 프로그램을 만들기 위해서 프로그램 디자인부터 시작하여 설계, 실험, 수정 및 버그 해결, 그리고 완성까지. 현장에 투입되면 바로 적응할 수 있을 정도의 훈련을 받는다.

 

    

    ○ SE 212 - Logic and Computation (논리와 연산)
    ○ SE 350 - Operating Systems (운영체제)
    ○ SE 465 - Software Testing and Quality Assurance (소프트웨어 테스트 및 검수)
    ○ SE 464 - Software Design and Architectures (소프트웨어 설계)

위 세 가지 전공들은 많은 컴퓨터 전공 중 주요 학과들일 뿐이다.

기초적인 시작은 같지만 워낙 컴퓨터의 세계는 방대하기 때문에

컴퓨터 관련 전공에는 우리가 상상치도 못한 다양한 학과들이 있고,

각 학과가 다루는 내용, 또 졸업 후의 방향은 천차만별이다.

이 글이 컴퓨터 관련 전공에 관심이 있는 독자들에게 도움이 되길 바라며 글을 맺는다.

 

이주한 취재원 │미국


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.