(AI융합교육연구회)생성형 인공지능을 활용한 앱 개발 기초 강의 로드맵

Google Gemini Academy Teacher Trainer
일자 및 일시(장소)

1차: 2024.04.15.(월) 오후 8시부터 오후 9시까지(줌을 통한 비대면 온라인 강의) - 구글시트(앱스스크립트)

2차: 2024.05.27.(월) 오후 8시부터 오후 9시까지(줌을 통한 비대면 온라인 강의) - 앱시트

3차: 2025.02.12.(수) 오후 5시부터 오후 8시까지(대면 강의@미래산업과학고등학교] - 플러터플로우

*특별 강의: 크롬 확장 프로그램 개발 강의
목차

구글시트(앱스 스크립트)

Loading PDF…

강의 교안

생성형 인공지능 활용 앱스스크립트 작성 프롬프트 명령어

너는 구글 앱스스크립트 개발자다. 현재 plus라는 사용자 정의 함수를 만들고 있다. 함수는 A1 셀의 값과 C1의 값을 더해서 결과값을 반환한다. 코드를 작성해.
/** * A1 셀과 C1 셀의 값을 더하는 사용자 정의 함수 * * @customfunction */ function plus() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var valueA1 = sheet.getRange("A1").getValue(); var valueC1 = sheet.getRange("C1").getValue(); return valueA1 + valueC1; }
JavaScript
복사
A1 셀과 C1 셀에 새로운 숫자를 입력하고 plus() 함수를 실행하면 E1 셀의 값을 먼저 지우고, 함수의 결과값을 입력하는 사용자 정의 함수로 수정해
function updatePlusResult() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // A1과 C1 셀의 값을 가져옴 var valueA1 = sheet.getRange("A1").getValue(); var valueC1 = sheet.getRange("C1").getValue(); // E1 셀의 값을 계산 var result = valueA1 + valueC1; // E1 셀의 값을 먼저 지움 sheet.getRange("E1").clearContent(); // 계산된 결과를 E1 셀에 입력 sheet.getRange("E1").setValue(result); }
JavaScript
복사
위의 내용을 모두 plus()함수에서 실행되도록 수정해
/** * 스프레드시트의 셀이 편집될 때마다 호출되는 함수 * * @param {object} e 이벤트 객체 */ function onEdit(e) { // 수정된 셀의 위치를 가져옴 var range = e.range; var sheet = range.getSheet(); // 수정된 셀이 A1 또는 C1인 경우에만 동작 if (range.getA1Notation() === 'A1' || range.getA1Notation() === 'C1') { // A1과 C1 셀의 값을 가져옴 var valueA1 = sheet.getRange("A1").getValue(); var valueC1 = sheet.getRange("C1").getValue(); // E1 셀의 값을 계산 var result = valueA1 + valueC1; // 계산된 결과를 E1 셀에 입력 sheet.getRange("E1").setValue(result); } }
JavaScript
복사
TypeError: Cannot read properties of undefined (reading 'range') onEdit @ Plus.gs:8
TypeError: Cannot read properties of undefined (reading 'range') 오류는 onEdit 함수가 이벤트 객체(e)를 제대로 받지 못했을 때 발생합니다. 이 오류가 발생하는 주된 이유는 스크립트 에디터에서 직접 onEdit 함수를 실행했기 때문일 수 있습니다. onEdit 함수는 스프레드시트 내에서 실제 편집이 발생했을 때 자동으로 Google Sheets가 전달하는 이벤트 객체(e)와 함께 실행되도록 설계되어 있습니다. 따라서 스크립트 에디터에서 직접 실행하면, 이벤트 객체가 전달되지 않아 eundefined가 되고, 이로 인해 e.range에 접근하려 할 때 오류가 발생합니다.
이 함수를 테스트하려면, 스크립트를 저장하고 스크립트 에디터를 닫은 후, 실제 스프레드시트에서 A1 또는 C1 셀을 편집해보세요. 그러면 스크립트가 의도대로 동작하여 E1 셀에 A1과 C1의 합이 업데이트될 것입니다.
만약 스크립트 에디터에서 직접 테스트하고 싶다면, 이벤트 객체를 모의(mock)하여 onEdit 함수에 전달하는 방식으로 테스트할 수 있습니다. 예를 들어, 다음과 같이 테스트 코드를 작성할 수 있습니다:
// onEdit 함수를 테스트하기 위한 모의 이벤트 객체 생성 function testOnEdit() { var mockEvent = { range: SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('A1'), value: 10 // A1에 입력된 가정된 값 }; // 모의 이벤트 객체를 사용하여 onEdit 함수 호출 onEdit(mockEvent); }
JavaScript
복사

강의 영상 및 Teacherize 앱 소개

안녕하세요! 행복한 월요일 오전입니다! : )
지난 15일, 월요일 영신여자고등학교에서 인공지능을 가르치시는 잘생 김프로 김준오 선생님께서 '구글 시트 활용 꿀팁'이라는 주제로 연수를 해주셨습니다.
다음과 같이 강의 영상을 공유해 드립니다.
내용이 좋아 “(AI융합교육연구회) 구글시트 활용 꿀팁” 의 영상 요약 노트를 공유합니다!
흥미로운 내용 3가지 :
구글 시트의 활용성과 교육적 활용 중요
능력자 협업과 코딩 교육의 중요성 강조
인공지능과 프로그래밍 기초 이해를 쉽게 전달함
아울러, 연수때 잠깐 소개해드린 생기부 작성앱(제작 : 김준오)이 구글 마켓플레이스에 정식으로 등록되었습니다. 축하드립니다!! ^^ 설치하시어 학교 업무에 큰 도움 받으시길 바랍니다.
다음과 같이 링크 공유드립니다.
맛점 즐점 되시고 후식까지 맛있게 챙겨드리시기 바랍니다.~ : )
AI융합교육연구회 드림

