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