Lectures/CN/2019

From MCLab
Revision as of 11:34, 15 October 2019 by Jphong (Talk | contribs)

Jump to: navigation, search

Contents

컴퓨터네트워크및실습 Class Overview

인터넷을 중심으로 컴퓨터를 네트워킹하고 유용한 정보통신서비스를 제공하여 주는 기본 구조와 인터네트워킹 기술, 프로토콜을 학습하고 내재한 기본 원리를 시스템 관점에서 분석함으로써 네트워크의 실체와 응용 능력을 배양함과 아울러 공학적 측면에서 설계할 수 있는 이론과 분석 능력을 키운다.

화 1 2 목 1 2 (5213)
실습은 과실습실(5301호)에서 하는 경우도 있음
Textbook
Jame F. Kurose, Keith W. Ross, Computer Networking - A Top-Down Approach Featuring the Internet, 7th Ed., Addison Wesley Longman, 2017.
번역판: 최종원, 강현국, 신용태 옮김, 컴퓨터네트워킹 - 하향식 접근, 7판, Pearson Education Korea, 2017.
보조 web site: http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html
References
Ying-Dar Lin, Ren-Hung Hwang, and Fred Baker, Computer Networks - An Open Source Approach, McGraw-Hill, 2012.
Evaluation
시험 3회 예정(75%), 실습 보고서/Homeworks/Assignments(25%)
결석 -0.2%p/회, 지각 -0.1%p/회
과제물의 제출
PDF로 변환하여 수업전날 자정(24:00)까지 E-class에 제출한다. 단, 조를 구성해서 수행하는 경우 대표 한 사람만 제출한다.
조교
류형오, phone: 010-2883-3130, dnflqkszjvmf@naver.com

준비사항

Notebook

실습시간에 개인용 Notebook을 지참한다.

Python Programming

각자 Python language를 습득하여 assignments 수행할 수 있도록 준비한다.

공지사항

과제물의 제출 요령과 기한

Lab Reports
매 실습시간 마다 실습한 결과를 당일 자정까지 제출한다. (당일 자정까지 지연 제출하면 10% 감점)
Homeworks
복습 - 연습문제 풀기 등
Programming Assignments
지정된 마감일 자정까지 제출한다. (지연제출 가능. 지연 제출시 1일 10% 감점)
복제 금지
토론은 가능하지만, 다른 학생의 결과물을 복제하거나, 복제 후 일부 편집하는 일은 이유 여하를 막론하고 용인되지 않는다. 학생들은 제출한 과제물에 대해 조교가 질문하면 답변에 응해야 하고, 충분히 설명할 수 있어야 한다.
과제물 제출처
e-class의 과제란에 제출하되 결과물은 첨부파일로 upload한다.
첨부파일명은 <과제물 번호>-<학번> 으로 하고 확장자는 '.pdf' 또는 '.zip' (파일이 여러개일 때)
예) AS-1-201402222.pdf

Quiz Python Programming (9/17)

시험-1 1장 (9/24)

강의노트

실습

Lab-1 수강에 필요한 Software 설치 (9/4)

과제를 수행할 때 사용할 PC(노트북, 집/기숙사 PC, 또는 학과 실험실 PC)에 아래 소프트웨어를 설치한다.

  1. Google Chrome browser 설치 - https://www.google.com/chrome/browser/desktop/index.html
  2. WireShark 설치 - http://www.wireshark.org/download.html
    • 주의: Winpcap도 반드시 설치해야 함. (설치 중에 box를 check할 것)
  3. Python 3 설치 (Anaconda도 무방하다. 단, Python 3 기반일 것)
    • python 3 interpreter가 install 되어 있는지, 어떤 version이 설치되어 있는지 먼저 확인하자. Version이 3.5 이상이면 새로 설치할 필요없다. 이하라면, uninstall 한다. ( 제어판 >> 프로그램 제거 >> Python x.y.z 선택하여 지운다.) 명령창에서
      python --version
    • Python Download page로 가서 자신의 PC와 맞는 Windows x86[-64] MSI Installer를 download하여 설치한다. (idle이라는 기본 Python IDE도 함께 설치된다.)
      Add Python 3.x to PATH를 마킹해서 명령창에서 python interpreter를 불러쓸 수 있게 하자.
      다른 사람과 같이 사용하는 PC(실험실 PC등)라면, 자기 계정에서만 쓸 수 있게 Install laucher for all users (recommended) 마킹을 끄자.
    • 설치 확인하기 위해 명령창에서
      python
      >> quit()
  4. PyCharm IDE 설치
