공부하는 북극성

[반응속도, 파이썬] 수산화나트륨에 의한 크리스탈 바이올렛 탈색반응, 반응속도의 농도 의존성(회귀분석) 본문

나누는 삶/수업자료

[반응속도, 파이썬] 수산화나트륨에 의한 크리스탈 바이올렛 탈색반응, 반응속도의 농도 의존성(회귀분석)

북극성 ✰ 2024. 11. 13. 18:51
728x90
반응형

 

들어가며

    진짜로 2학기에 화학실험 과목을 하면서 이 실험을 하게 되었다. 수행평가로는 '반응속도의 온도 의존성'을 주제로 하였고, '반응속도의 농도 의존성' 을 확인하는 이 실험은 그냥 시험 범위에 걸친 느낌으로 진행하게 됨(그래서 아마 이 게시글은 아이들 중간고사가 끝나고 업로드될 예정..이었는데 벌써 기말고사 출제가 코앞이다). 1시간 실험, 1시간 분석으로 2주에 걸쳐서 진행하였다. 

나의 고민...

  분석시켰을 때 과연 잘 할 수 있을까... 하는 고민을 진짜 많이 했는데 진짜 쓸데없는 고민이었다는 것을 알게 됨.

토론을 시켜놓으니까, 처음에는 쭈삣쭈삣하던 애들도 나중에는 열이 올라서 이야기하느라고 정신이 없었다.

이게 맞네 저게 맞네 왜 그렇게 생각하는지 이야기 나누느라고 사실상 반응차수 결정 자체는 수업이 끝나고 과제로 올리기로 했고,

반응차수를 결정하는 방법에 대한 토론만 1시간 내내 했음(논의를 3개나 시키기는 했다). 

 

  그리고 이때 한 활동들이 너무 즐거워서 고교학점제 에듀테크 활용 사례로 제출했고, 우리 학교 발표 자료로 사용됨! 굉장히 뿌듯하다. 

  

  서론이 너무 길었는데, 이제 각설하고 진짜 수업용으로 실험 설계한 부분과 학생들과 실험을 진행하고 분석하면 나누었던 자료들을 풀어보겠다. 

 

 

<수업설계>

교수학습 개요

대상 고등학교 2학년
적용 시기 2024년 9월
핵심 개념 반응속도의 농도 의존성
성취기준 [12화학Ⅱ03-02] 자료 해석을 통하여 반응 속도식을 구할 수 있다.
[12화학Ⅱ03-03] 1차 반응의 반감기를 구할 수 있다.
[12화학Ⅱ03-05] 농도에 따라 반응 속도가 달라짐을 설명할 수 있다. 

[12고화06-03] 화학 반응의 속도가 물질의 농도에 의존함을 설명할 수 있다. 
[12고화06-05] 0, 1, 2차 반응의 반응 속도식을 적분법으로 풀어 농도와 시간과의 관계를 나타낼 수 있고, 반감기를 구할 수 있다. 

[12화실05-16] 화학 반응의 초기 농도와 초기 속도를 측정하는 실험을 통하여 반응 속도식과 반응 차수를 구할 수 있다. 
[12화실05-17] 농도, 온도, 촉매의 존재 등을 변화시키며 반응 속도를 측정하여, 이들의 영향을 알아보고 그 결과를 설명할 수 있다. 
교수학습 목표 반응물의 흡광도 변화를 이용하여 반응물의 반응차수를 구할 수 있다.
수업 형태 실험 및 토의
학생들 
기본 배경지식 
및 테크 능력?
1. 2학년 1학기 수학시간에 적분을 배운 상태
2. 엑셀로 실험 Data 산점도를 그리고 추세선 그려서 의미 파악하는 활동을 물리, 화학 시간에 여러번 해봄. 
3. ‘데이터 과학과 머신 러닝’ 시간에 선형 회귀, 다항 회귀 등 다양한 회귀과정에 대한 이해가 있는 상태. 
에듀테크 혹은 고교학점제 관련 중점 고려 사항 1. 무선 UV-vis (spectrometer)를 사용한 Data 수집
2. PowerPoint 혹은 Google Slide를 이용한 Data 분석 방법 토의 공동작업
3. Excell 혹은 python 코드를 사용한 Data 분석
4. Padlet을 이용한 실험 분석 결과 공유

 

 

차시별 계획

차시(시간) 교수학습활동
0차시
Flipped learning
(10분)
무선 UV-vis(spectrometer) 사용방법 및 수집한 Data 저장 방법
안내 영상 공유
1차시
실험 Data 수집
(50분)
1. 실험목표와 주의사항 안내 

