[[TableOfContents]] = 참가자 = * 튜터 : [남근우] * 튜티 : [신형철], [김경현], [지무근] = 개요 = * C 프로그래밍 기초 스터디 & 잡다한 것 * 자세한 강의계획서는 첨부 파일로[[attachment:새싹교실/2014/개다리소반/syllabus-ss2014-1.pdf]] * 진행 일시 : 매주 토요일 13:00 ~ 15:00 = 수업 일지 = == 1회차: 03.13(목) == * 참석자: [신형철], [김경현], [지무근] * 튜티들의 대략적인 실력과 요구사항 파악 * 시간 협의 * 평일에는 서로 맞는 시간이 없다.. ㅠㅠ * 후기 * 다 같이 만나서 밥이나 한번 먹어보려 했는데.. 그렇게 하지 못 해서 아쉽네요.. 그래도 이렇게 만나게 되어서 반갑습니다. :D - [남근우] == 2회차: 03.22(토) == * 참석자: [지무근], [신형철] * 수업의 진행방향 논의 * 반 이름 짓기 * 위키 사용법 안내 * 컴퓨터의 대략적인 역사 * C 프로그래밍 문법 * printf와 scanf 함수의 기본적인 사용법 * 변수와 자료형, 부동소수점의 개념 소개 * 올바른 변수 이름 지정의 중요성 * 실습 예제로 printf와 scanf 함수를 이용하여 나이, 키, 몸무게, 평균평점을 출력하는 프로그램 만들어봄 * C 표준 라이브러리 함수 레퍼런스 * 후기 & 피드백 * 피드백: 서론이 너무 길었다. * 다음부터는 C 프로그래밍에 시간을 좀 더 할애하기로... * 변수의 자료형을 적절하게 선택하는 것에 '평균평점'을 예제로 하니 학생들이 더 빨리 이해를 할 수 있었네요. 어쨌든, 주말임에도 수업에 참석해주신 학생분들 수고하셨습니다. - [남근우] == 3회차: 03.29(토) -> 04.05(토) (집부 엠티 관계로 일정이 밀렸네요..) == * 참석자: [지무근], [신형철] * 컴퓨터공학을 배우는 이유 * C 프로그래밍 문법 * 전처리기에 대한 간단한 설명 * 컴퓨터 내부의 정보 처리 과정 * 형변환 * 상수와 변수에 대한 이해 * 연산자에 대한 이해 * 반복문에 대한 이해 * 후기 & 피드백 * 피드백: 서론을 없애자. 진도가 너무 늦다. * 다들 추운데 오시느라 수고하셨습니다. - [남근우] == 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 문은 사용하지 말자. (쓰면 복잡해진다.) * 후기 & 피드백 * * == 5회차: 04.19(토) -> 05.03(토) (열심히 공부한 만큼 중간고사에서 좋은 결과 있기를 바랍니다.) == * 참석자: * 과제 공유(설계 방법과 그 이유 설명하기) * C 프로그래밍 문법 * 함수의 활용 * 배열 * 과제 * 2차원 배열을 통하여 3x3 square matrix의 transposed matrix, inverse matrix, determinant를 구하는 프로그램 만들기. * call-by-reference로 함수의 값을 바꾸기. == 6회차: 05.10(토) -> 05.17(토) (강사의 개인 사정으로 수업을 연기합니다.) == * 참석자: * 과제 공유(설계 방법과 그 이유 설명하기) * C 프로그래밍 문법 * 포인터와 배열 * 과제 * 사용자로부터 값을 입력받아 3x10 배열에 저장한다. 그리고 그것을 기본적인 정렬 알고리즘(bubble sort)을 이용하여 오름차순정렬하도록 한다. 이때 정렬 알고리즘은 따로 함수를 만들며, 그 함수에 배열을 넘길 때에는 포인터와 배열의 개념에 대하여 잘 생각해보도록 한다. * cf) 거품정렬(bubble sort)이란? 정렬 알고리즘 중 가장 쉽지만, 비효율적인 방법이다. 그렇지만 구현이 매우 간단하기 때문에 여기서 활용해보도록 하자. 거품정렬에서는 첫번째 원소부터 마지막 원소까지, 즉, 모든 원소를 1:1로 비교하여 정렬을 한다. 자세한 것을 수업시간에 언급하겠으며, 필요한 경우 다음 동영상을 참조하길 바란다.(http://www.youtube.com/watch?v=MtcrEhrt_K0) ---- [새싹교실/2014]