1. 3월 16일

  • 오후 6시에 6피에서 모였습니다.
  • IceBreaking : 진실 혹은 거짓으로 간단히 서로에 대해 알아보았습니다.
  • 반 이름을 소개하고 의미를 설명했습니다.
  • 함께 공부하기 위해 알아야할 것들을 물어보고 결정했습니다.
    • 컴퓨터공학부에 들어온 이유, 하고싶은 것, 선행학습 여부, 최근 C 진도.
  • 우리 반 목표를 설명했습니다.

2. 3월 23일

  • 오후 6시에 5피에서 모였습니다.
  • IceBreaking : 외국인과 만나본 적이 있는지 이야기했습니다.
  • Keywords : 컴파일러, 프로그래밍 언어, printf 함수, main 함수, #include, assert 함수, 변수, 자료형
  • 돌아보기

2.1. 공부한 것

2.1.1. 컴퓨터와 이야기 하는 방법

  • 컴퓨터는 0과 1밖에 몰라서 사람 말로는 대화할 수 없습니다. 우리가 쓴 코드를 컴퓨터가 이해하기 위해서는 컴파일러의 도움을 받아야합니다.
  • 컴파일러는 번역가 같은 역할을 합니다. 우리가 짠 코드를 컴퓨터가 이해할 수 있게 번역해줘요.

2.1.2. Hello world! 컴퓨터와 인사해요

int main() {
  printf("Hello world!");
  return 0;
}
  • main 함수는 프로그램이 시작하는 부분이예요. 앞으로 함수를 배우기 전까지 모든 코드는 main 함수 안에 작성합니다.
  • 모든 문장의 끝에는 ; 를 써주세요.
  • printf 함수는 콘솔에 내용을 출력해주는 역할을 합니다.
  • 그런데 위 코드를 실행해보면 에러가 납니다.
    • printf 함수가 내용을 출력해준다는 것을 컴퓨터가 모르니까요!

#include <stdio.h>

int main() {
  printf("Hello world!");
  return 0;
}
  • 사실 printf가 어떻게 내용을 출력해주는지는 똑똑한 아저씨들이 stdio.h에 미리 써놓았어요. 우리는 #include <stdio.h>라는 코드를 써서 저 파일을 컴퓨터가 읽어볼 수 있도록 알려주기만 하면 됩니다.
    • 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. 후기


  • 오리엔테이션을 제외하고 첫 모임이었습니다.
    1. C 고수는 절대 아니지만… 나름 새싹교실 4년차라 이제 오래 준비하지 않아도 뭘 가르칠지는 머리 속에 다 들어있다고 생각했는데 첫 시간 진행해보니 그렇지 않네요ㅜㅜ 관련 내용은 알고 있어도 처음 C를 접하는 새내기들에게 어떻게 설명해야 좋을지 생각해봐야겠어요. 이전까지는 사실 교수님 수업이 새싹 진도보다 조금씩 앞서나가서 수업을 보충하는 식으로 진행했던 것 같은데 이번 해엔 그렇지 않다는 것을 미리 고려하지 못했습니다ㅠㅠ
    2. 매년 아는 게 조금씩 늘어나서 해주고픈 말도 너무 많아요. 그런데 제 머리속에선 흐름이 잡혀있는 이야기들이지만 막상 프로그래밍을 처음 접하는 새내기들이 듣기엔 이 소리했다가 저 소리했다가 왔다갔다 하는 것으로 느껴질 것 같습니다. 다음 시간부터는 흐름을 잃지 않도록 간단히 키워드 목록이라도 준비해올게요~
    3. 생각해봤는데 제가 말이 너무 빠르고 혼자 말을 많이 해서 새내기들이 듣고 생각을 정리할 시간이 별로 없지 않았나 싶습니다. 조금 더 천천히 말하고 함께 이야기해보고, 직접 실습하며 스스로 내용을 정리하고 느낄 수 있는 시간이 될 수 있게 노력하겠습니다. - 김수경
  • 1주차에는 수업시간에 했던 간단한 Hello World랑 간단한 연산과 assert함수에대해서 배우고 응용해 보았다. 수업시간에했던 C공부에 생겼던 의문들을 자세하게 다 알 수 있어서 좋았다. C가 한참막막해보였는데 새싹교실 첫시간에 희망이생겼다. 다음시간에도 많이 배우고 갔으면 좋겠다. - 김연석

  • C언어를 처음으로 공부했어요 ㅎㅎ 고급언어 저급언어?? 에 대해서 배웠고 다른 언어들에대해서도 간단히 들었다. 그리고 변수와 자료형에대해서도 배웠어요. 너무 신기했어요 처음으로 C를 공부해봐서 ㅠㅠ.,... 자랑은아니지만.. 앞으로 배울거 생각하면 너무기대되요 ㅎㅎ 제가 복습을 잘 안해서 ㅠㅠ 걱정이 되지만 앞으로 최선을다해!! 복습 해올께요 - 이승열

