1. |
|
오리엔테이션 (강좌소개)
|
SW를 활용한 문제해결 기초의 교육 목표와 무엇을 왜 배워야 하는지 알아보고, 수업 진행 방법과 평가 기준에 대해 알아본다. |
|
|
|
4차 산업혁명의 SW 코딩중심 교육이란?
|
4차 산업혁명 시대를 이끌어갈 창의적인 인재를 육성하기 위한, 컴퓨터 관련 전공생들에게만 필요한 것이 아니라, 현존하는 모든 분야에 적용 가능한, 문제점에 대한 해결책을 도출할 수 있는 새로운 도구로 SW 코딩 교육에 대해 알아본다. |
|
2. |
|
문제와 문제해결은 무엇인가
|
문제해결을 위해서 먼저 문제란 무엇인지 사전적 의미를 살펴보고, 문제해결에 필요한 것들을 알아본다. |
|
|
|
문제를 잘 풀기위한 과정, 알고리즘
|
알고리즘이 무엇인지, 알고리즘을 공부하는 방법을 다양한 문제 풀이를 통해서 입력을 처리하여 출력을 얻는 방법으로 익힌다. |
|
3. |
|
왜 컴퓨터 프로그래밍을 배워야 할까?
|
모든 이가 프로그래밍을 배워야 하는 이유? : 모든 사람들이 컴퓨터 프로그래밍을 배워야하는 이유를 알아보고, 첫 번째 프로그래밍 언어로 어떤 언어를 선택해야 하는지 알아본다. |
|
|
|
컴퓨터의 계산 프로세스의 이해
|
프로그래밍 언어는 프로세스에 대한 사람의 생각을 짜임새 있게 담아내는 그릇이므로, 다른 무엇보다 단순한 생각을 모아 복잡한 생각을 엮어내는 수단에 무게를 둔다. |
|
4. |
|
프로그램 짤 때 바탕이 되는 것1 - 프로그램 작성의 기본기
|
좋은 프로그래밍 언어가 꼭 갖추어야할 표현 방식을 알아보고, 실행기가 곧 바로 셈할 수 있는 기본식을 알아보기 위해 첫 프로그래밍 언어인 파이썬을 실행시켜 본다. |
|
|
|
프로그램 짤 때 바탕이 되는 것2 - 이름 붙이기와 문자열
|
계산 물체에 이름을 붙이는 방법인 변수에 대해 알아보고, 값을 담기 위해 변수를 생성하고, 계산식에서 그 변수를 이용해 본다. |
|
5. |
|
문자열과 리스트 - 문자열 연산과 값의 나열
|
생성한 문자열을 이용하여 문자열 연산을 학습해보고, 문자열보다 활용도가 높은 값이 나열된 형태 즉 리스트에 대해 알아본다. |
|
|
|
여러 개의 항목들 연산하기 - 리스트 연산과 튜플, 맵
|
여러 개의 항목들을 처리하기 위해 리스트와 튜플 사용법을 익히고, 값들을 식별한 키를 가지고 값을 저장하거나 변경할 수 있는 맵이 어떻게 사용되는지 배워본다. |
|
6. |
|
예/아니오에 대한 질문과 응답
|
예/아니오에 대한 질문들은 조건문(condition)이라고 불리며, if문 안에 이러한 조건문과 응답을 알아본다. 또한 참 또는 거짓을 판단하는 연산자는 어떠한 것들이 있는지 학습한다. |
|
|
|
여러 개의 조건걸기와 문자열과 숫자
|
여러 개의 조건을 걸어서 작업할 수 있는 방법과 int와 str, float를 사용하여 문자열을 숫자로 숫자를 문자열로 변경하는 방법을 알아보고, 그 외의 수치 연산 함수들에 대해 학습한다. |
|
7. |
|
빙글빙글 돌기1 - 반복문인 for
|
가장 많이 사용되는 반복문인 for에 대해서 알아보고, for문에서 만날 수 있는 break와 continue의 쓰임새를 살펴본다. |
|
|
|
빙글빙글 돌기2 - 복잡한 반복문 만들기
|
for문 안에 또 다른 for문을 중첩이라 하는데, 이러한 복잡한 루프에 대해 살펴보고, for 루프외의 while 루프도 알아본다. 이것은 서로 비슷하지만 다른 식으로 사용될 수 있다. |
|
8. |
|
함수를 이용한 코드 재사용하기
|
함수를 이용하여 코드를 어떻게 재사용하는지 살펴본다. 또한 변수가 함수의 내부나 외부에서 보이도록 할 수 있는 변수의 영력을 관리하는 방법과 def 키워드로 함수를 생성하는 방법도 배운다. |
|
|
|
모듈을 이용한 코드 재사용하기
|
하나의 파일은 하나의 모듈이다. 여러 개의 모듈로 작성된 프로그램들이 상호 호출하면서 실행되도록 한다. |
|
9. |
|
거북이(터틀)로 그림 그리기
|
turtle 모듈을 이용하여 캔버스에 그림을 그려본다. left와 right를 이용하여 방향을 돌리고 forward와 backward 명령을 이용하여 간단한 선을 그린다. 또한 각도에 따라 거북이를 돌리는 방법도 알아본다. |
|
|
|
사물을 클래스로 구분하기
|
객체와 클래스의 개념을 살펴본다. 클래스를 생성해보고, 그 클래스의 객체(인스턴스)를 만들어 본다. |
|
10. |
|
객체와 클래스의 유용한 기능들
|
부모의 함수를 자식 클래스가 어떻게 상속받는지, 같은 클래스로 생성된 두 개의 객체가 반드시 동일하지 않을 수 있음을 배운다. 또한 다른 함수와 변수를 참조하기 위해 함수에 있는 self 매개변수의 이용법을 알아본다. |
|
|
|
객체와 클래스에 대한 그래픽적 접근
|
turtle 모듈을 이용하여 객체와 클래스에 대해 그래픽적으로 접근해보고, 유용한 내장함수들을 알아본다. |
|
11. |
|
만들어져 있는 프로시저 사용하기1
|
객체의 복사본을 생성하는 COPY 모듈을 이용해 복사본의 결과를 같은지 확인해보고, 난수를 만드는 방법, 객체들의 리스트를 무작위로 섞는 방법 등을 알아본다. |
|
|
|
만들어져 있는 프로시저 사용하기2
|
쉘 자체를 컨트롤할 때 사용할 수 있는 시스템 함수들을 가지고 있는 sys모듈을 살펴보고, 시간을 가지고 작업하는 방법도 알아본다. 또한 pickle을 이용하여 정보를 저장하고 로드하는 방법도 학습한다. |
|
12. |
|
기하학적 도형 그리기
|
for 루프문과 if 문으로 화면에서 거북(turtle)이를 제어해 몇 가지 기본적인 기하학적 모양을 그려보고, 자동차와 같은 조금 더 복잡한 도형도 그려본다. |
|
|
|
그리기 코드 다시 사용하기
|
펜 색상을 바꾸어 그려진 도형에 색을 채워보고, 함수를 한 번 호출해 다양한 색상과 모양으로 쉽게 도형을 그릴 수 있도록 그리기 코드를 재사용해 본다. |
|
13. |
|
캔버스에 그림 그리기
|
더 나은 그래픽을 위해 tkinter 모듈을 사용하여 캔버스를 생성하고, 클릭할 수 있는 버튼을 만들어 동작시켜 본다. 캔버스에 그림을 그리기 위해 좌표를 이용하여 정사각형은 물론 여러 가지 직사각형을 그려봄으로써 기존의 turtle과 차이점을 안다. |
|
|
|
움직이는 그림 그리기
|
기본적인 애니메이션을 하기 위해 tkinter 모듈을 사용하고, 어떤 키를 눌렀을 때 반응하도록 이벤트 바인딩을 사용한다. 또한 그렸던 도형을 이동한다거나 색상을 바꿔보고, 움직이는 공도 만들어 본다. |
|