2019 C프로그래밍

IVIS wiki

Top

강의 개요

  • 수강생 여러분은 이 교과목을 통해서 다음과 같은 내용을 익히게 됩니다
  • 오랜 역사와 수많은 사용자를 가진 C 프로그래밍 언어를 배우게 됩니다.
  • C 프로그래밍을 통해 문제해결을 할 수 있는 능력을 익힌다
  • 기초적인 자료형의 이해와 프로그래밍의 원리를 익히도록 한다.

강의 진행

  • 강사의 강의와 토론 그리고 프로그래밍 실습을 통하여 프로그래밍 기법을 익힌다
    • 주당 3시간의 강의이며 이론 강의와 프로그래밍 실습을 병행한다.
  • 강의실 : 51호관 310호실
    • 강의시간 : 매주 월요일 오후 12:00-14:45

강사

  • 정보통신공학과 교수 박동규
  • 이메일 : dongupak at gmail.com
    • 수시상담 환영

강의조교(TA)

  • 여러분의 강의를 도와줄 조교입니다
  • 박연진, 윤소정 조교님
    • 강의와 실습중 궁금한 점을 해결해 주실겁니다.
    • 실습중 문제가 있으면 손을 들어서 알려주십시오.

강의 교재

  • 쉽게 풀어쓴 C 언어 Express
    • 저자: 천인국(생능출판)
    • 정가 30,000원

2019 C textbook.jpg

  • 배우게 될 내용
    • 수강생 여러분은 이 교과목을 통해서 다음과 같은 내용을 익히게 됩니다.
      • C 프로그래밍 프로그래밍을 통하여 다양한 문제를 접하면서 자연스럽게 프로그래밍 기법을 익힌다.
      • C 언어를 통한 기초적인 자료형의 이해와 프로그래밍의 원리를 익히도록 한다.
      • C 프로그래밍 언어를 이용하여 다양한 문제해결 능력을 익힌다.

과제관련

  • 과제 제출 기간은 제출일로부터 일주일
  • 각 문제 마다 아래 채점 기준을 만족 못할 시 한 문제당 1점씩 감점

  • 과제 표지
    • 매 표지 마다 과제 번호를 기입한다. ex) #1, #2, ...
    • 스탠플러는 왼쪽 상단에 찍는다.
  • 이론 문제
    • 문제와 답을 적는다.
      • 문제를 적지 않을 시 감점
      • 타이핑 가능
      • 스캔 불허
  • 실습 문제
    • 문제와 소스코드을 적는다.
      • 문제를 적지 않을 시 감점
      • 타이핑 가능
      • 스캔 불허
    • 실행 결과를 캡쳐하여 삽입한다.
      • 배경은 흰색으로 한다.
    • 코드에는 주석을 달도록한다.
      • 주석 달지 않을 시 감점
    • 각 실습문제마다 느낀점이나 어려웠던 점을 2문장 이상 적어서 제출한다.
      • 느낀점을 적지 않을시 감점
      • 풀지 못한 문제나 어려운 문제도 반드시 느낀점을 적도록 한다.
  • 과제 샘플

2017 VP Reportform1.png 2017 VP Reportform2.png

맥 활용

1주차 강의(9월 2일 월요일)

  • 개학 인사
  • 한학기 강의에서 다루게될 내용, 교재등에 대한 소개
  • 프로그래밍을 알아야 하는 이유
    • 컴퓨터 프로그래밍의 간단한 역사등
    • 강의에 대한 소개
  • Xcode 다루기
  • Xcode 를 이용하여 다음 프로그램을 직접 짜보도록 합니다.
    • 짜볼 프로그램
      • 널널한 교수의 기초 C 언어 03_1, 04_1, 04_2, 04_3, 05_1, 05_2, 06_1에 있는 LAB 코드를 입력하고 실행하시오.
      • 모든 입력 코드는 03_1_1, 03_1_2 와 같은 프로젝트 명으로 만든 프로젝트에서 만들고 조교에게 검사를 받도록 하시오.

