새싹교실/2014/개다리소반 (rev. 1.22)
3.1. 1회차: 03.13(목) ¶
- 참석자: 신형철, 김경현, 지무근
- 튜티들의 대략적인 실력과 요구사항 파악
- 시간 협의
- 후기
- 다 같이 만나서 밥이나 한번 먹어보려 했는데.. 그렇게 하지 못 해서 아쉽네요.. 그래도 이렇게 만나게 되어서 반갑습니다. - 남근우
3.2. 2회차: 03.22(토) ¶
- 참석자: 지무근, 신형철
- 수업의 진행방향 논의
- 반 이름 짓기
- 위키 사용법 안내
- 컴퓨터의 대략적인 역사
- C 프로그래밍 문법
- printf와 scanf 함수의 기본적인 사용법
- 변수와 자료형, 부동소수점의 개념 소개
- 올바른 변수 이름 지정의 중요성
- 실습 예제로 printf와 scanf 함수를 이용하여 나이, 키, 몸무게, 평균평점을 출력하는 프로그램 만들어봄
- C 표준 라이브러리 함수 레퍼런스
- 후기 & 피드백
- 피드백: 서론이 너무 길었다.
- 다음부터는 C 프로그래밍에 시간을 좀 더 할애하기로...
- 변수의 자료형을 적절하게 선택하는 것에 '평균평점'을 예제로 하니 학생들이 더 빨리 이해를 할 수 있었네요. 어쨌든, 주말임에도 수업에 참석해주신 학생분들 수고하셨습니다. - 남근우
3.3. 3회차: 03.29(토) -> 04.05(토) (집부 엠티 관계로 일정이 밀렸네요..) ¶
- 참석자: 지무근, 신형철
- 컴퓨터공학을 배우는 이유
- C 프로그래밍 문법
- 전처리기에 대한 간단한 설명
- 컴퓨터 내부의 정보 처리 과정
- 형변환
- 상수와 변수에 대한 이해
- 연산자에 대한 이해
- 반복문에 대한 이해
- 후기 & 피드백
- 피드백: 서론을 없애자. 진도가 너무 늦다.
- 다들 추운데 오시느라 수고하셨습니다. - 남근우
3.4. 4회차: 04.12(토) ¶
- 참석자:
- 컴퓨터공학의 응용
- C 프로그래밍 문법
- 조건문
- goto 함수(되도록 사용하지 말자.)
- 함수
- 과제(지금까지 배운 것을 최대한 모두 활용할 수 있도록 만들어봅니다. 하기 싫으면 안 해도 됩니다.)
- 나에게는 90년 초반 이후로 컴퓨터를 손도 대지 않은 철수라는 친구가 있다. 그런데 그 친구가 '요즘 운영체제들은 조작하기 너무 어려워.'라며 CLI 기반의 콘솔창에서 키보드로만 조작할 수 있는 간단한 프로그램 하나만 만들어 달라는 것이다.
- 그 친구가 만들어 달라는 프로그램의 요구사항은 다음과 같다.
- 먼저, 프로그램을 실행하면, 어떤 기능을 실행할 지를 사용자에게서 입력받는다. e.g. 1. 계산기, 2. 환율 계산, 3. 구구단 출력 4. 종료 등등...)
- 또한, 4번 옵션을 선택하지 않는 이상, 프로그램이 계속 작동해야 한다.
- 환율 계산에서는 1. 원화(KRW) -> 달러(USD), 2. 원화(KRW) -> 엔화(JPY), 3. 달러(USD) -> 원화(KRW), 4. 엔화(JPY) -> 달러(USD)와 같이 사용자가 필요한 옵션을 선택할 수 있도록 한다.(실시간으로 환율을 가져오지 않아도 된다. 프로그램을 작성하는 날의 기준환율로 계산한다.
- 각 기능을 함수로 적당히 나누어 구현한다.(maintenance를 위해서)
- 되도록이면 goto 문은 사용하지 말자. (쓰면 복잡해진다.)
- 후기 & 피드백
3.5. 5회차: 04.19(토) -> 05.03(토) (열심히 공부한 만큼 중간고사에서 좋은 결과 있기를 바랍니다.) ¶
- 참석자:
- 과제 공유(설계 방법과 그 이유 설명하기)
- C 프로그래밍 문법
- 과제
- 2차원 배열을 통하여 3x3 square matrix의 transposed matrix, inverse matrix, determinant를 구하는 프로그램 만들기.
- call-by-reference로 함수의 값을 바꾸기.
3.6. 6회차: 05.10(토) -> 05.17(토) (강사의 개인 사정으로 수업을 연기합니다.) -> 05.24(토) (강사가 아픔..) -> 05.29(토) (학생들 다들 시험치러감... 무슨 시험이었죠? 잘 쳤나요?) ¶
- 참석자:
- 과제 공유(설계 방법과 그 이유 설명하기)
- C 프로그래밍 문법
- 과제
- 사용자로부터 값을 입력받아 3x20 배열에 저장한다. 그리고 그것을 기본적인 정렬 알고리즘(bubble sort)을 이용하여 오름차순정렬하도록 한다.
이때 정렬 알고리즘은 따로 함수를 만들며, 그 함수에 배열을 넘길 때에는 포인터와 배열의 개념에 대하여 잘 생각해보도록 한다.
- cf) 거품정렬(bubble sort)이란?
정렬 알고리즘 중 가장 쉽지만, 비효율적인 방법이다. 그렇지만 구현이 매우 간단하기 때문에 여기서 활용해보도록 하자. 거품정렬에서는 첫번째 원소부터 마지막 원소까지, 즉, 모든 원소를 1:1로 비교하여 정렬을 한다. 자세한 것을 수업시간에 언급하겠으며, 필요한 경우 다음 동영상을 참조하길 바란다.(
http://www.youtube.com/watch?v=MtcrEhrt_K0)
- 사용자로부터 문자열을 입력받는다. 그후에 그 문자열을 분석하여 출력해준다.
- 단어의 개수, 특정 단어의 출현 빈도, 길이, 단어의 검색 등