js. 업무로 배우는 JavaScript
비개발 직군을 위한 8시간 입문
학습 기록 연결 중…
← 온라인 강의실 · 코딩 실습·과제 제출 · 강사 관리

이 문서는 읽기·메모·인쇄용입니다. 과제는 각 활동의 ‘온라인 제출’에서 제출하세요. 이 문서의 임시 메모와 JSON 저장은 서버 제출과 별개입니다.

Student / Workbook 05

예상하고,
직접 바꿔 보기

손으로 설명하고 작은 코드를 수정하는 활동지입니다. 답보다 먼저 예상과 근거를 기록해 보세요.

16개필수+8개선택활동답안저장·불러오기인쇄가능
이 자료의 목차

작성 안내

각 단원의 A·B는 필수, C는 선택입니다. 24개 중 16개 필수 활동을 먼저 진행합니다. 틀린 예상도 지우기보다 실행 결과와 비교해 적으세요. 빈칸 ____은 그대로 실행하면 오류가 나므로 값이나 식으로 바꿉니다. 정답은 강사가 별도로 안내합니다. 연습을 위해 교재 예제와 다른 숫자를 쓰기도 하므로 각 문제의 주어진 값과 완료 기준으로 확인하세요.

기록을 남기는 방법여기 적는 내용은 워크시트 메모이며 자동 제출되지 않습니다. 각 활동의 ‘이 활동 코딩·온라인 제출’에서 답안·코드를 확인하고 ‘과제 제출’을 눌러 접수 안내를 확인하세요. JSON은 메모 백업용입니다. 다른 PC에서 메모를 가져오려면 먼저 현재 메모를 백업하세요.

01

컴퓨터에게 업무를 설명하기

막연한 요청을 입력·처리·출력으로 바꿉니다.

교재 1단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W01-A · 실행 전에 예상하기

console.log(10 + 20);과 console.log("10 + 20");의 결과를 각각 적고 차이를 설명하세요.

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W01-B · 나의 첫 출력

내 업무를 소개하는 문장 한 줄과, 월별 요청 12건+8건의 합계를 console.log로 출력하세요.

목표 결과: 소개 문장과 숫자 20

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W01-C · 업무를 명령으로 바꾸기

반복 업무 한 가지를 고르고 입력·처리·출력·검증을 각각 한 문장으로 적으세요. ‘알아서 정리’처럼 기준이 없는 말은 구체화하세요.

02

값에 이름 붙이고 계산하기

스프레드시트의 셀에 이름을 붙이듯 값을 다룹니다.

교재 2단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W02-A · 변수의 값을 따라가기

아래 코드의 최종 출력과 let을 사용한 이유를 적으세요.

let spent = 40;
spent = spent + 10;
console.log(spent);

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W02-B · 집행률 25% 만들기

예산 400만원, 지출 100만원의 집행률을 계산하도록 빈칸을 채우세요. 숫자에 따옴표를 붙이지 마세요.

목표 결과: 25

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W02-C · 목표 달성률로 바꾸기

목표 250건, 실적 200건의 달성률을 계산하세요. 목표와 실적에 어울리는 변수 이름을 쓰고, 계산식의 분모를 설명하세요.

목표 결과: 80

빈칸을 채운 뒤 실행하세요.
선택 확장 · TypeScript로 같은 과제 확인하기

W02-B를 JavaScript로 먼저 완료한 뒤 시도하세요. C 선택 활동 시간 중3~5분을 사용하며 필수 과제는 추가되지 않습니다.

budget과 spent에 : number를 붙여 TypeScript 모드로 실행하세요. 출력25를 확인한 뒤 spent를 문자열 "100"으로 바꿔 오류 줄을 확인하고 복원합니다.

프로그램창이 있는 온라인 실습에서 TypeScript 모드를 선택합니다. 관찰한 오류와 수정 이유는 같은 과제의 설명란에 적어 제출하세요. 오프라인 HTML의 실행 버튼은 JavaScript 전용이므로 TypeScript는 온라인 실습에서 실행합니다.

03

업무 규칙을 조건으로 나누기

‘이상’과 ‘초과’를 코드에 정확하게 옮깁니다.

교재 3단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W03-A · 경계값 분류표

집행률 80% 미만 정상, 80% 이상 100% 미만 주의, 100% 이상 초과입니다. 79, 80, 99, 100, 120을 분류하세요.

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W03-B · 조건의 순서 고치기

