Computer Science/Basics

공부한 내용을 정리합니다
Computer Science/Basics

프로그래밍

Crash Course: Computer Science를 정리했습니다. 초기의 프로그래밍 방직기 이는 최초의 프로그래밍 방식 중 하나다. 펀치 카드 인구조사 통계 건으로 의뢰해 개발한 그것이다. 그러나 이는 단지 도표화 하나만 가능했으며 프로그래밍은 아니었다. 플러그보드 여기에 점점 빼고 곱하고 나누는 기능이 추가된다. 이런 기능을 수행할 수 있도록 프로그래머는 Control Panel 제어 패널을 조작한다. 이 패널은 작은 소켓들로 채워져 있고, 프로그래머가 케이블을 연결하여 값이나 신호를 기계의 다른 부분으로 보낼 수 있었다. Stored-Program Computers 프로그램을 물리적인 플러그보드의 선으로 저장하는 대신에, 전체 프로그램을 이제 메모리 안에 저장할 수 있게 되었다! 폰 노이만 구조..

Computer Science/Basics

컴퓨터는 어떻게 계산할까?

Crash Course: Computer Science를 정리했습니다. 부울 연산과 논리 게이트 Boole 부울 대수학은 George Boole이 창안한 참 거짓을 다루는 분야이다. 이를 활용해 true일 경우 전기가 통하고, false일 경우 전기가 통하지 않는 것으로 하여, 하나의 트랜지스터로 인풋 아웃풋이 모두 가능하게 했다. Gate 게이트는 전류의 흐름을 통제하기에 붙여진 이름이다. NOT Gate NOT 논리표와 같다 삼각형모양 AND Gate 둘다 참이어야만 참 두개의 인풋 하나의 아웃풋 트랜지스터 두개가 같이 켜져있어야만 전류가 흐르다 D 모양 OR Gate 하나만 참이어도 참 두 트랜지스터를 병렬로 연결했을 때 우주선 모양 XOR (Exclusive or) 모든 입력이 참이면 거짓이 된다..

Computer Science/Basics

컴퓨팅의 역사, 트랜지스터, 튜링

Crash Course: Computer Science를 듣고 정리했습니다. Computing's History Computing's Origins The Abacus 주판 컴퓨팅의 기원은 계산기이며, 그 계산기의 기원은 '주판'이다. 기원전 2500 년전 메소포타미아에서 발명되었다. 이후 인간은 다양한 계산기를 개발한다. Astrolabe 천문 관측 장치.배가 바다 위에서 그들이 있는 위도를 알 수 있게 해준다. The Slide Rule 계산자.곱셈과 나눗셈을 할 때 도움을 준다. 이외에도 일출,밀물, 썰물, 천체의 움직임을 계산할 수 있는 장치들을 개발한다. Leibniz' Step Reckoner 계단식 계산기 또는 라이프니츠 계산기 1672년경 독일의 수학자 고트프리트 빌헬름 라이프니츠가 발명하..

Computer Science/Basics

'컴퓨터 과학'에 대해

우리가 공부하는 소프트웨어 공학, 운영체제 등은 모두 ‘컴퓨터 과학’이라는 큰 학문 산하의 분야이다. 컴퓨터 과학은 알고리즘, 계산 및 정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다. 이처럼 광범위하기에 '컴퓨터 과학'의 본질에 관한 학계의 논쟁은 아직도 활발하다고 한다. 모두를 위한 컴퓨터 과학 CS50 2019에서 정의하는 컴퓨터 과학 컴퓨터 과학이란 문제 해결에 대한 학문이다. 문제 해결이란 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며, 그 중간에 있는 과정이 바로 컴퓨터 과학이다. 이러한 입력과 출력을 표현하기 위해선 우선 모두가 동의할 약속(표준)이 필요한데, 우리가 10진법을 당연히 ..