컴퓨터기초 (1/4) Warming Up! Computer Fundamentals Computer History Algorithm and Programming Internet & WWW Curriculum: Teacher College, Computer Education 1
History of computer 초기의계산도구 주판 최초로사용된계산도구로, 유래는기원전 3000 년경고대메소포타미아인들이사용했다고한다. 파스칼의계산기 1642년, 파스칼, 기어와레버를조작해서덧셈과뺄셈을하는기계적계산기 라이프니츠의계산기 [ 그림 ] 파스칼의계산기 1694 년, 라이프니츠, 덧셈, 뺄셈만이아니라곱셈과나눗셈도가능한계산기 [ 그림 ] 라이프니츠의계산기
History of computer 해석기관 ( 컴퓨터의등장을예측 ) 1833 년, 연산장치, 기억장치, 제어장치, 입출력장치등현재컴퓨터의모든개념을포함하고있는기계 ( 논리적설계 ), 자금의부족으로개발에는실패 펀치카드시스템 1889년, 홀러리스, 데이터를종이카드에구멍을뚫어표현하는시스템, 1890년미국인구조사에사용 튜링기계 1936 년, 튜링, 현대컴퓨터가동작하는원리가되는추상적인기계 논문 : 계산가능한수에대해, 수리명제자동생성문제에응용하면서 (On Computable Numbers, with an Application to the Entscheidungsproblem) [ 그림 ] 튜링기계 3 [ 그림 ] 펀치카드시스템
History of computer A.D. 1944~ : period of the electronic computer ENIAC (1946, Mauchly and Eckert) The first electronic computer electronic Numerical Integrator and Calculator EDSAC (1949, Cambridge Univ.) The first program built-in computer has its own memory.. EDVAC (1950, Pennsylvania Univ.) The first commercial computer Completion of modern computer foundation 4
History of computer Development of computer progress of performance, cost,size Smaller! Faster! Cheaper! The I st generation computer (1951-1958) Vaccum Tubes The 2 nd generation computer (1959-1964) Transistors The 3 rd generation computer (1965-1970) Integrated circuits The 4 th generation computer (1971- current) Microprocessors The 5 th generation computer (future) Artificial Intelligence 5
History of computer Development of computer progress of performance, cost,size The 1 st generation (1950-1958) Vacuum tube : very big size and so much heat storage : magnetic core Data form : punched card Binary scale used Example : UNIVAC1(1951) - the first business application electronic computer Vacuum tube Magnetic core UNIVAC 6
History of computer Development of computer progress of performance, cost,size The 2 nd generation (1959-1964) transistor : 200-times small than vacuum tube, faster, more reliable storage : magnetic core, magnetic disk, magnetic tape Modular design of hardware OS concept proposed High-level programming language appeared : FORTRAN, COBOL Magnetic disk transistor Transistor computer TX - 0 7
History of computer Development of computer progress of performance, cost,size The 3 rd generation (1965-1970) Integrated circuit(ic) : complete electronic circuit on a small chip of silicon Time sharing technique appeared: many users use the same computer simultaneously Data communication appeared Software organization established : IC집적회로 IBM 360 집적회로 8
History of computer Development of computer progress of performance, cost, size The 4 th generation (1971-current) Extension of 3 rd generation technology Using LSI,VLSI Micro processor appeared Personal computer(pc) spread vastly computer popularization Computer network and Internet spread Virtual memory concept proposed Database appeared 9 <micro processor>
History of computer Development of computer progress of performance, cost,size Example of 4 th generation computer <1980 early PC> mini computer <super computer> <current desk-top> <current notebook> 10 <multimedia computer>
History of computer Development of computer progress of performance, cost,size The 5 th generation (onward) Intelligent computer Expert system Natural language 11
Five basic components of a computer system [ 표 ] 컴퓨터의기능 [ 그림 ] 컴퓨터의역할 12
Computer architecture Decomposing computer (1/2) Input device Output device Processing device Storage device Input device Output device 13
Computer architecture Decomposing computer (2/2) Input device Output device storage device processing device Storage device Processing device Mother board 14
CPU (Central Processing Unit) : control center of computer Composition of CPU Arithmetic/logic unit (ALU) - operation/calculation Control unit (CU) - data flow control 15
History of CPU integrity higher, clock velocity higher, data unit longer! classical CPU (1968-1975) : 4bit 4004, 8bit 8008 1 st generation CPU : 8086(1978), 8088(1979) 2 nd generation CPU : i80286(1982) 3 rd generation CPU : i80386(1985) 4 th generation CPU : i80486(1989) 5 th generation CPU : pentium(1992), pentium MMX(1997) 6 th generation CPU : pentiumⅡ (1997), celeron (1998 ~), pentium3 (1998 ~), XEON 7 th generation CPU : pentium 4 (2000~), Itanium IA-64 (2004~) 8 th generation CPU : pentium D, Core 2 Duo, 코어2쿼드, 린필드 (i5), 볼룸필드 (core i7) 16
History of CPU 286 CPU 386 CPU group 486 CPU pentium Pentium II celeron 17 Pentium 3 Itanium IA-64
Well-Known Computers 1965 1977 1998 2003 IBM System 360/50 DEC VAX 11/780 Apple imac Pentium4 0.15 MIPS 64 KB $1M 1 MIPS(reported) 0.5 MIPS(actual) 1 MB $200K 700 MIPS(peak) 427 MIPS(estimated) 32 MB $1229(September 1998) 12600 MIPS(peak) 4697 MIPS(estimated) 256 MB $1529 $6.6M per MIPS $16M per MB $200K to $400 per MIPS $200K per MB $1.75 to $2.90 per MIPS $38 per MB $0.12 to $0.33 per MIPS $5.97 per MB 18
Transistors Per Die Trends Source: www.icknowledge.com 19 # 무어의법칙 : 마이크로칩기술의발전속도에관한것으로마이크로칩에저장할수있는데이터의양이 18 개월마다 2 배씩증가한다는법칙.
Hard-Disk Technology Trends Disk density: 1.50x - 1.60x per year (4x in three years) Source: IBM HDD Evolution by Ed Grochowski at Almaden 20
컴퓨터기초 (2/4) Warming Up! Computer Fundamentals Computer History Algorithm and Programming Internet & WWW Curriculum: School of Computer Science and Engineering 21
알고리즘 (Algorithm) 컴퓨터를이용한문제해결과정 문제정의와분석 알고리즘고안 프로그램작성 알고리즘 : 문제해결방법에대한단계별풀이과정 프로그램 : 알고리즘을컴퓨터가이해할수있는언어로코딩한것 알고리즘작성 코딩 22
알고리즘의중요성 100 만명을대상으로각자가낸납세액이전체납세액에서차지하는비율을구하는문제 23
알고리즘 1 1. 100 만명의납세액을입력받는다. (1 초 ) 2. 100 만면중첫번째대상자의납세액을읽어온다. (1/100 만초 ) 3. 100 만명의납세액총액을구한다. 100 만 * 1/100 만초 +(100 만 - 1)*1/100 만초 = 2-1/100 만초 4. 2 의값을총합으로나누어납세비중을구한다. (1/100 만초 ) 5. 아직남은대상자가있으면 2~4 의과정을반복한다. 총소요시간 : 1+ (2 + 1/100 만 ) * 100 만 = 약 200 만 2 초 = 555 시간 24
알고리즘 2 1. 100 만명의납세액을입력받는다. (1 초 ) 2. 100 만명의납세액총액을구한다. 100 만 * 1/100 만초 +(100 만 - 1)*1/100 만초 =2-1/100 만초 3. 100 만명중첫번째대상자의납세액을읽어온다. (1/100 만초 ) 4. 3 의값을 2 에서계산한값으로나누어납세비중을구한다. (1/100 만초 ) 5. 아직남은대상자가있으면 3~4 의과정을반복한다. 총소요시간 : 1+ 2 1/100 만 + (1/100 만 +1/100 만 )* 100 만 = 약 5 초 25
프로그래밍언어 기계어 machine language 컴퓨터가직접이해가능한언어 0과1의조합으로표현 사람이이해하기는복잡하고어려움 00011010 0001 0010 어셈블리어 assembly language 0과1의조합을상징적인코드로변환하여인간의이해도를향상 컴퓨터에서실행되려면결국기계어로변환되어야함 어셈블러 (Assembler) 라는소프트웨어필요 ADD 1, 2 고급언어 high-level programming language 인간이이해하기쉽게만든컴퓨터용언어 역시, 기계어로변환시켜주는소프트웨어가필요 ( 컴파일러 ) 예 ) FORTRAN, COBOL, PASCAL, BASIC, C, C++, Java... 26
프로그램언어의역사 ** 절차 (procedural, 함수 function) 중심적인사고 객체 (object) 중심적인사고 구조적프로그래밍기법 (1970 년 ~~ 1980 년대중반이전 ) 프로시져, 함수등의사용으로 70 년대대표적구조적프로그래밍기법 ALGOL 계열 (PASCAL, C 등 ) 언어들이대표적 객체지향프로그래밍기법 (1980년대중반이후 ) 객체간의상호연동을프로그래밍으로표현 Smalltalk( 83) 의등장으로비로소객체지향프로그래밍언어시대개막 추상화, 캡슐화, 다형성, 동적바인딩등이대표적개념 C++, Java 27
프로그램언어의역사 C++ 가장대중적언어인 C와객체지향패러다임의만남 C with classes C++ 사실상 C++ 는순수한의미에서의객체지향언어는아니다. 러나가장대중적으로성공한객체지향언어임에는틀림없다. Java 선마이크로시스템사에서개발한프로그래밍언어 간단하고버그가없는전자제품개발이초기의목적 플랫폼독립적이면서분산네트워크지원필요 1994년중반부터웹의인기상승으로브라우저개발 현재는 Netscape과 Explore 모두에서자바를지원 웹상에서에니메이션이나고수준의상호작용이가능 프로그래밍언어로서의자바 단순, 객체지향적, 분산처리, 컴퓨터구조에중립적등등 28
컴파일 (Compile) 컴파일 고급언어로작성한프로그램을컴퓨터가이해할수있고, 실행가능한기계어로번역하는과정 컴파일러 번역을담당하는프로그램 컴퓨터기종, 운영체제, 프로그래밍언어에따라다른종류의컴파일러필요 29
컴파일과정과라이브러리 컴파일작업 ( 컴파일러,Compiler) 링크작업 ( 링커, Linker) 원시파일 (Source Code) *.cpp 목적파일 (Object Code) *.obj 실행프로그램 (Executable Code) *.exe 라이브러리 (Library) 라이브러리 : 입출력과같이프로그래밍에서공통으로많이쓰이는작업들을미리컴파일하여목적파일형태로만들어놓은것들의집합 30
프로그램에러와디버깅 에러종류 문법적에러 (Grammatical Error) 프로그램이언어의문법에어긋나는경우발생 컴파일러가컴파일시에러정보출력 논리적에러 (Logical Error) 프로그래머가알고리즘을잘못만들었을경우발생 컴파일러가검사할수없음, 실행시오동작 버그 : 논리적인에러 디버깅 : 버그를찾아고치는과정 31
소프트웨어유지보수 S/W 유지보수비용 : 총개발비의 80% 이상 유지보수작업 (Maintenance) 버그를지속적으로수정하는유지보수 사용자의요구사항을반영하기위한유지보수 프로그램실행속도향상, 프로그램기능추가, 유지보수를쉽게하기위해 프로그램을쉽게읽을수있는형태로작성 프로그램에대한문서화 32
Basic Constructs of Programming Language 변수 (Variable) 배열 (Array) 연산자 (Operator) 흐름제어 (Flow control) 함수호출 (function call) 조건문 (If.. Then.. Else) 반복문 (Do..While, Repeat) 재귀함수호출 (Recursion). 33
컴퓨터기초 (3/4) Warming Up! Computer Fundamentals Computer History Algorithm and Programming Internet & WWW Curriculum: School of Computer Science and Engineering 34
인터넷 (Internet)
전용선에의한통신 A 전용선 B 요금 전용선 사용양
A 전용선 B C
B A C E D.... F 서로남의전용선무료로사용서로남의데이터무료로배달 Internet Host
Internet Host Internet에직접연결되어있다 전용선으로연결되어있다 & 항상가동되고있다 site 혹은 server 라고도부른다 ( 보통 workstation 급이상또는대형 ) 고유한 host 이름을인터넷상에서가진다 ( 예 : unitel) 즉고유한주소 (IP address) 를가진다 ( 예 : 147.23.3.11) 전세계어디에서도이 host 로들어올수 (access) 있다 TCP/IP라는인터넷표준통신규약을채택한다 Internet Host 사용자에게 user-id를발급한다 39
Internet Domain Name 인터넷상에서한개의호스트를지정 예 : ie.jejunu.ac.kr 국가명 -- jp fr... 기관 type -- ac edu com go 기관내 host 명 기관명 -- LAN 40
? A B D C E 내 PC 와 Internet Host 간의통신은? 통신선로가 (1) 기관이설치한 LAN 이면무료 (2) 가정의일반전화선이면시내통화료 (3) Data 전용선이면별정의요금 ** Internet Host 간통신료는전세계무료
A B? C E D 내 PC 를어느 Host 에연결? (1) 일반상업용 ISP ( 인터넷접속서비스 ) KT, Hanaro, CableTV. (2) 기관 ( 대학, 대기업등 ) 보유 Internet Host -- through LAN
Internet 컴퓨터들간의네트워크 자주적네트워크 ( 상호호혜원칙 ) 제공기능 ( 소프트웨어 ) Email file 전송 주제별 bbs ( 전자게시판 ) WWW (Worldwide Web) telnet ( 원격컴퓨터사용 ) 43
Internet email email address kernkoh@jejunu.ac.kr <user-id> <internet domain name> * 즉시배달 * 배달증명 * 등기우편 * 365일 24시간 * 무료 * 저장가능 44
URL(Universal Resource Locator) Internet에서각 file마다의주소 URL http://jejunu.ac.kr/a/b/c 1. 컴퓨터 Internet Domain Name 2. 파일 Pathname 3. 전송프로그램 http ftp. file document page *.htm file web doc web page (WWW 경우 ) 보통 PC 화면한개정도의정보 45
Web Doc ( 송수신 ) Internet HW: PC PC SW: Web Browser (Client) HW: Internet Host SW: Web Server File *.htm 1. PC에서 click 2. PC는 URL (http://jejunu.ac.kr/doc1.htm) 3. URL 에따라상대방 Internet Host 수신 4. 해당 Internet Host가요청된 file 을꺼내옴 5. 요청한 PC에게 file 송신 6. PC는 file을받아서 browser 안에서 display ( 글씨, 소리, 영상,...) 46
멀티미디어데이터의표현과전송
컴퓨터내 image 의표현 화면 12 8 12 33 99 12 56 7 13 44 66 23 12 4 34 57 99 12... 48
컴퓨터내 color 영상의표현 화면 12 4 34 57 99 12... 49 56 7 13 44 66 23 12 4 34 57 99 12... ** 동영상 --- 초당 25-30 개의정지화상을교체 (video) (image) 12 8 12 33 99 12 56 7 13 44 66 23 12 4 34 57 99 12...
Digital : 통일된정보표현방법 ** 모든정보는 digital 로표현될수있다 Digital File 수 글씨 (Text) 소리 (Audio) 화면 (Image) 동화상 (Video) 50
멀티미디어컴퓨터 키보드 scanner 마이크비디오카메라스피커 컴퓨터 글씨수소리 image video 51
정보량 v.s. 케이블전송용량 전화선 100,000 bps Voice 64,000 bps Audio 1,400,000 bps Video 176,000,000 bps (TV 의경우 ) 광케이블 1,000,000,000 bps 52
컴퓨터기초 (4/4) Warming Up! Computer Fundamentals Computer History Algorithm and Programming Internet & WWW Curriculum: Teacher College, Computer Education 53
1-4 학년컴퓨터관련교과목 1 학년 1 학기 정보사회와컴퓨터 ( 균형교양 ), 교육용프로그래밍기초 ( 균형교양 ) 1 학년 2 학기 (--) 2 학년 1 학기 초등컴퓨터교육 I ( 공통 ), 초등컴퓨터교육론 ( 심화 ) 2 학년 2 학기 교육자료제작 ( 공통 ), 프로그래밍언어지도법 ( 심화 ) 3 학년 1 학기 자료구조와알고리즘 ( 심화 ) 3 학년 2 학기 초등컴퓨터교육교수법및교재연구 ( 심화 ) 4 학년 1 학기 교육조사방법 ( 심화 ), 디지털융합교육세미나 ( 심화 ) 4 학년 2 학기 정보윤리교육의이해 ( 심화 ), 컴퓨터창의성교육 ( 심화 ) 54
컴퓨터기초 Warming Up! Computer Fundamentals Computer History Algorithm and Programming Internet & WWW Curriculum: Teacher College, Computer Education 55
If you are an energetic man or woman.. (.But I don t think so ) Computer Science : An Overview, Addison Wesley; 8 edition (February 18, 2004) by J. Glenn Brookshear Schaum's Outline of Introduction to Computer Science by Pauline Cushman, Ramon Mata-Toledo McGraw-Hill; 1 edition (September 3, 1999) Many many 전산개론 books in 시중서점 컴퓨터과학총론 ( 이광수역, 홍릉과학출판사 ) 컴퓨터과학개론 ( 한금희외, 한빛미디어 ) 최신컴퓨터개론 ( 김명호저, 대림출판사 ) 등 56
Studying Academic Computer Science 57