2. 실험 Data 수집
2차시
Data 분석 방법
토의 및 공유
1. Microsoft Teams를 통한 토의용 공유문서 link 공유

2. Data 분석에 대한 간단한 안내
  가. 화학 반응식 및 반응 속도식 상기
  나. 표기법 안내

3. 실험 분석 방법 토의
  가. 논의1) 크리스탈 바이올렛의 예상되는 반응 차수에 대한 적분 속도식 구하기
  나. 논의2) 흡광도 Data가 있는 크리스탈 바이올렛에 대한 반응차수를 구하는 방법
  다. 논의3) 흡광도 Data가 없는 수산화나트륨에 대한 반응차수를 구하는 방법

4. 1차시에서 수집한 Data 분석 및 결과를 Padlet에 공유

 

 

<수업자료>

실험 안내서

PASCO 사에서 나온 wireless spectrometer 를 사용하여 그에 맞는 안내서를 만들었다. 

이미 학생들이 화Ⅱ와 고급화학에서 반응속도가 농도에 어떻게 의존하는지를 배우고 온 상태라, 직접 반응차수를 비교할 수 있게 용액의 농도 set를 직접 구성하여 반응시키도록 하였다. (일종의 실험설계) 

 

논의용 PPT

 

사실상 메인이 되는 논의는 2와 3이다. 

 

논의1 을 다루는 이유는 학생들이 맨땅에 헤딩하면서 반응차수를 구하는 방법을 논하기에는 아무리 똑똑한 우리 아이들이라고 한들 어려울 것이라는 판단이 들어서 일종의 비계를 설정한 부분이다. 

 

그래서 논의1이 생각보다 중요해진다.

흡광도 Data가 있는 크리스탈 바이올렛의 반응차수인 경우 크리스탈 바이올렛의 농도에 대한 적분속도식을 구성해보면서 학생들이 수집한 csv 형식의 Data 를 어떻게 가공하여 분석할지를 고민할 수 있게 해준다. 

또 관찰가능한 반응 속도 상수인 $k_{obs}$ 의 형태를 써보고, 왜 이를 상수취급할 수 있는지를 고민해보면서 직접적으로 수집한 Data가 없는 수산화 이온의 정보가 관찰가능한 반응 속도 상수 $k_{obs}$에 있다는 점을 알게 되면서 논의의 방향이 쉽게 풀려간다. 

(물론, 아주 똑똑한 데다가 코딩을 할 줄 아는 우리 아이들은 이거 다 필요없고 더 고차원적으로 접근하기도 함.)

 

논의하는 과정같은 경우에는 화학실에 조별로 모아놓고, 공유 문서 link를 공유한 다음에

공유되고 있는 PPT 화면을 앞에 띄워놓고 학생들이 논의하여 정리하는 과정을 다 함께 볼 수 있게 하였다. 

남의 조 것을 배끼네 어쩌네 하는 반도 있긴 했는데, 결국 자기들끼리 다른 조에 가서 참견하면서 모둠 토의가 아니라 반 전체의 토의로 번지기도 해서 그냥 내비두었다. 알아서 자기들끼리 의견 나누면서 발전시켜나가는 과정이 너무 예쁘다. 

(이 학교에서 일하면서 진짜 애들로 부터 많이 배운다.) 

 

 

 

<공유자료>

학생활동자료공유

학생들이 한 활동은 모두 Padlet 에 모아서 공유하였다. 

https://padlet.com/itsorexia/feat-crystal-violet-bcingiadvwrpo03a

 

반응속도의 농도 의존성(feat. Crystal Violet)

수산화나트륨에 의한 크리스탈 바이올렛 탈색반응의 반응차수 구하기

padlet.com

 

패들렛 게시판에 올라와 있는 코드는 matplotlib 로 그렸더니 y=1/(x+a) 형태의 유리함수 그래프를 그렸더니 점근선이 함께 그려지는 이상한 형태를 하고 있다. 

학생 하나(이전에 산염기 적정 곡선 수정해준 우리 대승범)가 그걸로 그리지 말고 scipy로 그려보라고 해서 결국 활동이 다 끝난 후에는 scipy 로 코드를 수정함. 

 

그런데 진짜 우리 아이들이 너무 대단한 것이, 나는 보고서를 따로 쓰라고 한 적도 없는데 

자기들이 알아서 문서 작업해서 보고서 형태로 올린 것이 너무 ... 감동적이다. 

진짜 아무 보고서나 열어서 읽어도 입틀막할 수 있을 정도로 훌륭하다. 

 

진짜 우리 애들이라서 자랑하고 싶어서가 아니라... 자랑할만해서... ㅎㅎㅎ 그런 것임을 ... 

