fnctId=bbs,fnctNo=1926
- 글번호
- 148093
2024년 1학기 신규 개설 과목 Q&A 공지
- 작성일
- 2024.01.26
- 수정일
- 2024.01.26
- 작성자
- computer
- 조회수
- 489
컴퓨터공학부에서는 학부 구성원과 국내외 기업의 여러 요구를 교과 과정에 반영하기 위해 최선을 다하고 있습니다. 2024년 1학기 4학년 과목에 새로운 과목 두 개를 개설하게 되어 기쁘게 생각합니다.
새롭게 개설된 과목은 "소셜네트워크분석" (장익범 교수)과 "멀티코어컴퓨팅" (김승욱 신임 교수)입니다. 담당 교수님께서 여러분이 궁금해 하는 내용을 아래와 같이 정리해 주셨습니다. 3학년 학생의 수강도 적극적으로 환영하니 많은 관심을 부탁합니다.
학부장 신찬수
소셜네트워크분석 - 장익범 교수
Q1. SNS 데이터를 자연어처리로 분석하는 과목인가요?
아닙니다. 이 과목은 정확히 말하면 "네트워크 분석" 과목이고 "그래프 분석"이라고도 표현합니다. 소셜 네트워크 학문이 이 분야의 시초이고 컴퓨터/전자공학에서의 컴퓨터네트워크 내용과 다름을 강조하기 위해 "소셜"이라는 표현이 사용되었지만 "소셜"이 본 과목의 초점은 아닙니다.
Q2. 어떤 내용을 배우나요?
네트워크 혹은 그래프는 복잡한 시스템을 설명하기 위한 광범위한 용어입니다. 우리 주변과 우리 몸 속에는 수 많은 네트워크가 존재합니다. 소셜 네트워크, 경제적 네트워크, 컴퓨터 네트워크, 인터넷, 생명체의 뉴럴 네트워크, 유전적 상호작용 네트워크, 분자, 학술 인용 네트워크, 먹이사슬 등이 있습니다. 이런 다양한 시스템들에는 어떤 공통점이 있을까요? 그리고 우리는 어떻게 이들을 표현할 수 있을까요? 바로 "네트워크" 입니다. 많은 시스템들 뒤에는 구성 요소 간의 상호 작용을 정의하는 복잡한 배선 다이어그램, 즉 네트워크가 있습니다. 이 수업에서는 네트워크를 이해하고 시각화하며, 이러한 시스템을 모델링하고 예측하는 방법들을 다룹니다.
Q3. 이 과목을 배우면 어디에 좋을까요?
우리 주변의 다양한 현상과 시스템을 네트워크로 모델링하고 분석하는 능력을 기를 수 있습니다. 특히 이 수업에서는 네트워크의 기본개념과 성질 뿐 아니라 머신러닝/딥러닝의 한 종류인 그래프신경망(Graph neural network)을 이용한 네트워크 데이터 분석 및 모델링 방법을 배우게 됩니다.
Q4. 미리 준비할 내용이나 먼저 수강해야 할 과목이 있을까요?
우선 이 수업은 컴퓨터공학부 3, 4학년 학생들이 주된 대상입니다. 필수 선수 과목으로는 확률과통계, 선형대수, 컴퓨팅사고, 자료구조가 있습니다. 공업수학, 데이터마이닝, 기계학습, 자연어처리, 컴퓨터비전 공부를 했으면 도움이 많이 되지만 필수요건은 아니며 이 과목과 동시에 수강하는 것도 권장합니다. 수업에서 사용할 주된 프로그래밍 언어 및 프레임워크는 Python과 PyTorch입니다. 수업 초반부터 실습, 과제 등이 진행되기 때문에 파이썬에 능숙해야 합니다. 보다 구체적인 내용은 강의계획서를 확인해주세요.
멀티코어컴퓨팅 - 김승욱 신임 교수
Q1. 멀티코어 컴퓨팅이란 무엇인가요?
보통 여러분들이 가지고 있는 컴퓨터의 CPU와 GPU는 계산을 수행하는 '코어'가 여러 개 들어있습니다. 각 코어는 마치 개별적인 작업자처럼 독립적으로 작업을 수행할 수 있습니다. 예를 들어, 하나의 코어가 비디오를 처리하고 있는 동안 다른 코어는 문서를 작성하거나 인터넷을 검색할 수 있습니다. 이렇게 멀티코어를 사용하면 컴퓨터가 여러 작업을 동시에 처리할 수 있어 작업 처리 속도가 빨라지고, 전체적인 컴퓨터의 성능이 향상되는 효과가 있습니다. 또한, 여러 일을 분담하는 것뿐만 아니라 대용량 데이터를 처리하는 대규모 일을 멀티코어들이 협력하여 처리할 수도 있습니다. 대용량 데이터를 잘게 나누어 멀티코어들에게 처리를 맡기고, 각 코어들의 결과물들을 가공하여 최종 결과물을 얻는 방식을 통해 대용량 데이터 작업 처리 시간을 획기적으로 줄일 수 있습니다.
요약하자면, 멀티코어컴퓨팅은 컴퓨터 내의 여러 작업이나 하나의 큰 작업을 효율적으로 처리하기 위해 여러 개의 코어를 사용하는 기술입니다.
Q2. 이 과목에서는 어떤 내용을 배우나요?
1. 병렬 컴퓨팅의 기본 개념: 컴퓨터가 여러 작업을 동시에 어떻게 효과적으로 처리하는 지에 대한 기본적인 원리를 배웁니다.
2. 멀티코어 프로세서의 구조: CPU와 GPU 내부의 여러 코어들이 어떻게 구성되어 있는지, 그리고 이 코어들이 어떻게 함께 작동하여 컴퓨터의 성능이 향상하는지에 대해 배웁니다.
3. 병렬 프로그래밍: 효과적이면서 효율적인 병렬 컴퓨팅을 하기 위한 CPU 및 GPU 프로그래밍 방법을 배웁니다. 수업에서 다루는 프레임워크로는 CPU 병렬 프로그래밍을 위한 C++ STL thread와 OpenMP, 그리고 GPU 병렬 프로그래밍을 위한 OpenCL, CUDA가 있습니다.
Q3. 이 과목을 배우면 어디에 좋을까요?
계산량이 많은 작업들을 효율적으로 계산할 수 있도록 계산을 병렬화하는 방법을 배울 수 있습니다. 이를 통해 대규모 계산을 필요로 하는 머신러닝/딥러닝과 컴퓨터그래픽스뿐만 아니라 다양한 분야에서의 계산 효율을 높일 수 있습니다.
Q4. 미리 준비할 내용이나 먼저 수강해야 할 과목이 있을까요?
이 수업은 컴퓨터공학부 4학년 학생들이 주 대상입니다만 3학년 학생들의 수강도 장려하고 있습니다. 필수적인 선수과목으로는 컴퓨팅사고와 자료구조가 있으며 운영체제 과목을 수강했다면 큰 도움이 될 것입니다. 수업에서 주로 사용하는 프로그래밍 언어는 C++이며, 수업에서 실습 및 과제의 비중이 크기에 C++ 프로그래밍에 익숙해야 합니다.
Q1. 멀티코어 컴퓨팅이란 무엇인가요?
보통 여러분들이 가지고 있는 컴퓨터의 CPU와 GPU는 계산을 수행하는 '코어'가 여러 개 들어있습니다. 각 코어는 마치 개별적인 작업자처럼 독립적으로 작업을 수행할 수 있습니다. 예를 들어, 하나의 코어가 비디오를 처리하고 있는 동안 다른 코어는 문서를 작성하거나 인터넷을 검색할 수 있습니다. 이렇게 멀티코어를 사용하면 컴퓨터가 여러 작업을 동시에 처리할 수 있어 작업 처리 속도가 빨라지고, 전체적인 컴퓨터의 성능이 향상되는 효과가 있습니다. 또한, 여러 일을 분담하는 것뿐만 아니라 대용량 데이터를 처리하는 대규모 일을 멀티코어들이 협력하여 처리할 수도 있습니다. 대용량 데이터를 잘게 나누어 멀티코어들에게 처리를 맡기고, 각 코어들의 결과물들을 가공하여 최종 결과물을 얻는 방식을 통해 대용량 데이터 작업 처리 시간을 획기적으로 줄일 수 있습니다.
요약하자면, 멀티코어컴퓨팅은 컴퓨터 내의 여러 작업이나 하나의 큰 작업을 효율적으로 처리하기 위해 여러 개의 코어를 사용하는 기술입니다.
Q2. 이 과목에서는 어떤 내용을 배우나요?
1. 병렬 컴퓨팅의 기본 개념: 컴퓨터가 여러 작업을 동시에 어떻게 효과적으로 처리하는 지에 대한 기본적인 원리를 배웁니다.
2. 멀티코어 프로세서의 구조: CPU와 GPU 내부의 여러 코어들이 어떻게 구성되어 있는지, 그리고 이 코어들이 어떻게 함께 작동하여 컴퓨터의 성능이 향상하는지에 대해 배웁니다.
3. 병렬 프로그래밍: 효과적이면서 효율적인 병렬 컴퓨팅을 하기 위한 CPU 및 GPU 프로그래밍 방법을 배웁니다. 수업에서 다루는 프레임워크로는 CPU 병렬 프로그래밍을 위한 C++ STL thread와 OpenMP, 그리고 GPU 병렬 프로그래밍을 위한 OpenCL, CUDA가 있습니다.
Q3. 이 과목을 배우면 어디에 좋을까요?
계산량이 많은 작업들을 효율적으로 계산할 수 있도록 계산을 병렬화하는 방법을 배울 수 있습니다. 이를 통해 대규모 계산을 필요로 하는 머신러닝/딥러닝과 컴퓨터그래픽스뿐만 아니라 다양한 분야에서의 계산 효율을 높일 수 있습니다.
Q4. 미리 준비할 내용이나 먼저 수강해야 할 과목이 있을까요?
이 수업은 컴퓨터공학부 4학년 학생들이 주 대상입니다만 3학년 학생들의 수강도 장려하고 있습니다. 필수적인 선수과목으로는 컴퓨팅사고와 자료구조가 있으며 운영체제 과목을 수강했다면 큰 도움이 될 것입니다. 수업에서 주로 사용하는 프로그래밍 언어는 C++이며, 수업에서 실습 및 과제의 비중이 크기에 C++ 프로그래밍에 익숙해야 합니다.
- 첨부파일
- 첨부파일이(가) 없습니다.