Download presentation
Presentation is loading. Please wait.
1
2018 봄학기 Pusan National University School of CSE
Hello Computer 2018 봄학기 Pusan National University School of CSE
2
학습목표 왜 프로그래밍을 배워야 하는지 이해한다. 컴퓨터 시스템에 대해 이해한다. 운영체제에 대해 이해한다.
파일 시스템 구조를 이해한다. 명령창 사용법을 익힌다. 문제해결프로그래밍 Programming for Problem Solving
3
컴퓨터란 무엇인가? 컴퓨터에 대한 여러 오해 컴퓨터란? 컴퓨터는 계산기다. 컴퓨터는 모든 일을 자동으로 해 준다.
컴퓨터는 똑똑하다. 컴퓨터란? 빠른 속도로 데이터를 처리할 수 있는 기계 데이터(data): 여러 자료 항목(datum의 복수형) 처리(processing): 데이터를 변환하는 것 데이터는 문자, 숫자, 그림, 소리 등 사람이 인지할 수 있는 거의 모든 것을 포함함 문제해결프로그래밍 Programming for Problem Solving
4
왜 컴퓨터를 배워야 하는가? 컴퓨터를 배우기 싫어하는 몇 가지 이유 컴퓨터를 배워야 하는 이유
나는 데이터를 처리할 일이 없어요. 컴퓨터 없이도 여태까지 잘 살아왔어요. 전 복잡한 것 싫어해요. 컴퓨터는 왠지 복잡할 것 같아요. 컴퓨터를 배워야 하는 이유 여러분은 데이터를 처리할 일이 없을지 모르지만 이미 여러분은 데이터를 처리하는 세상에 살고 있음 컴퓨터가 없어도 재미있는 일은 많겠지만, 컴퓨터는 자신의 세상을 더 풍요롭게 해 줌 컴퓨터를 필요한 만큼만 사용한다면 그렇게 복잡할 것이 없음 문제해결프로그래밍 Programming for Problem Solving
5
왜 프로그래밍을 배워야 하는가? 프로그래밍을 배우기 싫어하는 몇 가지 이유 프로그래밍을 배워야 하는 이유
난 자유주의자에요. 계획대로 살지 않아요. 난 공부를 잘 못해요. 프로그램인들 잘 하겠어요? 프로그래밍은 너무 지루하다고 들었어요. 프로그래밍을 배워야 하는 이유 프로그램을 이용하면 지루한 반복 작업에서 여러분을 해방시켜 줄 것임 그 결과로 여러분은 더 자유로워짐 글을 읽고 쓸 수 있다면 프로그램도 비슷하게 할 수 있음 체계적으로 작업을 계획하고 논리적으로 사고하는 방법을 배우게 되므로 지루하지 않음 프로그래밍은 그 무엇보다도 여러분의 연구 경력이나 취업 경력을 쌓는 데 도움이 됨 문제해결프로그래밍 Programming for Problem Solving
6
프로그래밍이란 무엇인가? 프로그래밍이란? 프로그램 컴퓨터 프로그램 프로그램을 작성하는 일
주로 컴퓨터 프로그램을 작성하는 일을 뜻함 프로그램 사건이나 해야 할 일을 미리 적어둔 것 구체적인 예로 TV 프로그램, 공연 프로그램, 정보컴퓨터공학부 프로그램 등을 들 수 있음 컴퓨터 프로그램 컴퓨터가 해야 할 일을 차례대로 적어 놓은 것 컴퓨터에게 주는 작업 지시서라고 할 수 있음 문제해결프로그래밍 Programming for Problem Solving
7
프로그래밍에 필요한 것 여러분이 준비해야 할 것 이 과목에서 제공하는 것 컴퓨터 약간의 영어 타이핑할 수 있는 손가락
약간의 머리(지적 능력) 도전하고자 하는 의욕 연습할 수 있는 시간 이 과목에서 제공하는 것 프로그래밍 환경 구축 방법 프로그램을 이루는 구성요소에 대한 설명 프로그래밍 연습문제 문제해결프로그래밍 Programming for Problem Solving
8
컴퓨터 시스템 컴퓨터 시스템의 구성 요소 컴퓨터 하드웨어란? 컴퓨터 하드웨어 구성 요소
컴퓨터 = 컴퓨터 하드웨어 + 컴퓨터 소프트웨어 보통 ‘컴퓨터’라고 하면 ‘컴퓨터 하드웨어를 뜻함 컴퓨터 하드웨어란? 발로 찰 수 있는 컴퓨터의 일부분 컴퓨터의 물리적 구성요소가 유기적으로 연결된 것 컴퓨터 하드웨어 구성 요소 CPU 메모리(memory) 저장장치(하드디스크, SSD, CD, DVD 등) 입출력장치(모니터, 키보드, 마우스, 프린터 등) 네트워크 장치 문제해결프로그래밍 Programming for Problem Solving
9
소프트웨어 시스템 컴퓨터 소프트웨어란? 소프트웨어 시스템 하드웨어에 저장된 논리적 구성요소
프로그램과 프로그램이 사용하는 데이터를 망라함 소프트웨어 시스템 하드웨어 시스템이 네트워크 구조로 되어 있는 것에 비해 소프트웨어 시스템은 계층적 구조로 되어 있음 BIOS: 기본 입출력 시스템(basic input/output system) OS: 운영체제(operating system) 응용 프로그램(application software) 소프트웨어 서비스(software service) 문제해결프로그래밍 Programming for Problem Solving
10
운영체제 운영체제의 실제 운영체제란 Windows MacOS Android iOS Linux
컴퓨터 하드웨어를 관리하는 프로그램 사용자에게 컴퓨터를 사용할 수 있는 기능을 제공함 cf. 인터페이스(interface), 사용자 인터페이스(user interface) 문제해결프로그래밍 Programming for Problem Solving
11
파일 파일의 실제 파일이란? 파일의 종류 하드디스크 내에 저장되어 있는 모든 것 운영체제에 설치되어 있는 모든 것
컴퓨터 사용자가 운영체제 안에 만든 모든 것 파일이란? 파일(file)은 컴퓨터가 읽을 수 있는 형태로 정보를 저장해 둔 것임 사람도 물론 읽을 수 있지만 어떤 경우에는 파일을 읽기 위해서 다른 컴퓨터 프로그램이 필요한 경우도 있음 파일의 종류 저장된 형태(파일 포맷)에 따른 파일 부류 주로 확장자(extension; 파일 이름의 일부)로 구별함 문제해결프로그래밍 Programming for Problem Solving
12
파일 시스템 특수 파일 파일 중에는 디렉터리(directory; folder[폴더])라는 특수한 파일이 있음 디렉터리는 다른 여러 파일을 포함할 수 있는 파일임 트리 구조 파일 시스템은 트리(tree) 구조로 구성되어 있음 디렉터리 내에 다시 디렉터리가 존재할 수 있으므로 트리 구조를 이루게 됨 기타 특수 파일 단축아이콘(shortcut; link[링크]) 디바이스 파일: Unix의 tty나 /dev/null 같은 것 문제해결프로그래밍 Programming for Problem Solving
13
경로명 트리 구조의 특징 경로명 경로명의 예 어느 두 정점(vertex) 사이에는 반드시 하나 이상의 경로가 존재함
이 중에서 가장 짧은 경로는 하나뿐임 루트(root) 정점에서 다른 모든 정점에 이르는 경로가 존재함 경로명 루트에서 어떤 파일에 이르는 경로를 이름으로 나타낸 것 조금 복잡한 형태의 파일 이름이라고 간주할 수 있음 Windows에서는 경로명 구분을 \로 하고 Linux에서는 /으로 함 Linux의 경로명은 URL(HTML 주소)에 반영되어 있음 경로명의 예 C:\Windows\system32\cmd.exe 주의: Windows에서는 각 드라이브마다 개별적인 경로명을 사용함 문제해결프로그래밍 Programming for Problem Solving
14
트리 구조 예(Windows) Windows 탐색기 경로명 시작모든 프로그램보조 프로그램Windows 탐색기
오른쪽 창을 탐색 창이라고 부르며 여기에 트리 구조가 반영되어 있음 경로명 Windows 탐색기의 ‘주소표시줄’을 누르면 경로명이 나타남 탐색창의 ‘라이브러리’나 ‘즐겨찾기’ 등의 폴더도 사실은 구체적인 경로명이 부여된 파일임 문제해결프로그래밍 Programming for Problem Solving
15
트리 구조 예(Linux) 터미널 접속 경로명 Linux가 설치되어 있지 않은 경우에는 Linux 서버로 접속해야 함
접속 프로그램을 터미널(terminal) 프로그램이라고 함 Windows의 대표적 접속 프로그램으로는 putty가 있음 경로명 서버로 로그인 후 pwd 명령어로 현재 폴더의 경로명을 확인할 수 있음 Linux의 경우에는 HDD 드라이브명이 경로명에 나타나지 않음 문제해결프로그래밍 Programming for Problem Solving
16
상대 경로 특수 폴더 상대 경로 루트 폴더(\ 혹은 /): 파일 시스템의 루트 현재 폴더(.): 현재 내가 있는 폴더
부모 폴더(..): 현재 내가 있는 폴더를 포함하고 있는 폴더 상대 경로 경로명 중에서 점(.)으로 시작하는 경로명을 상대 경로(relative path)라고 함 반대로 루트 폴더명으로 시작하는 경로명을 절대 경로(absolute path)라고 함 이렇게 두 가지를 사용하는 이유는 입력해야 할 글자 수를 좀 줄이기 위해서임 문제해결프로그래밍 Programming for Problem Solving
17
경로명 예 명령창 경로명 Windows에도 Linux의 터미널과 유사한 창이 있음
시작 버튼(윈도우 버튼)을 누른 후, 탐색창에 cmd를 입력한 후 Enter 키를 누르면 명령창이 나타남 경로명 명령창의 프롬프트(prompt)에 이미 경로명이 나타나 있음 cd 명령어로 .. 폴더로 이동해 보자(cd ..) cd란 change directory를 의미함 문제해결프로그래밍 Programming for Problem Solving
18
명령창과 쉘 명령어 종류 쉘 명령창에 입력한 명령어는 명령어일 수도 있고 프로그램 이름일 수도 있음
cd나 pwd 등은 명령어(command)임 프로그램 이름은 매우 다양함: Windows의 calc, Linux의 cat 쉘 명령어를 처리하는 프로그램을 쉘(shell)이라고 부름 Windows의 경우, cmd가 쉘 이름임 Linux의 경우, csh, bash 등 여러 쉘이 있음 실습: Windows 명령창에서 cmd를 다시 입력해 보자. 문제해결프로그래밍 Programming for Problem Solving
19
파일 만들기 실습 Windows 명령창에서 직접 파일 만들기 Linux 쉘에서 직접 파일 만들기
copy con: hello.txt 여러 내용을 타이핑함 Ctrl-Z 키를 입력하여 끝내기 type hello.txt로 확인 Linux 쉘에서 직접 파일 만들기 cat > hello.txt Ctrl-D 키를 입력하여 끝내기 cat hello.txt로 확인 문제해결프로그래밍 Programming for Problem Solving
20
요약 프로그래밍 컴퓨터 시스템 운영체제 명령어 쉘 프로그램을 작성하는 일
반복적인 대량의 작업을 자동으로 빠르게 수행할 수 있음 컴퓨터 시스템 하드웨어(HW)와 소프트웨어(SW)로 구성됨 HW는 여러 장치로, SW는 프로그램과 데이터로 구성됨 운영체제 컴퓨터 하드웨어를 관리하는 프로그램 파일 시스템은 운영체제의 서브시스템 명령어 쉘 운영체제를 이용하는 기초적인 인터페이스 파일을 만들고 확인할 수 있음 문제해결프로그래밍 Programming for Problem Solving
Similar presentations