강의자료

널널한 교수의 기초 C 프로그래밍 강좌안내

과제 #1

  • 제목 : 널널한 교수의 C언어 기초 강의 01_1에서 04_1장 수강평 남기기
  • youtube 널널한 교수의 기초 C강의 01_1에서 04_2장까지 6개 시청 후 감상문 제출
    • 제출일 : 9월 9일 월요일 강의시작 전에 제출
    • youtube 동영상 각각에 대하여 동영상을 시청한다
    • 시청 후 수강평을 남기고 5개의 동영상에 대한 수강평을 캡쳐하여 1페이지에 모아서 제출할 것
    • 수강평에는 다음과 같은 내용이 남도록 수강평을 적어주세요(본인의 이름이 반드시 들어갈 것)
수강 : 홍길동
수강평 : 0000000 에 대해 자세히 알게되었으며, 000에 대해서 0000라고 생각합니다.
  • 제출시에는 6개의 동영상의 핵심 내용을 2개 이상의 문장으로 정리하여 제출하시오.

2주차 강의(9월 9일)

강의자료 2장

과제 #2

  • 제목 : 교재 2장 Exercise, Programming
    • P 87 - 89 쪽의 문제 풀이와 프로그래밍
    • 소스코드와 실행결과 해결과정의 느낀점을 제출하세요.
  • 각자 개인 PC에서 Xcode나 Visual Studio등의 개발도구를 사용하세요.

3주차 강의(9월 16일)

  • 프로그래밍 기초
    • 자료형과 변수선언
    • 기본 자료형과 상수 표현방법
    • C프로그래밍 언어의 구성
    • 함수와 함수 호출

참고

강의자료 3장

과제 #3

  • 제목 : 교재 3장 연습문제 풀이
    • 문제 : 교재 3장 Programming 문제 1-6번 풀이
  • 제출일자 : 2019년 9월 23일(월)
  • 화면의 바탕색상은 흰색, 글씨는 검정색으로 하여라
  • 과제를 하면서 느낀점과 어려웠던 점을 2문장 이상 적어서 제출할 것
  • 모든 문제에 대하여 주석문을 2개 이상 달아야 합니다.

4주차 강의(9월 23일)

  • C 전처리와 입력 출력
    • 예제 circle_area.c과 같은 경우 "code04_circle_area" 이름의 프로젝트로 만드세요
    • 실습문제 4-1과 같은 경우 "lab4-1"
    • 퀴즈 4-5와 같은 경우 "quiz4-5"
    • 과제 "연습문제"의 경우 "exam4-1"와 같이 일관성있게 작명하도록 한다

맥 에디터 단축 키

강의자료 4장

과제 #4

수강 : 홍길동
수강평 : 0000000 에 대해 자세히 알게되었으며, 000에 대해서 0000라고 생각합니다.
궁금한점 : 0000000에 관한 부분이 잘 이해가 안됩니다. 0000000는 0000이 아닌가요? “등
형식으로 질문을 해 주시면 됩니다.

5주차 강의(9월 30일)

  • 수식과 연산자의 개념을 이해한다
    • 대입, 산술, 증감, 관계, 논리 연산자를 사용할 수 있다
    • 연산자의 우선순위와 결합관계를 이해한다.

강의자료(5장)

퀴즈

  • 강의중에는 프로그래밍 퀴즈가 있습니다.(3시간소요)

6주차 강의(10월 7일)

  • 5장 연산자
    • C의 연산자에 대해 알아봅니다
    • 연산자, 피연산자, 연산식
    • 다항연산자, 이항연산자, 삼항연산자등
  • 6장 조건문
    • if문, if-else 를 사용한 제어문
    • 다양한 문제 풀이

강의자료(5장)

