CS50이란?
하버드 대학교의 David Malan 교수의 컴퓨터과학 입문 강좌입니다.
컴퓨팅사고
영어로 Computational thinking 이라고 합니다.
2진법
교수님은 컴퓨터 안의 트랜지스터를 전구로 표현하고 있습니다.
정보의표현
ASCII 코드
A
는 65 = 01000001(2)
!
는 33
GIF 는 움직이는 사진의 연속이다.
알고리즘 : Algorithms
상남자 교수님.. 알고리즘을 표현하는데 책을 반으로 찢어서 버린다..
이 문제를 분할정복 알고리즘 (Divide and conquer algorithm) 이라고 한답니다.
분할정복 알고리즘을 이렇게 쉽게 설명하시는 분은 처음봤다..
의사코드 (Pseudo code)
노란색부분을 앞으로 함수라고 합니다.
영국의 수학자 이름 George Boole 의 이름을 따 참과 거짓을 표현하는 불리언 (Boolean) 을 씁니다.
또한 많은 것들이 더 있습니다.
- functions
- conditions
- Boolean expressions
- loops
- variables
- threads
- events
스크래치 : Scratch
MIT 미디어랩에서 만든 교육용 언어입니다.
https://scratch.mit.edu/about{:target="_blank"}
간단히 드래그 앤 드랍으로 고양이를 가지고 놀 수 있습니다.
주로 8~16세를 대상으로 만들어졌다고 하네요.
코딩에 흥미가 없는 초등학생도 보면 흥미가 생길 것 같네요..
추상화
자신만의 블록을 만드는 것을 추상화라고 표현합니다.
어떻게 cough 함수가 구현되었는지 알 필요가 없습니다.
아스키코드 변환사이트
https://ko.rakko.tools/tools/74/{:target="_blank"}
C언어
실습사이트
https://sandbox.cs50.io/{:target="_blank"}
GitHub 계정을 연동해 사용하므로 계정이 없다면 생성합니다.
clang fileName.c
컴파일 : a.out 파일을 만듭니다.
./a.out
파일을 실행합니다.
.
현재 폴더를 나타냅니다.
$
prompt
ls
list
*
가 붙은 것은 실행가능한 파일이며 없는 것은 소스코드이다.
rm
remove
mkdir
make directory
rmdir
remove directory
기초
단축키 | 실행 |
---|---|
ctrl + shift + enter | 윗 줄 만들기 |
ctrl + enter | 콘솔이동 |