Skip to content
This repository has been archived by the owner on Apr 25, 2020. It is now read-only.

Latest commit

 

History

History
181 lines (154 loc) · 7.33 KB

커리큘럼계획서.md

File metadata and controls

181 lines (154 loc) · 7.33 KB

Welcome to Android!

팀명

드로이드나이츠(Droid Knights)

팀원

  • 정다은(대덕소프트웨어마이스터고등학교 소프트웨어개발과 2학년)
  • 조민규(대덕소프트웨어마이스터고등학교 소프트웨어개발과 3학년)

개요

Kotlin을 통한 안드로이드 프로그래밍 입문. Kotlin을 선정한 건 트렌드 때문이기보단, 타입 추론이나 for-range 등 교육하고/배우는 입장에서 조금 더 직관적으로 배울 수 있어 채택.

목표

만들고 싶은 걸 만들며, 내가 사용해온 앱들을 조금 다른 시각으로 바라보기

예상 난이도

★★★☆☆

교육 대상

중학교 2학년 ~ 고등학교 3학년

지역

서울

희망 인원

6~8명

강의 일정

매주 토요일, 1차시 당 4시간, 총 4차시(16시간)

강의 방식

  • '있으면 유용한데 굳이 지금 필요 없는 것'들은 확실하게 배제
  • 수업이 끝나면 해당 차시의 수업 자료 제공
  • 다음 차시에 대한 스포일러

커리큘럼

1차시

1-1차시(2시간)

서로를 알아보고, 프로그래밍을 준비하자

  • 강사 소개(5분)
  • 강의 소개(5분)
    • 강의의 목적
    • 강의 계획
  • 학생 소개(25분)
  • 설리번 프로젝트를 하는 동안 가져줬으면 하는 자세(5분)
    • 질문은 우리 모두를 위한 것
    • 다 외우려는 강박관념 없애기
  • 프로그래밍 이야기
    • 프로그래밍이란?(10분)
      • 컴퓨터와의 대화를 위한 것
      • 이런 대화를 위한 수많은 언어들
    • 안드로이드 앱을 위한 프로그래밍(20분)
      • 안드로이드 아~주 조금 설명
      • 안드로이드? iOS?(갤럭시와 아이폰)
      • 스마트폰이라는 작은 컴퓨터와의 대화
      • 그리고 이 대화를 위한 언어 - Java? Kotlin?
      • Kotlin을 선택한 이유
  • 만들고 싶은 거 생각하기
    • 브레인스토밍 도와주기(5분)
      • 설리번 선생님들이 가장 처음 앱 개발을 시작했을 때 만들었던 것들 + 앱 개발을 하는 주변 친구들이 처음으로 만들었다는 앱 보여주기
        • 클리커 게임
        • 이항식 계산기
        • 등등..
    • 머릿속, 종이와 펜, 문서 등으로 정리하기(15분)
    • 발표하고 피드백 주기, 이런저런 이야기하기(30분)

1-2차시(2시간)

Hello World, 변수와 조건

  • Try Kotlin에 Kotlin을 배울 준비(로그인) 하기(5분)
  • Hello World
    • 샘플 코드를 붙여넣고, 한 번 돌려보기(5분)
    • 필요없는 부분(fun main) 빼고, println만 살펴보기(15분)
      • 수학의 함수 vs 프로그래밍의 함수(수학처럼 in-out 구조가 아니라, in-process-out 구조)
      • fun main도 하나의 함수
    • 자기가 원하는 문자열 출력하기 + 문자열 여러 개 출력하기(부모님께 5줄짜리 편지 쓰기) (10분)
  • 변수
    • 수학의 변수와 변수의 정의, 우리에게 변수가 필요한 이유(5분)
    • 변수 선언하고, 출력하기(var로 선언하며 타입 추론의 도움을 받도록) (10분)
    • 대표적인 타입 이야기(15분)
      • 숫자
      • 문자열
      • 알고만 있으세요
    • 숫자의 연산(5분)
      • +, -, *, /, %
  • 조건문
    • 조건문이 쓰이는 곳(5분)
      • 네이버 지도 : GPS가 켜져 있지 않으면 알림 창 띄움
      • 페이스북 : 인터넷이 연결되어 있지 않으면 오프라인 상태라고 알려준다
      • 카카오톡 : 프로필을 열었는데 친구가 아니면 친구추가 버튼을 보여준다
    • 참과 거짓을 위한 타입 bool(10분)
      • 참은 true
      • 거짓은 false
    • 조건문을 순서도로 표현하기(5분)
    • 조건문을 의사 코드로 표현하기(10분)
    • 조건문을 kotlin으로 표현하기(10분)
  • 아~주 짧은 복습시간(10분)