3. 3월 24일

3.1. 공부한 것

  • 위키 사용하기
  • 후기 쓰기
  • 지난시간 복습
  • 전처리기
    • #include < >
    • #include " "
    • 전처리기가 작동하는 방식
  • myheader.h

}
  • myprog.c

int main {
return 0;
#include "myheader.h"

3.2. 후기

  • 사실, 느낌, 배운 점, 앞으로의 계획을 넣어 작성해주세요.
  • 두번째로 c프로그래밍을 배웠습니다! 피드백을 좀 늦게쓰게됬습니다. 저번시간에는 전처리기에 대해서 배웠습니다 컴파일 전에 읽어주기 때문에 전처리기라고 합니다. 우리가 써본건 #include 와 #define 입니다 그리고 변수이름으로 사용할 수 있는것들을 배웠습니다. 학교 수업이 너무 어려워서.. 열심히 하려고합니다!!.. -이승열-

  • 아이스브레이크를 너무 오래한것같아서 조금 아쉬웠어요ㅠㅠ. 복습하고 수업하고 그러는거 정말 괜찮았는데 1시간밖에안해서 아쉬웠어요ㅠㅠ. 정말 교수님한테 듣는 수업에 비해서 엄청 쉬우셔서 쉽고 재밌게 배우고 있어요 ㅎ_ㅎ. int하고 char, 정수,변수 그거를 제가 다 까먹어서 다시 한번 집에서 한번 해봐야댈것같아요 ㅠㅠ. 앞으로도 이렇게만 배웠으면 좋겠어욬ㅋㅋㅋ. 누나감자칩먹고싶어요 크크. -김연석-

  • 아이스브레이킹을 제가 참여하며 진행하다보니 시간 제한을 못 해서 너무 많은 시간을 썼습니다. 다음부터는 시간을 많이 쓰지 않는 아이스 브레이킹을 해야겠어요. 5피에서 진행했는데 컴퓨터가 너무 안 좋아 문제네요. 다음번엔 다른 곳에서 진행하겠습니다. - 김수경

4. 3월 30일

4.1. 공부한 것

  • 연산자
    • 산술 연산자
      • 다항 연산자
      • 단항 연산자
    • 논리 연산자
    • 비트 연산자
    • 조건 연산자

4.2. 후기

  • 저번주에 한시간 빠져서 저는 오늘 두번째 새싹교실 수업이었어요. 오늘은 연산자에 대해서 배웠는데 한번 배워서는 다 외우기는 힘들꺼 같았어요. 벌써 다외울 필요는 없고 계속 쓰다보면 외워질거라는 말씀에 그래도 맘이 놓였어요. 그리고 오늘 새로운 애가 한명 들어왔는데 걔는 분위기를 망치는거 같아요. - 한광운 -

  • 새싹교실을 처음들었는데 대학생활 한달만에 제대로 된 수업을 들은 느낌입니다. 오늘 많은 것을 배운 것 같습니다. 2시간동안 수업들었는데 딱히 수업이 긴거 같진 않았고요 재밌었어요 printf랑 assert 도 처음 배웠고 C언어 시간에 하나도 알아듣지 못한 것을 여기서 많이 배우고 가네요 앞으로 복습도하고 예습?은 쫌힘들어도 복습은 철저히 해서 C언어를 잘하고싶어요~~~~~~-오상준-

  • 세번째 c프로그래밍수업 새싹교실을 했습니다. 연산자에 대해서 배웠습니다. 연산자는 사칙연산이랑 나머지를 구하는거등이 있었고, assert를 이용해서 확인해보면서 & 나 | 등 배우고 printf에 대해서도 배웠어요 내일은 수업이 없다고 하니 오늘 한것을 복습을 열심히 하겠습니다~! 점점 잘할수 있을거같다는 마음이 드네요 . -이승열-

5. 3월 31일

김수경이 Xper 3월 정모를 가게 되어 휴강.
  • 휴강은 아닌듯? 전날로 땡겨서 한가잖아 ㅋㅋ - 서지혜
    • 이땐 원래 일주일에 이틀 하기로 했었거든 ㅋㅋㅋㅋ - 김수경

Retrieved from http://wiki.zeropage.org/wiki.php/새싹교실/2011/Pixar/3월
last modified 2021-02-07 05:29:42