Report
설치 완료했음을 보이는 screen shot을 떠서 하나의 실습 report 파일(PDF 포맷)에 포함시켜 e-class에 제출하라.

Lab-2 Wireshark Lab: Getting started

Wireshark Introduction 읽으면서 Wireshark을 download 받아 설치하고 다음을 수행하라. (하나의 pdf 파일로 제출)

  • Taking Wireshark for a Test Run에 기술된 step에 따라 이용해보고 step 9의 결과 화면을 캡쳐하라.
  • What to hand in에 있는 질문에 대해 답하라.

참고

  • WireShark download [1]:
  • WireShark 사용법 [2]


Homeworks

HW-1 Python Exercises (9/9)

w3cresource Python Exercises에 list된 것 중 다음 연습문제에 대하여 먼저 Python Tutorial의 해당 page를 공부한 후, 연습문제를 풀라.

  1. Python Data Types - String
  2. Python Data Types - List
  3. Python Data Types - Tuple
  4. Python Data Types - Dictionary
  5. Python Data Types - Sets
  6. Python Conditional statements and loops

여러분의 부담을 줄이기 위해 문제 중에서 1/5만 풀면 된다. 문제 번호를 n이라 할 때, 아래 expression이 True가 되는 문제만 풀면된다. (%는 정수 나누기에서 나머지를 뜻함)

n % 5 == 학번 % 5
참고
Go to editor를 클릭해서 코드를 입력하세요. 다만, 이 사이트는 Python 3 인터프리터를 사용하니 유의바람. Solution도 볼 수 있지만 스스로 풀어보고 solution과 대조해 보세요. 스스로 프로그램을 짜고나서 남이 짠 프로그램을 읽어 보면 프로그래밍 실력이 늘어요.
제출요령
주어진 문제마다 coding해서 답이 맞는지 검토하고
문제, 코드, 실행결과를 MS word나 한글을 이용하여 복사하여 붙이고 편집한 다음
한개의 pdf 파일로 변환한여 e-class 과제란에 첨부파일로 제출한다.

HW-2 Python Exercises (9/16)

HW-1과 같은 요령으로 다음 exercises에 답하라.

  1. Python functions
  2. Python Date Time
  3. Python Math
  4. Python File Input Output
  5. Python Class

HW-2 1장 연습문제 풀기 (9/23)

문제 R4, R18, P6, P25, P26, P31에 답하라.

eclass에 pdf 형식으로 제출.

Assignments

AS-1 Parsing HTTP Header Lines (10/14)

HTTP server 구현에 필요한 module인 headers.py를 먼저 작성하자. Python starter code는 이 화면 메뉴에서 다음과 같이 download할 수 있다.

Starter code

E-class에 zip 파일로 묶어 source와 output을 제출하라.

AS-2 HTTP Server (10/30)

GET method만을 지원하는 HTTP server를 작성하라. 자세한 내용과 tip은 아래 참고.

Tips for writing HTTP server
Sample web contents
mclab.hufs.ac.kr web server에 저장된 파일들(/test/*)을 zip으로 압축한 것을 download하라. 압축을 풀어, 여러분이 작성하는 httpserver.py 파일과 같은 위치에 옮겨라.
test.zip