rate=100이 초과로 나와야 합니다. 아래 코드의 순서와 조건을 고치세요.

목표 결과: 초과

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W03-C · 업무 요청을 분류하기

요청이 긴급이고 영향 인원이 100명 이상이면 ‘즉시 검토’, 나머지는 ‘일반 검토’입니다. urgent=true, people=120으로 코드를 쓰고, people=99도 시험하세요.

목표 결과: 120명은 즉시 검토, 99명으로 수정하면 일반 검토

빈칸을 채운 뒤 실행하세요.
04

여러 건을 묶고 반복 처리하기

행마다 같은 계산을 되풀이하는 일을 맡깁니다.

교재 4단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W04-A · 목록의 위치와 개수

const months = ["1월", "2월", "3월"];에서 months[0], months[2], months.length를 쓰세요.

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W04-B · 누적 합계 완성

지출 15, 25, 10의 합계가 50이 되도록 빈칸을 채우세요. total을 어디에서 0으로 시작하는지 확인하세요.

목표 결과: 50

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W04-C · 기준을 넘은 달 세기

실적 [70, 90, 100, 60]에서 80 이상인 달의 개수를 세세요. 합계와 개수의 차이를 설명하세요.

목표 결과: 2

빈칸을 채운 뒤 실행하세요.
05

계산에 이름 붙이고 입력 확인하기

같은 계산을 재사용하고 잘못된 입력을 먼저 멈춥니다.

교재 5단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W05-A · 반환과 출력 구분

getRate(200, 100)의 반환값은 무엇인가요? 함수 안에 console.log만 쓰고 return을 빼면 호출 결과는 어떻게 되나요?

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W05-B · 0으로 나누기 전에 멈추기

예산이 0 이하이면 안내 문장을 반환하고, 나머지는 집행률을 반환하세요. 입력은 이미 숫자라고 가정합니다.

목표 결과: 예산은 0보다 커야 합니다 25

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W05-C · 빈칸과 0 구분하기

문자열 raw를 받아 빈칸은 ‘입력 필요’, 숫자가 아니거나 음수이면 ‘입력 오류’, 나머지는 숫자로 반환하는 함수를 만드세요. 이번 활동은 소수도 허용합니다.

목표 결과: 입력 필요 0

빈칸을 채운 뒤 실행하세요.
선택 확장 · TypeScript로 같은 과제 확인하기

W05-B를 JavaScript로 먼저 완료한 뒤 시도하세요. C 선택 활동 시간 중3~5분을 사용하며 필수 과제는 추가되지 않습니다.

budget과 spent를 number, 함수의 반환 타입을 number | string으로 표시해 실행하세요. number | string은 숫자 또는 문자열을 반환한다는 뜻입니다. 예산0의 안내와 예산200·지출50의 결과25를 다시 확인합니다.

프로그램창이 있는 온라인 실습에서 TypeScript 모드를 선택합니다. 관찰한 오류와 수정 이유는 같은 과제의 설명란에 적어 제출하세요. 오프라인 HTML의 실행 버튼은 JavaScript 전용이므로 TypeScript는 온라인 실습에서 실행합니다.

06

업무 표를 데이터로 다루기

‘부서명·예산·지출’ 한 행을 묶어 작은 표를 만듭니다.

교재 6단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W06-A · 표의 한 행 읽기

const team = { name: "전략", budget: 300, spent: 160 };에서 부서명과 지출을 읽는 식, 각 결과를 적으세요.

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W06-B · 전체 집행률 계산

아래 두 부서의 예산 합계와 지출 합계, 전체 집행률을 계산하세요. 모든 값은 유효한 숫자입니다.

목표 결과: 예산 합계400, 지출 합계240, 출력60

빈칸을 채운 뒤 실행하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W06-C · 집계 결과가 이상할 때

부서별 집행률 80%와 약53.33%의 평균은 약66.67%인데 전체 집행률은 60%입니다. 왜 다른지 설명하고, 보고서에 어떤 수치를 쓸지 기준을 정하세요.

선택 확장 · TypeScript로 같은 과제 확인하기

W06-B를 JavaScript로 먼저 완료한 뒤 시도하세요. C 선택 활동 시간 중3~5분을 사용하며 필수 과제는 추가되지 않습니다.

