[[TableOfContents]] = 3월 16일 = * 오후 6시에 6피에서 모였습니다. * IceBreaking : 진실 혹은 거짓으로 간단히 서로에 대해 알아보았습니다. * 반 이름을 소개하고 의미를 설명했습니다. * 함께 공부하기 위해 알아야할 것들을 물어보고 결정했습니다. * 컴퓨터공학부에 들어온 이유, 하고싶은 것, 선행학습 여부, 최근 C 진도. * 우리 반 목표를 설명했습니다. = 3월 23일 = * 오후 6시에 5피에서 모였습니다. * IceBreaking : 외국인과 만나본 적이 있는지 이야기했습니다. * Keywords : 컴파일러, 프로그래밍 언어, printf 함수, main 함수, #include, assert 함수, 변수, 자료형 * 돌아보기 == 공부한 것 == === 컴퓨터와 이야기 하는 방법 === * 컴퓨터는 0과 1밖에 몰라서 사람 말로는 대화할 수 없습니다. 우리가 쓴 코드를 컴퓨터가 이해하기 위해서는 컴파일러의 도움을 받아야합니다. * 컴파일러는 번역가 같은 역할을 합니다. 우리가 짠 코드를 컴퓨터가 이해할 수 있게 번역해줘요. === Hello world! 컴퓨터와 인사해요 === {{{ int main() { printf("Hello world!"); return 0; } }}} * main 함수는 프로그램이 시작하는 부분이예요. 앞으로 함수를 배우기 전까지 모든 코드는 main 함수 안에 작성합니다. * 모든 문장의 끝에는 ; 를 써주세요. * printf 함수는 콘솔에 내용을 출력해주는 역할을 합니다. * 그런데 위 코드를 실행해보면 에러가 납니다. * printf 함수가 내용을 출력해준다는 것을 컴퓨터가 모르니까요! {{{ #include int main() { printf("Hello world!"); return 0; } }}} * 사실 printf가 어떻게 내용을 출력해주는지는 똑똑한 아저씨들이 stdio.h에 미리 써놓았어요. 우리는 #include 라는 코드를 써서 저 파일을 컴퓨터가 읽어볼 수 있도록 알려주기만 하면 됩니다. * stdio.h가 무엇인지는 나중에 다시 더 설명할게요. * 그런데 이상한 점이 있죠? * 위에서 분명 모~든 코드는 main 함수 안에 쓴다고 했는데 #include 는 맨 위에 썼어요. * 그리고 모든 문장의 끝에 ; 를 쓰라고 했는데 ; 도 쓰지 않았어요. * 왜 그런지는 전처리기를 공부할때 자세하게 설명하겠습니다. === 3+4가 뭐더라? === * 3+4가 뭐죠? 컴퓨터에게 한번 물어볼까요? {{{ #include int main() { printf("%d", 3+4); return 0; } }}} * 위 코드를 실행시키면 콘솔에 3+4의 값이 출력됩니다. === 그래, 3+4는 7인데… 그걸 봐야 아나? === * 그런데 위 코드는 3+4의 값이 뭔지 확인해보기 위해 너무 복잡한 일들을 해요. 3+4가 7인 것을 왜 굳이 출력해야하죠? {{{ #include int main() { assert(3+4 == 7); return 0; } }}} * assert는 영어로 '주장하다'라는 뜻을 가진 단어입니다. 나중에 더 자세히 설명하겠지만 assert(3+4 == 7);은 컴퓨터에게 ''3+4는 7이라고!!!'' 주장하는 것과 같다고 생각하면 됩니다. * 3+4는 7이 맞기 때문에 아무 일도 생기지 않습니다. 그런데 {{{ #include int main() { assert(3+4 == 8); return 0; } }}} * 이렇게 하면 컴퓨터에게 ''3+4는 8이라고!!!'' 주장하는 것과 같습니다. 만약 누가 갑자기 저런 말을 한다면 아주 어처구니가 없겠죠? 컴퓨터도 저런 주장은 어이없게 생각하기때문에 말도 안 되는 주장을 할 경우 에러를 발생시킵니다. * 아, 그리고 assert도 함수같은 것인데 assert가 무슨 일을 하는지는 똑똑한 아저씨들이 assert.h에 써두었습니다. 우리는 그냥 #include 를 적어 저 파일을 컴퓨터가 읽어볼 수 있게 알려주기만 하면 됩니다. printf를 쓸때처럼요! * == 연산자에 대해서는 연산자를 공부할 때 더 자세히 설명하겠습니다. 지금은 '같다'를 의미한다고만 알아두세요. === 변수야, 이것 좀 기억해줄래? === * 변수와 자료형에 대해서도 이야기했는데, 이건 다음시간에 더 이야기해야 할 것 같아요. 다음에 더 자세히 공부하고 그 날 페이지에 기록하겠습니다. == 후기 == * [새싹교실/2011/Pixar]페이지의 ''후기를 쓰기 전에'' 항목을 읽어주세요. ---- * 오리엔테이션을 제외하고 첫 모임이었습니다. 1. C 고수는 절대 아니지만… 나름 새싹교실 4년차라 이제 오래 준비하지 않아도 뭘 가르칠지는 머리 속에 다 들어있다고 생각했는데 첫 시간 진행해보니 그렇지 않네요ㅜㅜ 관련 내용은 알고 있어도 처음 C를 접하는 새내기들에게 어떻게 설명해야 좋을지 생각해봐야겠어요. 이전까지는 사실 교수님 수업이 새싹 진도보다 조금씩 앞서나가서 수업을 보충하는 식으로 진행했던 것 같은데 이번 해엔 그렇지 않다는 것을 미리 고려하지 못했습니다ㅠㅠ 1. 매년 아는 게 조금씩 늘어나서 해주고픈 말도 너무 많아요. 그런데 제 머리속에선 흐름이 잡혀있는 이야기들이지만 막상 프로그래밍을 처음 접하는 새내기들이 듣기엔 이 소리했다가 저 소리했다가 왔다갔다 하는 것으로 느껴질 것 같습니다. 다음 시간부터는 흐름을 잃지 않도록 간단히 키워드 목록이라도 준비해올게요~ 1. 생각해봤는데 제가 말이 너무 빠르고 혼자 말을 많이 해서 새내기들이 듣고 생각을 정리할 시간이 별로 없지 않았나 싶습니다. 조금 더 천천히 말하고 함께 이야기해보고, 직접 실습하며 스스로 내용을 정리하고 느낄 수 있는 시간이 될 수 있게 노력하겠습니다. - [김수경] * 1주차에는 수업시간에 했던 간단한 Hello World랑 간단한 연산과 assert함수에대해서 배우고 응용해 보았다. 수업시간에했던 C공부에 생겼던 의문들을 자세하게 다 알 수 있어서 좋았다. C가 한참막막해보였는데 새싹교실 첫시간에 희망이생겼다. 다음시간에도 많이 배우고 갔으면 좋겠다. - [김연석] * C언어를 처음으로 공부했어요 ㅎㅎ 고급언어 저급언어?? 에 대해서 배웠고 다른 언어들에대해서도 간단히 들었다. 그리고 변수와 자료형에대해서도 배웠어요. 너무 신기했어요 처음으로 C를 공부해봐서 ㅠㅠ.,... 자랑은아니지만.. 앞으로 배울거 생각하면 너무기대되요 ㅎㅎ 제가 복습을 잘 안해서 ㅠㅠ 걱정이 되지만 앞으로 최선을다해!! 복습 해올께요 - [이승열] = 3월 24일 = == 공부한 것 == * 위키 사용하기 * 후기 쓰기 * 지난시간 복습 * 전처리기 * #include < > * #include " " * 전처리기가 작동하는 방식 * myheader.h {{{ } }}} * myprog.c {{{ int main { return 0; #include "myheader.h" }}} == 후기 == * 사실, 느낌, 배운 점, 앞으로의 계획을 넣어 작성해주세요. * 두번째로 c프로그래밍을 배웠습니다! 피드백을 좀 늦게쓰게됬습니다. 저번시간에는 전처리기에 대해서 배웠습니다 컴파일 전에 읽어주기 때문에 전처리기라고 합니다. 우리가 써본건 #include 와 #define 입니다 그리고 변수이름으로 사용할 수 있는것들을 배웠습니다. 학교 수업이 너무 어려워서.. 열심히 하려고합니다!!.. -이승열- * 아이스브레이크를 너무 오래한것같아서 조금 아쉬웠어요ㅠㅠ. 복습하고 수업하고 그러는거 정말 괜찮았는데 1시간밖에안해서 아쉬웠어요ㅠㅠ. 정말 교수님한테 듣는 수업에 비해서 엄청 쉬우셔서 쉽고 재밌게 배우고 있어요 ㅎ_ㅎ. int하고 char, 정수,변수 그거를 제가 다 까먹어서 다시 한번 집에서 한번 해봐야댈것같아요 ㅠㅠ. 앞으로도 이렇게만 배웠으면 좋겠어욬ㅋㅋㅋ. 누나감자칩먹고싶어요 크크. -김연석- * 아이스브레이킹을 제가 참여하며 진행하다보니 시간 제한을 못 해서 너무 많은 시간을 썼습니다. 다음부터는 시간을 많이 쓰지 않는 아이스 브레이킹을 해야겠어요. 5피에서 진행했는데 컴퓨터가 너무 안 좋아 문제네요. 다음번엔 다른 곳에서 진행하겠습니다. - [김수경] = 3월 30일 = == 공부한 것 == * 연산자 * 산술 연산자 * 다항 연산자 * 단항 연산자 * 논리 연산자 * 비트 연산자 * 조건 연산자 == 후기 == * 저번주에 한시간 빠져서 저는 오늘 두번째 새싹교실 수업이었어요. 오늘은 연산자에 대해서 배웠는데 한번 배워서는 다 외우기는 힘들꺼 같았어요. 벌써 다외울 필요는 없고 계속 쓰다보면 외워질거라는 말씀에 그래도 맘이 놓였어요. 그리고 오늘 새로운 애가 한명 들어왔는데 걔는 분위기를 망치는거 같아요. - 한광운 - * 새싹교실을 처음들었는데 대학생활 한달만에 제대로 된 수업을 들은 느낌입니다. 오늘 많은 것을 배운 것 같습니다. 2시간동안 수업들었는데 딱히 수업이 긴거 같진 않았고요 재밌었어요 printf랑 assert 도 처음 배웠고 C언어 시간에 하나도 알아듣지 못한 것을 여기서 많이 배우고 가네요 앞으로 복습도하고 예습?은 쫌힘들어도 복습은 철저히 해서 C언어를 잘하고싶어요~~~~~~-오상준- * 세번째 c프로그래밍수업 새싹교실을 했습니다. 연산자에 대해서 배웠습니다. 연산자는 사칙연산이랑 나머지를 구하는거등이 있었고, assert를 이용해서 확인해보면서 & 나 | 등 배우고 printf에 대해서도 배웠어요 내일은 수업이 없다고 하니 오늘 한것을 복습을 열심히 하겠습니다~! 점점 잘할수 있을거같다는 마음이 드네요 . -이승열- = 3월 31일 = [김수경]이 Xper 3월 정모를 가게 되어 휴강. * 휴강은 아닌듯? 전날로 땡겨서 한가잖아 ㅋㅋ - [서지혜] * 이땐 원래 일주일에 이틀 하기로 했었거든 ㅋㅋㅋㅋ - [김수경] ---- [새싹교실/2011/Pixar]