week-2-day-4-report주차 week-2-day-4-report일차 일일보고서
[2주차 4일] 오늘의 수업 이야기
Section titled “[2주차 4일] 오늘의 수업 이야기”날짜: 2025년 06월 26일
오늘의 주제
Section titled “오늘의 주제”ArrayList 활용과 고급 디버깅
수업 진행 기록
Section titled “수업 진행 기록”어제에 이어 ArrayList를 더 깊이 다뤘다. 주 강사가 ArrayList의 주요 메서드들을 설명하는 동안, 실습 강사로서 학생들이 TODO 프로그램에 추가, 삭제, 조회 기능을 완성하도록 도왔다.
remove() 메서드 사용 시 인덱스가 변하는 것을 이해하지 못해 혼란스러워하는 학생들이 많았다. 직접 그림을 그려가며 ArrayList의 동적 특성을 설명했다.
IntelliJ의 고급 디버깅 기능을 활용하는 시간이었다. 변수 감시창에서 ArrayList의 내용이 실시간으로 변하는 것을 관찰하고, 스택 추적을 통해 메서드 호출 순서를 파악하는 방법을 실습했다.
다중 반복문에서 라벨을 사용한 복잡한 제어 흐름을 연습했다. 메뉴 안에 서브메뉴가 있는 구조를 구현하며, 원하는 위치로 정확히 이동하는 방법을 익혔다.
의도적으로 IndexOutOfBoundsException과 NullPointerException을 발생시키는 코드를 제공하고, 디버깅으로 원인을 찾아 해결하도록 했다.
학생 상담 노트
Section titled “학생 상담 노트”- ArrayList에서 요소 삭제 후 인덱스 변화로 인한 오류. 뒤에서부터 삭제하거나 Iterator 사용 안내.
- 변수 감시창 사용법을 모르는 경우. 디버그 모드에서 Variables 탭 활용법 시연.
- 스택 추적 정보를 해석하지 못하는 경우. 에러 발생 지점부터 역순으로 추적하는 방법 설명.
- 다중 반복문에서 어느 루프를 빠져나가야 할지 혼란. 라벨명을 명확하게 지정하는 것의 중요성 강조.
교육자 성찰
Section titled “교육자 성찰”ArrayList의 동적 특성은 초보자들이 이해하기 어려운 개념이다. 특히 삭제 연산 시 인덱스가 변하는 것은 많은 버그의 원인이 된다. 시각적 설명이 효과적이었다.
디버깅 능력은 하루아침에 늘지 않는다. 지속적으로 연습하고 경험을 쌓아야 한다. 학생들이 에러를 두려워하지 않고 학습의 기회로 삼도록 격려했다.
TODO 프로그램이 점점 실용적으로 변해가며 학생들의 성취감도 높아지고 있다.
- ArrayList 동작 원리 시각화 자료 제작
- 자주 발생하는 예외 상황과 해결법 정리
- 디버깅 연습용 버그 코드 추가 준비