이해 부탁드립니다 ㅎㅎ.... 

 

 

 

 

코드공유

실험데이터 분석 보고서_scipy_cureve_fitting_ver.ipynb
0.41MB
실험데이터 분석 보고서_scipy_cureve_fitting_ver_Colab.ipynb
0.41MB

 

코드는 여전히 시키는 대로 따라하기만 하면 된다. 

 

위 코드는 크리스탈 바이올렛에 대한 반응 차수를 구할 때 사용을 하고 

학생들이 회귀선을 통해 결정계수나 반감기를 통해 반응차수를 결정하고 나면 

회귀선의 계수를 통해서 관찰가능한 반응 속도 상수 값을 알게되고, 그걸 통해 수산화 이온에 대한 반응차수도 결정할 수 있게 된다. 

 

학생들이 수집한 데이터 중에 하나 예시로 보여드리자면 이렇다 

(6반 thx 🫶🏻💛)

 

실행한 모든 그래프를 그린 결과. 총 시행횟수(Run)가 4회였다.

 

그리고 회귀분석 부분에서는 이 부분의 Cell 만 Run 번호만 달리해가면서 여러번 실행해주면 된다. 

 

Run 1에 대해 

Run 2에 대해

 

Run 3에 대해 

 

Run 4에 대해

 

 

모든 시행에 대해 결정계수를 비교해보고 반응 차수를 결정하면 된다. 

 

엑셀로 해도 되는데,

애들이 이미 엑셀로 할 줄 알기도 하고,

이 수많은 그래프를 일일히 그리자니 진짜 미쳐버릴 것 같아서 코드를 짜게 되었다. 

 

학생들 보고서를 보면 엑셀로 한 친구들도 많다. 

 

그리고 밑에다가 선형회귀로 바꿔서 분석한 것도 넣어두었는데, 

seaborn에서 지원하는 신뢰도 구간이 같이 표시되어서 사실 보기에는 이게 더 좋은 것 같긴하다. 

굳이 Curve fitting 을 한 이유는 그냥 좀더 직관적으로 있는 그대로의 데이터를 얼마나 설명할 수 있는지를 보여주고 싶었기 떄문이다. 

그런 이유가 아니라면 선형회귀가 더 좋은 듯 함. 

 

 

그리고 반감기를 이용한 학생들이 있을 것 같아서 반감기를 구하는 코드도 넣어두었다. 

애들이 잘 가져다 쓴 듯? 

 

 

이런식으로 출력이 되고 셀 출력 복사를 하면 

 

 

        ~1/2[CV]0  ~1/4[CV]0  ~1/8[CV]0  ~1/16[CV]0 ~1/32[CV]0
Run #1       73.0      161.0      280.0       262.0           
Run #2       27.0       48.0       60.0        69.0       73.0
Run #3       71.0      148.0      200.0       249.0      262.0
Run #4       49.0       91.0      133.0       169.0      176.0

 

이렇게 복사가 되고, csv로 저장하는 코드를 한 줄 추가하면 

 

result.csv
0.00MB

 

 

이런 식으로 csv 로 파일이 저장되기도 하니 적절히 이용하여 사용하면 될 것 같다. 

 

 

학생들 보고서 예시

그냥 아무거나 가지고 왔다. 

진짜 아무거나 봐도 훌륭하다. 

 

 

 

 

 

나오며

진짜 슬픈게 이 블로그를 학생들한테 들켰다. 

크리스탈 바이올렛 수업을 하면서 학생들이 인터넷에 검색을 해본 것 같은데 

진짜 안타깝게도 이 실험이 그렇게 많이 하는 실험은 아닌지 내 게시글이 너무 빨리 보여버려서 

학생들이 다 흘러들어와가지고는 

 

'쌤! 말투만 봐도 쌤인거 바로 알겠던데요 ㅇㅅㅇ??'

'북극성이 무슨 뜻이에요ㅇㅅㅇ??' 

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

진짜 어느날인가 이상한 키워드로 방문자수가 마구 오르더니 애들때문이었다. 

그러면서 일반고용으로 올린 건 봤는데 자기들 거는 언제 올라오냐고 ... 자꾸 물어서... 미루고 있던 나는 그저 찔리기만... ㅎ... 

 

에이 모르겠다~ 

얘들아, 어차피 이거 발견한 김에 그냥 심심할 때 들어와서 복습이나 하렴 ㅋㅋㅋㅋ 

 

화학이 세상을 지배할 때까지(?)!!!! 

 

얘들아 행복하자~~~ 

 

 

 

 

728x90
반응형