앱시트

수업 나눔 참여 공문

Loading PDF…

앱시트 메뉴 리뉴얼 정리

앱시트 리뉴얼 강의 안내 + 앱시트 책과 다른 현재 메뉴 위치 정리

Data Input

 앱을 제작하여 교원 업무 간소화 프로젝트를 시작합니다.
Small Talk 생성형 인공지능의 발달로 누구나 프로그램 제작과 앱 만들기가 쉬워졌다고 합니다.
생성형 인공지능은 시작 값이 주어져야 활동하는 특징이 있습니다.
생성형 인공지능이 만들어낸 결과는 사람의 판단에 의해 가치를 정할 수 있습니다.
따라서 생성형 인공지능의 시작과 끝은 인간의 Human Touch가 필요합니다.
생성형 인공지능의 시작도 끝도 결국 데이터입니다.
인공지능 시대에 양질의 데이터가 얼마나 중요한지 점점 더 느끼게 됩니다.
Data iPot
input(입력) → processing(처리) → output(출력) → to(목적지로 이동) →iPotiPot

1. 앱시트 참고자료

2. 일반 공책 VS 구글시트 VS 앱시트

3. 앱시트 제작 실습

실습용 시트

Data Output

필요한 업무가 있을 때마다 만들고, All in one App 보다는 필요한 기능을 잘 수행하는 앱 여러개가 관리하기 쉽습니다.
인공지능, 두려움(Fear)보다는 경탄(Awe)으로 대하자. LLM(거대 언어 모델)으로 과거를 조명하고, 현재를 이해하며, 미래의 일부를 훔쳐본다면 LLM은 동반자가 될 것이다. - 중앙일보 2023.11.02.(목) / 이문태의 마켓나우
항상 기본은 중요합니다. 인공지능 시대의 기본은 ‘아름답다’ 인간에게서 인간적인 매력이 나타날 때, 인공지능과의 진정한 협업이 가능하다.
빅데이터도 결국 데이터의 합입니다. 데이터가 중요합니다. 양질의 데이터가 필요합니다. 분리수거 해야합니다.
좋은 데이터를 구분해서 잘 정리하고, 잘 꺼내서 인간에게 이로운 방향으로 시각화하여 알기 쉽게 그리고 전달하기 쉽게 활용할 수 있다면? 세상을 좀 더 아름답게 만들 수 있을 것 같습니다.
데이터를 잘 만들고, 잘 넣어서, 잘 꺼낸 후, 다른 사람들과 잘 나누자!

강의 영상

구글시트와 앱시트 활용 업무 간소화 팁 나눔
내용이 좋아 “(AI융합교육연구회) 구글시트와 앱시트 활용 교사 업무 간소화 팁 나눔” 의 영상 요약 노트를 공유합니다!
흥미로운 내용 3가지 :
구글시트와 앱시트를 활용한 교사 업무 간소화 전수
데이터 시각화 앱 '앱시트'의 역할과 활용 방법
구글 시트를 데이터베이스로 활용하여 학생 관리 방법
AI융합교육연구회 [Web발신] 안녕하세요! 나른한 오후 시간입니다. ; )
지난 번에 열강을 해주신 유지영 선생님의 2번째 강의 영상과, 김준오 선생님의 2번째 강의 영상을 선생님께 도움이 되시길 바라는 마음으로 안내해드립니다.
행복한 학급 생활을 위한 AI해결사 만들기 2편
서울 북가좌초등학교 유지영 선생님
구글시트와 앱시트 활용 교사 업무 간소화 팁 나눔
서울 영신여자고등학교 김준오 선생님
벌써 6월이에요. 남은 기간도 마무리 잘하시고 학교와 사회와 주변에 기여하는 삶 살아내시길 바랄께요. : )
AI융합교육연구회 드림

플러터플로우

강의 교안