728x90
반응형
Computational Thinking
분해(decomposition)
- 문제를 잘게 나눠서, 문제를 작고 다룰 수 있는 부분으로 나누기
- 일을 할 때 어떻게 나눠서 할지 생각하는것
패턴 인식(pattern recognition)
- 데이터 안에 있는 패턴과 규칙을 찾기
- 부분과 부분의 유사점과 차이점을 찾는 것
패턴 만들기(추상화) (abstraction)
- 패턴을 만드는 일반적인 규칙을 발견하는 것
알고리즘 (algorithm)
- 문제를 풀기 위한 명령을 순서대로 만드는 것
Programming
프로그래밍(programming)
- 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술
- 특정한 프로그래밍 언어로 쓰인 프로그램은 기계어로 번역되어 컴퓨터에 의해 실행됨
프로그래밍 언어(programming language)
- 프로그래밍 언어는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 형식언어
Hardware Architecture
중앙처리장치(central prcessing unit, CPU)
- 주어진 정보에 대해서 입력된 명령어에 따라서 정보처리
GPU(graphics processing unit)
- 여러 명령어를 동시에 처리하는 병렬 처리 방식
주기억장치(main memory)
- CPU가 명령어를 처리하는데 필요한 정보를 저장
- 정보처리 속도가 빠르지만 전원이 꺼지면 정보를 상실
보조 기억장치(secondary memory)
- 정보처리 속도가 느리지만 전원을 잃어도 지속적으로 정보 보관
Programming Languages
Compiler
- 프로그래머가 코드를 작성할 때 소스 코드를 이용하여 목적코드(파일)을 컴파일하고, 필요 시 이를 실행하는 방식으로 프로그램 실행
- 실행 속도가 빨라진다.
- 코드 완결성 보장될 수 있음
- C, C++, Java
Interpreter
- 프로그래머가 코드를 작성할 때 소스코드를 읽고, 소스코드를 파싱하고, 즉성에서 명령을 해석하여 실행
- 실행 속도가 상대적으로 느릴 수 있다
- Python, Ruby, Javascript
Python
1990년 암스테르담의 귀도 반 로선(Guido Van Rossum)이 개발한 interpreter language
특징
- High-level Language
- Easy Grammar
- Open Source
- Concise
- Fast Developement Speed
활용분야
- 시스템 유틸리티 제작
- GUI 프로그래밍
- 웹 프로그래밍
- 수치 연산(with C/C++): numpy
- 데이터베이스 프로그래밍
- 데이터 분석: pandas, matplotlib
728x90
반응형
'Python > Python 기초' 카테고리의 다른 글
[Python] Python Exception Handling (0) | 2021.02.24 |
---|---|
[Python] Python Class (0) | 2021.02.23 |
[Python] Python File (0) | 2021.02.23 |
[Python] Python Function (0) | 2021.02.23 |
[Python] Python Flow Control (0) | 2021.02.22 |