과제 #5

  • 제목 : 교재 6장 조건문 연습문제 풀이
    • 내용 : 6장 프로그래밍 1-5번, 8번 문제풀이
    • 연습문제 6장의 1번 코드의 경우 ex6-1, 2번 코드의 경우 ex6-2, .. 와 같이 프로젝트명을 정합니다
    • 프로그램 작성후 소스코드와 그 결과를 캡쳐하여 제출합니다.
    • 모든 연습문제에 대하여 느낀점과 어려웠던 점을 2문장 이상 적어서 제출할 것
  • 제출일 : 10월 14일 월요일

7주차 강의(10월 14일)

  • 7장 반복문

강의자료 (7장)

과제 #6

  • 제목 : 교재 7장 연습문제 풀이
    • 내용 : 7장 프로그래밍 연습문제 1에서부터 12번까지 프로그램 문제풀이
    • 프로그램 작성 후 소스코드와 그 결과를 캡쳐하여 제출합니다.
    • 모든 연습문제 각각에 대하여 느낀점과 어려웠던 점을 2문장 이상 적어서 제출할 것
    • 제출일 : 10월 21일 월요일

8주차 강의(10월 21일) - 중간시험

  • 시험 범위
    • 교재의 1장 - 7장까지 입니다
    • 주관식 문제와 객관식 문제의 혼용
    • C언어 문법과 코딩 문제입니다
    • 교재의 Exercise와 Programming을 참고하시기 바랍니다. 이와 유사한 유형의 문제를 내겠습니다.
    • 시험시간 : 10월 21일 12:30 - 14:30(2시간)

9주차 강의(10월 28일)

  • 8장 함수, 9장 함수와 변수
  • 함수 활용
    • 함수를 활용하여 다양한 문제를 해결해 본다
    • 함수와 매개변수
    • 재귀함수
    • 문자함수, 다양한 수학함수들

과제 #7

  • 제목 : 8장, 9장 연습문제 풀이
    • 8장 프로그래밍 연습문제 2,3,4,5,6,7 풀이
      • 문제와 자신이 생각한 답을 적도록 한다
      • 프로그래밍 문제는 프로그램과 코드를 제출하고 느낀점과 어려웠던 점을 손으로 적도록 한다

10주차 강의(11월 4일) : 10장 배열

  • 이번 강의에서는 지난주 배운 포인터의 연습문제 풀이
  • 9장 배열에 대해 살펴보겠습니다.

과제 #9

  • 9장 연습문제 풀이
    • 443쪽 9장 프로그래밍 연습 1,2,3,4번 풀이

과제 #10

  • 제목 : 널널한 교수의 C언어 기초 강의 11_1, 11_2장 동영상 강의 듣고 수강평 남기기
수강 : 홍길동
수강평 : 0000000 에 대해 자세히 알게되었으며, 000에 대해서 0000라고 생각합니다.
궁금한점 : 0000000에 관한 부분이 잘 이해가 안됩니다. 0000000는 0000이 아닌가요? “등
형식으로 질문을 해 주시면 됩니다.

11주차 강의(11월 11일)

과제 #11

  • 제목 : 교재 11장 연습문제 풀이
    • 프로그램 코드와 실행결과, 느낀점 어려웠던 점을 적어서 제출하세요

12주차 강의(11월 18일)

  • 12장 문자와 문자열

13주차 강의(11월 25일)

  • 13장 구조체

참고 동영상


14주차 강의(12월 2일)

  • 14장 포인터 활용
    • 포인터 활용과 동적 메모리 관리

발표자료 : 마지막 강의

15주차 강의(12월 9일)

  • 보충강의
    • 수업에서 다 다루지 못한 부분을 다루어 봅시다

16주차(12월 16일) : 기말시험주

  • 12월 16일 월요일 13:00 - 15:00, 328강의실
    • 시험범위 : 교재 전체
    • 주관식과 객관식 혼용
    • 중긴시험 문제의 패턴과 유사하게 출제될 예정입니다