교재의 interface Team을 선언하고 teams를 Team[]로 표시해 실행하세요. Team[]는 Team 객체의 배열입니다. 전체 집행률60을 확인하고 한 행의 spent를 문자열로 바꿔 타입 오류를 확인한 뒤 복원합니다.

프로그램창이 있는 온라인 실습에서 TypeScript 모드를 선택합니다. 관찰한 오류와 수정 이유는 같은 과제의 설명란에 적어 제출하세요. 오프라인 HTML의 실행 버튼은 JavaScript 전용이므로 TypeScript는 온라인 실습에서 실행합니다.

07

버튼과 입력창을 코드에 연결하기

브라우저 화면에서 읽고, 눌렀을 때 계산하고, 결과를 씁니다.

교재 7단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 예상 · 5분

W07-A · 화면과 코드 연결하기

querySelector, value, addEventListener, textContent를 ‘요소 찾기, 입력 읽기, 클릭 시 실행 등록, 결과 쓰기’와 연결하세요.

이 활동 코딩·온라인 제출 ↗

필수 · 수정 · 10분

W07-B · 버튼이 바꾸는 문장

교재의 화면 실습에서 입력창에 ‘전략팀’을 적고 버튼을 누르세요. 버튼을 누를 때마다 바뀌는 결과 문장을 적고, 이름을 공백으로 바꿨을 때도 확인하세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W07-C · 요소를 못 찾는 문제 설명

id="result"인 요소를 querySelector("#reslut")로 찾았더니 null이 나왔습니다. 원인, 고칠 코드, 다시 확인할 방법을 적으세요.

08

예산 집행률 계산기 완성하기

규칙 세 줄을 채우고 정상·경계·오류를 직접 시험합니다.

교재 8단원 다시 읽기 ↗

이 활동 코딩·온라인 제출 ↗

필수 · 구현 · 20분

W08-A · 계산기의 세 줄 완성

starter.html을 열고 ‘작성한 규칙 시험하기’를 누르세요. 집행률 식, 초과 조건, 주의 조건을 완성하고 100·80과 100·100을 시험하세요. 파일로 저장할 수 있으면 HTML의 TODO도 같은 값으로 고치세요.

이 활동 코딩·온라인 제출 ↗

필수 · 검증 · 15분

W08-B · 예상과 실제를 비교

검증표의 지정 6개(일반50%, 80% 경계, 100% 경계, 예산0, 지출 빈칸, 지출abc)를 계산기에 입력하고 실제 결과와 통과 여부를 기록하세요. 틀렸다면 입력·규칙·출력을 나누어 원인을 적으세요.

이 활동 코딩·온라인 제출 ↗

선택 · 적용 · 15분

W08-C · 개발자에게 인계하기

내 업무 계산기를 개발자에게 요청한다고 생각하고 입력 단위·범위, 계산식, 구간, 오류 문구, 검증 사례를 적으세요. AI에 코드를 요청할 때도 같은 기준을 사용하세요.

검증 기록표

필수: 일반 50%, 80% 경계, 100% 경계, 예산 0, 지출 빈칸, 지출 abc. 나머지는 선택입니다. 예상 결과를 먼저 읽고 실제 화면에서 입력하여 확인하세요.

최종 계산기 검증 사례 · 첫 6개라는 뜻이 아니라 W08-B의 지정 6개가 필수
구분예산 · 만원지출 · 만원예상 결과실제 결과확인
일반1005050.0% · 정상
경계 바로 전1007979.0% · 정상
80% 경계1008080.0% · 주의
100% 경계100100100.0% · 초과
100% 초과100120120.0% · 초과
실제 지출 010000.0% · 정상
예산 0010예산은 0보다 커야 합니다
누락100빈칸예산과 지출을 모두 입력해 주세요
문자100abc0 이상의 정수를 입력해 주세요
음수100-10 이상의 정수를 입력해 주세요
소수1001.50 이상의 정수를 입력해 주세요
표시 반올림10000799680.0% · 정상 (판정 기준 79.96%)

수업을 마치며

  • 최종 계산기의 수식과 조건 두 줄을 내 말로 설명했다.
  • 지정된 6개 테스트의 예상·실제·확인을 기록했다.
  • 헷갈린 개념 한 개와 다시 볼 워크시트 번호를 적었다.
  • 각 필수 과제의 온라인 실습에서 제출 완료 안내를 확인했다. 워크시트 메모는 JSON 또는 인쇄본으로 따로 보관했다.