2차시

2-1차시(2시간)

조건문을 더 깊게, 그리고 반복문

  • 저번에 배웠던 조건문을 확장하기
    • 비교 연산자로 true와 false를 표현하기(15분)
    • 비교 연산자의 종류(25분)
      • <, <=
      • >, >=
      • ==, !=
  • 반복에 대하여
    • 반복의 필요성 느끼기(5분)
      • 1부터 10까지 println
      • 1부터 30까지 println
      • 구구단 println
      • 1부터 100까지 짝수만 println
    • 반복문 살펴보기(20분)
      • for i in 1..10, if(i % 2 == 0) println(i)
      • 인간 디버거가 되어 모든 loop를 하나하나 설명하기
    • 반복문으로 뭔가 해보기(40분)
      • 1부터 10까지 출력
      • 1부터 100까지 홀수만 출력
      • 구구단 9단 출력
  • 복습 겸 휴식(15분)
  • 안드로이드 스튜디오 설치 & 에뮬레이터 추가 & SDK 설치!(시간 외, 설리번 선생님들이)

2-2차시(2시간)

함수와 Hello Android

  • 함수 이야기
    • 수학의 함수와 비교하기(5분)
    • 인자와 반환이 없고, Hello World를 출력하는 함수 선언하고 호출하기(5분)
    • 인자를 가진 함수(10분)
    • 반환값을 가진 함수(10분)
    • 두 수의 합을 반환하는 함수(10분)
  • 안드로이드 스튜디오 세팅 마무리 & 안드로이드에 대한 소개(30분)
    • 역사
    • android everywhere
    • 버전
    • 안드로이드 어플리케이션의 구성
      • 레이아웃(눈에 보여지는 부분)
        • XML이라는 또다른 언어
        • 간단한 드래그 앤 드롭
      • 이벤트 처리(사용자의 입력에 반응)
        • Kotlin!
    • 안드로이드 앱 프로젝트의 구성 요소
  • Hello Android - 안드로이드 프로젝트 만들고, 바로 에뮬레이터 or 각자 안드로이드 스마트폰으로 돌려보기(15분)
  • 프로젝트를 만들면 기본으로 제공되는 TextView에 있는 ID 속성을 설명하고, 이를 이용해 텍스트를 바꿔주기(10분)
  • 버튼을 만들고, 이 버튼을 클릭하면 TextView에 몇 번 눌렸는지 보여주기(순서도와 함께) (20분)
  • 아~주 짧은 복습시간(5분)

숙제 : 버튼 두 개를 만들고, 각 버튼이 눌렸을 때 서로 다른 문자열을 TextView에 보여주기

3차시

3-1차시(2시간)

여러가지 View

  • EditText와 Toast를 활용한 두 수 더하기(순서도와 함께) (40분)
  • RadioButton과 ImageView를 활용한 부모님 사랑해요(순서도와 함께) (40분)
  • ID/비밀번호 등 특정 조건에 맞으면 화면 이동하기(순서도와 함께) (40분)

3-2차시(2시간)

내가 만들고 싶은 것

  • 발표했던, '내가 만들고 싶은 것'에 대해 순서도를 그리기(60분)
  • 순서도 발표하고 피드백 받기(30분)
  • 드래그 앤 드롭으로 화면 그려보기(30분)

숙제 : 순서도를 코드로 어떻게 표현할지 고민해오기

4차시

4-1차시(2시간)

만들기 시작

  • 기능에 우선순위 부여하기(꼭 구현해야 할 기능, 없어도 괜찮을 기능, ...) (20분)
  • 만들어보기(80분)
  • 간단히 회고하기(20분)

4-2차시(1시간)

조금은 급한 마무리

  • 그동안 활동했던 사진들 보고 추억팔이(15분)
  • 맛있는 거 먹으면서 그동안의 활동을 이야기하기(45분)