💡History of Software
📕1세대(1951-1959)
- Machine Language(기계어)
- 컴퓨터 프로그램은 1과 0으로 이루어진다.
- 컴퓨터가 직접 이해할 수 있는 표현 방식
- Assembly Languages(어셈블리어) and Translators
- 사람이 이해할 수 있게 만든 언어이다. ex) add, substraction
- Assembler(어셈블러) : 어셈블리 언어 -> 기계어 (번역해줌)
- Programmer Changes
- 프로그래머는 두 그룹으로 나뉜다.
- application programmers (사용자 중심)
- System programmers (기계 중심)
- 프로그래머는 두 그룹으로 나뉜다.
📕2세대(1959-1965)
어셈블리가 너무 불편해서 등장한 소프트웨어
- High-level Languages
- 영어문장이 프로그래밍을 더욱 쉽게 만들었다.
- 예시는 Fortran, COBOL, Lisp 등이 있다.
📕3세대(1965-1971)
- Systems Software(기계 중심)
- Utility programs(사용자가 사용하는 프로그램)- ex: 윈도 탐색기
- Language traslators(compilers)
- Operating system,
- User(컴퓨터를 사용만 하는사람들)와 하드웨어의 사이의 구분
- 컴퓨터 프로그래머들은 일반적인 사람들이 사용하는 프로그램을 만든다.
📕4세대(1971-1989)
- Structured Programming
- Pascal
- C++
- New Application Software for Users
- Spreadsheets - ex) excel
- Word processors
- Database management systems
📕5세대(1990-현대)
객체지향의 등장
- Microsoft
- 윈도우 os와 다른 마이크로소프트웨어 애플리케이션 프로그램이 시장을 지배했다.
- 객체지향 디자인
- Based on a hierarachy of data objects ( i.e, JAVA)
- World Wide web
- 인터넷을 통해서 글로벌적인 의사소통을 가능하게 했다.
- New Users(유저, 사용자)
- 오늘날의 유저들은 컴퓨터의 전문적인 지식이 필요 없이 사용할 수 있다.
📕Computing as a Tool
초기에는 프로그래머들만 컴퓨터를 사용했다.
이후 프로그래머는 system programmer와 applications programmer로 분리
Applications programmer가 사람들이 사용하기 좋은 프로그램을 개발해서
programmer가 아닌 user(전문적인 지식 x)의 출현
💡Computing as a Discipline(학문 영역)
📕학문으로서의 Computing에서 근본적인 질문
What can be (efficiently) automated
-무엇이 (효율적으로) 자동화될 수 있는가?
📕컴퓨터 전문가가 되기 위한 필수적인 4가지 기술
- 알고리즘적 사고
- Representation(표현)- 데이터를 효과적으로 표현
- Programming(프로그래밍)- algorithm + representation -> program
- Design(설계) - program의 용도를 명확하게 해야 함.
💡Computer Science
📗Computer Sceince
컴퓨터 공학자들이 사용하는 지식과 실행방법
📗mathematical aspect
수학적 이론에서 출발 : Boolean, Logic, Binary system
📗scientific aspect
다양한 모델들을 탐색하여 새로운 방법을 정립
📗engineering aspect
다양한 컴퓨터 시스템을 구축
📗Examples of Systems Areas
- Algorithms and Data structure
- Programming Languages
- Architecture
- Operating SYstems
- Software Enginnering
- Human-Computer Communication
📗Examples of Application Areas
- Numerical and Symbolic Computation
- Dadabases and Information Retrieval
- Intelligent Systems
- Graphics and Visual Computing
- Net-Centric Computing
- Computational Science
💡컴퓨터에 기초해서 탄생한 학문분야
컴퓨터가 없었다면 탄생 못할 분야
📗bioinformatics(바이오정보학)
생물학적인 데이터를 이해하기 위해서 소프트웨어 tool과 method를 발전시켰다.
DNA의 염기 서열 분석
📗molecular dynamics(분자 역학)
📗celestial mechanics(천체 역학)
📗economics forecasting(경제 예측)
'학교 > 컴퓨터학개론' 카테고리의 다른 글
[컴퓨터학개론 6장]- binary number (0) | 2022.06.28 |
---|---|
[컴퓨터학개론 5장]- PC Architecture (0) | 2022.06.28 |
[컴퓨터학개론 4장]- hardware & software (0) | 2022.06.27 |
[컴퓨터학개론 3장]- 컴퓨터의 분류 (0) | 2022.06.27 |
[컴퓨터학개론 1장]- History of Computer Hardware (0) | 2022.06.27 |