035.001
컴퓨터의 개념 및 실습
2014-1학기

- Python 및 C 언어를 이용한 컴퓨터 프로그래밍 기본 개념 습득
- 컴퓨터 하드웨어 / 소프트웨어 동작 원리 기본 이해

담당교수
민상렬 교수 (컴퓨터공학부)
301동 501호, 880-7047, symin@archi.snu.ac.kr
http://archi.snu.ac.kr/symin
조교
나안수, 301동 517호, 880-7296, asna@archi.snu.ac.kr
김병준, 301동 517호, 880-7296, bjkim@archi.snu.ac.kr
수업
월요일, 수요일 6,7교시 (14:00-15:50)
교재
Allen Downey, Jeffrey Elkner and Chris Meyers
「How to Think Like a Computer Scientist: Learning with Python」, Green Tea Press
April 2002, First edition, ISBN 0-9716775-0-6

공지사항
  • 2014-06-26: 공지
  • 점수 공지
     - 지금까지의 모든 과제 및 시험을 합산한 점수입니다.
        점수

  • 2014-06-11: 공지
  • 출석 관련 공지
     - 출결 사항은 다음과 같습니다.
       출석부

     - 결석 횟수가 2회를 초과한 경우 1회당 교재(How to think like a computer scientist) 8page를 수기로 작성해 제출하시면 됩니다.
        ~ 6월 23일 오전 9시까지, 301동 517에 제출

    성적 증명서 관련 공지
     - 컴퓨터 공학부 신입생이 아닌 학생의 경우 6월 16일 기말고사 시간에 자신의 성적증명서를 뽑아서 제출해주시기 바랍니다.
  • 2014-06-09: 공지
  • 강의 슬라이드
     - HW Part 3 Datapath 슬라이드를 올바로 수정하여 올립니다.
       Datapath

  • 2014-05-31: 공지
  • 프로젝트 추가 공지
     - 프로젝트가 쉽지 않으니 빨리 시작하시길 권하며, 여러 형태의 질문 모두 환영합니다.
     - 지금까지 받은 질문을 정리해서 올립니다.
       프로젝트#2 질문

     - Test Case와 그 결과를 올립니다. (README.txt파일을 꼭 읽어주시기 바랍니다.)
       프로젝트#2 TEST SET

     ** 모든 Test Case를 통과하지 못해도 괜찮으니 차근 차근 진행하시기 바랍니다.
  • 2014-05-28: 공지
  • 프로젝트 공지
     - 제출 기한 : 6월 11일 자정 전 (23:59)
     - 제출 방법 : asna@archi.snu.ac.kr으로 [컴개실과제]학번_이름 을 제목으로 하여 제출
       프로젝트#2 설명

  • 2014-05-26: 공지
  • 기말 고사 공지
     - 일시 : 6월 16일 (월), 수업 시간
     - 범위 : C Language for Python programmers, C언어 및 HW 관련 수업 슬라이드
     - 형식 : C언어 - 중간고사와 같은 형식
                  HW - 응용문제도 출제
     ** HW영역의 경우 배경지식이 있는 고학번에게 유리하므로 신입생과 고학번에게 따로 성적이 주어집니다.

    수업 슬라이드 파일
       Logic Circuits I
       Logic Circuits II
       Datapath
       Control Unit

  • 2014-05-21: 공지
  • 중간고사 성적 공지
        중간고사 성적
     - 클래임 시간 : 23일(금) 9:30~11:30

    과제 공지
     - 다음 시간까지 다음 항목들에 대해 공부해 오시기 바랍니다.
     - 임의의 학생에게 질문이 주어지며, 답변하지 못할 경우 모든 학생들의 성적이 한 단계 낮게 주어집니다. ( A+ -> A0, A0 -> A- ... )
        ~ C Lanaugee Part 3의 2가지 Search 알고리즘 (Linear Search, Binary Search)과 2가지 Sorting 알고리즘 ( Bubble Sort, Insertion Sort )
        ~ C Language Part 4의 Encryption Function 코드
        ~ C Language Part 4의 마지막 페이지, File I/O 코드

  • 2014-05-19: 공지
  • 시험 관련 공지
     - 기말고사 범위는 C언어와 하드웨어 관련 내용입니다.
     - 시험 일자와 방식은 차후에 공지하도록 하겠습니다.

    세미나 관련 공지
     - 다음 세미나에 참석하는 것을 추천합니다.

        제목 : 특허와 수익창출
        연사 : 심영택 교수 (서울대학교 법학전문대학원)
        일시 : 5월 21일 (수) 16:00~18:00
        장소 : 301동 118호

    수업 슬라이드
     - 앞으로 사용할 수업 슬라이드 파일입니다.
       C Language Part 5
  • 2014-05-19: 공지
  • 수업 슬라이드
     - 앞으로 사용할 수업 슬라이드 파일입니다.
       C Language Part 4
  • 2014-05-01: 공지
  • 수업 슬라이드
     - 앞으로 사용할 수업 슬라이드 파일입니다.
       C Language Part 2
       C Language Part 3

  • 2014-04-30: 공지
  • 중간고사 # 1 관련 공지
     - 시험 점수 분포는 공개하지 않습니다.
     - 클래임이 있을 경우 5월 2일 금요일 10:00~11:00, 14:00~16:00에 517호로 찾아오시기 바랍니다.
     - 시험지를 가져가지 않은 학생들은 email로 연락하시고 517호로 오셔서 찾아가기 바랍니다.
  • 2014-04-28: 공지
  • 수업 슬라이드
     - 다음 수업에 사용할 슬라이드 파일입니다.
       C Language Part 1

    수업 자료 출력
     - C Language for Python Programmers 출력 본을 가져오지 않을 시 지각처리 될 수 있습니다.
  • 2014-04-23: 공지
  • 프로젝트 #1
     - Python language programming 프로젝트가 출제되었습니다.

     - 제출 기한 : 5월 7일 수요일 자정 전(23:59)까지
        * 1일 delay 당 5점씩 감점
        * 제출 기한 일주일 후까지 제출 가능 (5월 15일 23:59 까지)

     - 제출 방법 : 메일로 첨부파일과 함께 제출
        * 메일 주소 : bjkim@archi.snu.ac.kr
        * 메일 제목 : [컴개실과제]학번_이름

     - 프로젝트 설명 슬라이드
        프로젝트 #1

    중간고사 #2
     - 중간고사와 같은 문제 형식으로 중간고사 #2가 치뤄집니다.
     - 중간고사의 등수와 중간고사 #2의 등수 중 높은 등수로 성적이 주어집니다.
     - 날짜 : 5월 14일 수요일
     - 범위 : Python Tutorial 문서 ( 2.7.6 ver )
        Python Tutorial

    수업 자료
     - 오늘 수업에 사용한 C language 수업 자료입니다.
        C langauge for Python Programmers
  • 2014-04-16: 공지
  • 수업 슬라이드
     - 오늘 수업에 사용한 슬라이드 파일입니다.
       Python IDLE 설치
       Python : Files
  • 2014-04-14: 공지
  • 수업 슬라이드
     - 오늘 수업에 사용할 슬라이드 파일입니다.
       Python tutorial 2014
  • 2014-04-09: 공지
  • 참고자료
     - MIT OpenCourseWare에서 제공하는 컴퓨터공학 및 프로그래밍 입문 강의의 Video Lecture URL입니다.
       Introduction to Computer Science and Programming (Fall 2008)
       Introduction to Computer Science and Programming (Spring 2011)
  • 2014-04-07: 공지
  • 중간고사
     - 일시 : 4월 21일(월), 수업시간
     - 범위 : 교재 Chapter 14까지 (교재 내용 빈칸 채우기 식으로 출제 됩니다.)

    과제
     - 다음 수업 시간까지 Chapter 13의 내용을 숙지 하시고, Chapter 14의 내용을 읽어오시기 바랍니다.
  • 2014-04-02: 공지
  • 과제
     - 다음 수업 시간까지 Chapter 12의 내용을 읽어 오시기 바랍니다.
  • 2014-03-31: 공지
  • 과제
     - 다음 수업 시간까지 Chapter 8의 내용을 숙지해 오시기 바랍니다. (Chater 9도 읽기를 추천합니다.)
     - Python에서 String은 immutable하게 구현하고, List는 mutable하게 구현한 이유에 대해 조사해 오시기 바랍니다.
  • 2014-03-26: 공지
  • 1) 과제
     - 다음 수업 시간까지 Chapter 6의 내용을 숙지해 오시기 바랍니다.
       수업 시간에 임의로 한 명을 지목하여 실습을 수행할 예정입니다.

    2) 강의 슬라이드
     - 오늘 수업 시간에 작성한 Fibonacci 함수 코드입니다.
         Fibonacci
  • 2014-03-24: 공지
  • 1) 과제
     - 다음 수업 시간까지 Chapter 5의 내용을 숙지해 오시기 바랍니다.

    2) 강의 슬라이드
     - 오늘 수업 시간에 사용한 슬라이드입니다. (아래 실습환경에 있는 파일과 같은 파일입니다.)
        실습환경소개
  • 2014-03-17: 공지
  • 1) 과제
     - 다음 수업 시간(3/19)에 열 손가락으로 이진수를 표현하는 것을 임의로 지목하여 수행할 예정이니 연습해오시기 바랍니다.
       (64보다 작은 임의의 숫자부터 시작하여 증가하는 방식)
     - 다음 수업 시간까지 Chapter 4의 내용을 숙지해 오시기 바랍니다.

    2) 세미나 안내
     - 다음 수업은 세미나로 이루어집니다.

        제목 : "Mobile Sensing System"

        연사 : 차호정 교수님 (연세대학교 컴퓨터과학과)

        일시 : 3/19(수) 2:15 PM ~ 3:30 PM
        장소 : 302동 208호 (본 수업 강의실)

    3) 강의 슬라이드
     - 오늘 수업 시간에 사용한 강의 슬라이드를 올립니다. 강의 슬라이드
  • 2014-03-13: 출결 관련 공지
  • 1) 출석 확인
     - 수업은 2시 15분에 시작합니다.
     - 출석점검표를 돌리면 해당 칸에 자신의 이름을 적으면 됩니다.
     - 교수님께서 출석 점검표를 돌리는 신호를 줄 때에 자리에 없는 경우 지각으로 처리됩니다. (이 경우 이름 옆에 지각이라고 적으시면 됩니다.)
     - 출석 인원은 조교가 카운팅을 하며, 실제 출석인원과 출석 점검표의 출석 인원이 2명 이상 차이가 나는 경우 수강생 전체에게 페널티가 주어집니다.

    2) 결석 및 지각 페널티
     - 결석 2회까지는 아무런 페널티가 없습니다. (결석을 해야 하는 피치 못할 상황에만 사용하시고 가급적 결석을 하지 않기를 권합니다.)
     - 지각은 1/3회의 결석으로 처리됩니다.
     - 결석이 2회를 넘어갈 경우에 대한 페널티는 차후 공지하도록 하겠습니다.
  • 2014-03-10: 공지
  • 1) 성적
     - 성적은 각 그룹별로 나누어 상황에 맞게 주어집니다. (컴퓨터 공학부 신입생, 자유전공학부, 컴퓨터공학부 고학번 등)
     - 컴퓨터 공학부 고학번 학생은 성적표를 추후 제출해 주시기 바랍니다.
     - 성적 산출 비중은 다음과 같습니다. (과제 30%, 중간 30%, 기말 40%)
     - 시험 문제는 교재 중심으로 출제됩니다. ( 빈칸 채우기 등 )

    2) 과제
     - 3월 12일 수업 전까지 교재 Chapter 3을 읽어 오시기 바랍니다.

    3) 교재

     - 다음 시간에도 교재를 판매합니다.
     - 교재비는 10000원 입니다.
  • 2014-03-05: 공지
  • 1) 과제 : 3월 10일 수업 전까지 다음 과제를 수행하시기 바랍니다.
     - 교재 Chapter 2 읽기

    2) 수업시간 공지
     - 수업은 2시 15분에 시작합니다. (충분히 시간이 늦추어 졌으니, 버스와 도보를 최대한 활용하여 시간에 맞춰 오시길 당부드립니다.)

    3) 수업 교재 관련 공지
     - 수업 교재는 3월 10일 수업시간에 배부할 예정입니다. 그 전에는 웹페이지에 있는 PDF 파일을 참고하시기 바랍니다.

    4) Open courseware
     - 관련 URL을 Reference에 공지하였으니 확인하시기 바랍니다.
  • 2014-03-03: 과제 안내
  • 3월 5일 수업 전까지 다음 과제를 수행하시기 바랍니다.
    - TED 영상을 보고 가장 감명 깊은 것을 선정하고 이유 정리 ( 수업시간에 임의의 학생에게 질문할 예정 )
    - 교재 Chapter 1 읽기
  • 2014-02-24: 수업 개강 안내
  • 2014년 1학기 컴퓨터의 개념 및 실습(035.001) 수업 개강
    - 날짜: 2014년 3월 3일(월)
    - 장소: 302동 208호
    강의교재
  • 「How to Think Like a Computer Scientist: Learning with Python」
  • - PDF Version
    - HTML Version

    - HTML Openbook Project
  • 「C language for Python Programmers」
  • - HTML Version
    수업자료
  • 실습환경
  • - PythonTutor.com
    - REPL.it

    - Tutorials
    실습환경소개
    Reference
  • The Python Language Reference
  • Doc.Python.org
  • Python Official Website
  • Python.org
  • Nobel Foundation
  • NobelPrize.org
  • TED
  • TED.com
  • MIT Technology Review
  • TechnologyReview.com
  • MIT Open Courseware
  • Ocw.mit.edu
  • Sookmyung Network for Open World
  • Snow.or.kr
  • Korea Open CourseWare
  • Kocw.net