데이터 재료과학 개요
데이터 재료과학 수업과 실습 환경 소개
Contents
1 수업 소개
-
52호관 212호
-
yjeong@changwon.ac.kr
-
055-213-3694
-
분석 및 해석 기술의 발달로 다량의 데이터들이 생성되고 있다. 재료공학에서 데이터 해석 및 분석 능력의 중요성이 날로 높아지고 있다. 본 수업을 통해 학생들은 기초적인 데이터 분석/해석 및 시각화(그래프)를 위해 필요한 다양한 툴을 익히고, 재료공학적 문제에 활용하는 경험을 하게된다.
-
관련 분야에서 가장 널리 활용되는 Python 언어를 활용하고, Jupyter 환경을 활용한다.
-
재료공학 전공자에게 필요한 데이터 분석, IO (input/output), 해석 및 시각화 (그래프) 등 기초 컴퓨터활용 능력을 길러주기 위한 강의로 설계되었다. 본 교과목은 국립창원대학교 재료금속과 전공 선택교과이나, 이후 개설될 수치해석, 이동현상 등의 교과과정의 이해를 위해서 선수강하길 권한다.
-
교수자는 Apple사의 MacOS 컴퓨터를 활용해 MS사의 VS Code설치하고, 그 환경에서 Jupyter 활용하며, 강의자료는 본 웹페이지를 활용할 계획이다. 강의 시간에 보이는 시연/실습 환경과 무관하게, Windows, Linux 등 다양한 컴퓨터 환경에서 동일한 실습이 원칙적으로 가능하다. 다만 실습이 가능한 환경을 마련하는 것은 개별 수강생들의 몫이다. 필요하다면 수업 전후에 도움을 줄 수 있다.
- 구글 계정을 활용해서 Google Colab와 Google Drive를 함께 활용해서 실습 가능하다. 인터넷 이 연결된 환경에서 웹브라우저를 활용해 실습 가능하나 추천하지는 않는다. 이 경우 초기 환경 세팅이 수월하겠으나, 인터넷 접속이 유지되어야 하고 계산 속도가 다소 느리거나, 파일 I/O가 번거로울 수 있다. 아마 구글 Drive 서비스에서 연동이 가능할 듯하다. 하지만 추천 하지 않습니다.
- 수업 중간에 인터넷을 통해 몇몇 Python 패키지를 설치해야 할 수도 있으므로, 교내 와이파이 접속 가능해야 한다.
-
VS Code에 대해 상세히 알고 싶다면 여기를 통해 알아보자. 영어로 된 문서가 부담스럽거나 어렵다면, 최신 웹브라우저들은 대부분 번역 기능을 제공하니 적극적으로 활용해보길 바란다.
- (optional) 스스로 프로그램을 작성하고, 더욱 세밀하게 관리하고 싶다면 git을 배우고, 나아가 GitHub 계정을 만들고 결합하길 권한다.
2. 세부 수업 목표
- 수강자의 기초 파이썬 활용 능력 향상
- 최신 데이터 해석/분석 툴의 기초적 활용법을 익힘
- 이를 활용해 재료공학 기초 문제 해결을 위해 활용 경험
- 기초적 이해를 바탕으로, 재료공학 실전 문제 해결에 응용을 할 수 있는 원리 이해
- 각자에게 주어진 문제를 스스로 해결하기 위해 필요한 배경 지식 습득
3. 강의 자료 및 수업 진행 방식
- 강의 자료는 markdown 파일로 작성되어, 홈페이지에내의
lectures 메뉴 에 올려져 있으며 상시로 업데이트가 될 수 있다. - 원활한 수업 진행을 위해 수강생은 인터넷이 연결된 노트북을 가지고 오거나, 미리 수업 자료를 출력해와야 한다 - 수업에 필수적인 준비가 안된 학생은 수업 태도/참여 점수 반영한다.
- 수업 시간에 필요한 개념에 대해 설명하고, 교수자가 필요한 시연을 보인다. 이후 수강생들과 함께 차근차근 실습하거나, 혹은 학생들이 스스로 그리고 혼자서 실습해봐야 한다
- 강의 자료에 실습 가능한 Python 코드는 아래와 같이 박스로 표기된다.
- 때에 따라서, 기존에 입력한 코드가 이미 실행되어 있어야만 제대로 작동하는 경우가 있으니, 긴장을 놓지 않고 수업의 진행을 잘 따라오길 바란다. 놓친 부분에 집착하기 보다는 수업 시간에 놓친 부분을 마킹한 후, 강의 이후 스스로 찾아서 살펴보길 권한다.
- 수업 시간에 배운 내용을 반드시 스스로 반복해서 실습해봐야 한다. 그리고 수업 시간내 다룬 예제를 혼자서 해보는 경험이 필요하다.
graph LR
first([개념 설명]) ==> second([교수자 시연]) ==>
third([학생 시연/실습]) ==> fourth([수업후 개념 복습])
==> fifth([수업 후 스스로 혼자 연습]) ==> first
4. 실습 / 코딩
-
본 수업은 재료과학/공학에서 활용되는 다양한 데이터 분석을 경험하고 활용하기 위해 필요한 기초 적 도구(tool)의 활용을 익히는 것이 목표이기 때문에, 간단한 코딩(coding)이 필요하다.
-
코딩을 위해서 필요한 적절한 환경이 갖춰진 컴퓨터
가 없이 코딩을 배우는 건 매우 어렵다. 축구공이 없이 축구를 배울 순 없다. 실습을 할때마다 본인의 실습환경에 맞게 컴퓨터 환경을 다시 세팅하거나, 필요한 패키지를 설치하는 건 여간 귀찮은 일이 아니다. 실습에 맞는 개인용 컴퓨터를 보유하고 있길 권한다. 각종 cloud service나, 학교 전산실습실 이용으로 실습이 가능하나, 교수자가 추천하지 않는 건 실습 환경을 직접 세팅해볼 수가 없기 때문이다. 친구/가족에게 노트북을 빌리는 것도 가능하나, 학교에서 대여도 한다 - 링크: 마지막으로 연결해본 날짜: 2026-06-05 하지만 물량이 많지 않고 조기에 대여가 완료된다.
-
코딩은
,
,
,
,
,
,
등과 비슷하다. 모두 몸으로 익혀야 한다. 교수자나 주위 친구가 하는 걸 백번 보는 것보다 직접 해보는 것이 낫다. 어려운 개념은 반복해서 예습을 풀어보며 머리 뿐만 아니라 몸(muscle memory
)으로 익혀라.
- 수업 시간 예제 반드시 스스로 해보기
- 스스로 공부할 때, 혹은 예제를 풀 때 ChatGPT 혹은 Gemini에 도움을 받는 건 좋으나, 단순 질문과 답을 구하기 보다 스스로의 이해를 돕기 위해 활용하길 바란다. 예를 들어 혼자 해결하려 우선 노력해보고, 그 다음 정답을 찾아보는 방식으로 활용하기.
- 예제를 일일이 다 쳐보기. 네모 박스 코드를 일일이 다 정확히 타자로 쳐보기 바란다. 단순히 copy&paste 하기 보다 스스로 입력하고 그 결과를 이해하려는 노력 필요하다.
- 결과를 스스로 살펴봐야 하고 이해하도록 노력해보기
- 예제를 바꿔서 적용하고 그 변화를 살펴봐서 코드의 구조나 각 기능의 역할을 이해해야한다.
- 예시로 주어진 프로그램을 한줄씩, 한 명령어씩 다 뜯어서 살펴보기 (hacking)
-
- 영문 키보드 반드시 숙지 필요
- 영타가 느리면 그만큼 학습이 느려진다.
- 예시로 주어지는 코드를 모두 직접 입력해봐야 한다.
- 키보드 익히기 유용한 링크
-
각종 기호들 위치 익히기! 평소에 쓰지 않은 다양한 부호가 컴퓨터에 있음을 인지할 것.
- `: accent
- ’: single quotation mark
- ”: double quotation mark (쌍따옴표)
- !: exclamation mark (느낌표)
- @: ‘at’
- #: number sign (sharp)
- $: dollar sign
- %: percent
- ^: caret
- &: ampersand
- *: asterisk (별표?)
- (: left parenthesis
- ): right parenthesis
- {: left brace
- }: right brace
- -: dash (minus)
- =: equal sign
- ,: comma
- _: underscore
- +: plus
- [: left square bracket
- ]: right square bracket
- /: slash
- \: blackslash
- <: left bracket
- >: right bracket
5. 평가 방법
pie title 평가 방법
"출석" : 20
"중간고사(Questionary/quiz)" : 30
"기말고사(maybe final interview/project)" : 30
"수강/실습/과제 태도 및 참여" : 20
6. Take home
- 각 학생들마다 컴퓨터 환경 (Windows, MacOS, Linux, cloud … 등등)이 다르므로 본인의 컴퓨터 환경에 맞게 환경 세팅 필요하기.
- 파이썬 설치 및 환경 설정 완성 (Python 3.12, Jupyter, VS Code, pip)
- YouTube에서 간단한 Python tutorial 영상 찾아서 보고 따라해보기.
- 영문타자 익히기 - 여기1, 여기2, 여기3서 연습해보기.
- 키보드 기호들의 위치 숙지 필요.
- 강의실 내 인터넷 접속 사전에 해보기. 교수가자 따로 인터넷 제공하지 않는다.
- Google colab에서 Notebook 만들어 실습해보기.
- Google colab활용한다면 아이패드나 갤럭시 탭, 심지어는 핸드폰(?)으로도 실습 가능하다. 계속 반복하여 설명하지만 여러 이유로 수강생 본인의 컴퓨터가 아닌 기기나 클라우드 활용은 추천하지 않는다.
7. 책임있는 AI 활용
- Vibe-coding 서비스를 포함한 다양한 AI 도구를 경험해보는 것은 유익하다.
- 교수자 또한 AI 도구를 활용하고 강의 자료를 준비한다.
- 단 하나의 원칙을 지켜야 한다. 바로 사람이 먼저, 그 다음 AI 도구가 따라야 한다는 것이다.
- 우리 수업에서 여러분들이 가져가야 할 것은 바로 기본적인 원리와 사용 방법을 이해하는 것이다. 그리고 AI 도구를 효과적으로 활용하기 위해서는 기본적인 원리와 사용 방법을 이해하고 있어야 한다.
8. 연습 문제
문제 1
이 강의에서 주로 사용할 프로그래밍 언어는 무엇인가?
문제 2
Python 코드를 셀 단위로 실행할 수 있는 실습 환경을 하나 쓰시오.
문제 3
수업 중 작성한 코드를 직접 실행하고 오류를 고쳐보아야 하는 이유를 한 문장으로 설명하라.
강의 목록 | 다음 강의