분류 전체보기
-
IDEs, compilers, interfaces | CS50 Week 1Computer Science/CS 50 Harvard 2021. 11. 4. 20:43
Code to binary #include int main(void) { printf("hello, world\n"); } 위 코드를 컴퓨터에서 프로그램으로 돌리려면 어떻게해야할까? 다시 돌아가서 컴퓨터가 저것을 어떻게 알아들을 수 있을까? 우리는 먼저 저 모든 것들을 컴퓨터가 알아들을 수 있게 1과 0들로 만들어주어야한다. 이작업을 인간이 하기에는 너무 오래 걸리기때문에, 프로그래밍을 하는 의미가 없어진다. 그래서 개발자들은 IDE들을 쓴다. IDE IDE라는것은 integrated development environment의 줄임말인데, 코드를 쓰고, 번역하고, 돌릴 수 있게 해주는 툴이다. IntelliJ, Eclipse, Visual Studio등이 가장 유명한 IDE들이다. 자, 그렇다면 Vis..
-
Python's NumbersComputer Science/Basic Programming with Python 2021. 11. 4. 00:35
Python에는 어떤식의 숫자들이 있을까? 일단, variable이 어떻게 저장될까? Numbers Python에서 Numbers는 아래와 같이 다양하다. Integer(정수): 123, -123, 0 float(실수): 123.45, -123.45, 3.4e10 oct(8진수): 0o34, 0o25 hex(16진수): 0x2A, 0xFE complex: 1 + 2j Integer Integer(정수)의 표현과 사용은 위와같이 할 수 있다. Variable a에 원하는 값을 쓰면, 그 값을 저장하고 사용할 수 있고, 만약 값을 바꿔주면 바로 적용이 된다. Float 소수를 저장할 수도 있고, 2를 사용하면 $10^n$을 표현할 수 있다. 예시로 3.14e2의 값을 주면, 이는 $3.14 * 10^2$의 ..
-
C | Harvard CS50 Week 1Computer Science/CS 50 Harvard 2021. 11. 4. 00:03
CS50 Week1 강의를 한글로 정리한것입니다. C는 이런식으로 생겼다. #include int main(void) { printf("hello, world\n"); } Scratch를 이용해서 코딩에 대한 이해를 할 때, 아래와 같은 것들을 배웠다. functions arguments, return values conditionals Boolean expressions loops variables … 이것들을 C로 쓴다면 어떨까? 사람의 언어들과 마찬가지로 이 언어에도 문법이 존재하고 규칙(Syntax)이 존재한다. 하지만, 언어를 조금씩 배워가는 아이처럼, 한꺼번에 모든것을 알 필요는 없다. 매일매일 해나가면 자연스럽게 익숙해진다. 그렇다면, 좋은 코드를 쓴다는것은 어떤것일까? 하버드 CS50 강의..
-
Python BasicComputer Science/Basic Programming with Python 2021. 11. 3. 01:12
Variable 다른 언어와 다르게, Python에서는 간단하게 variable(변수)를 만들 수 있다. 왼쪽에는 이름을, 오른쪽에는 값을 넣으면 된다. Colab 또는 Jupytor Notebook을 이용해서 다음과 같이 만들 수 있다. #또는 '''를 이용해서 주석 처리를 해줄 수 있고, 숫자를 저장해 더하기 빼기를 하고, 그 값을 프린트 할수도 있다. 텍스트도 프린트해볼 수 있는데, 만약 긴 텍스트를 프린트하고 싶은데, 코드의 줄이 너무 길어진다면 '\'을 이용해서 나는지금 엔터를 쳤지만 실제로는 아니다 라는것을 컴퓨터에게 알려줄 수 있다. 이 기호는 한국 컴퓨터에서는 원화기호(₩)이다. Integer, Float 그리고 String 모두 위와같이 정의하고 프린트할 수 있다. '+'를 이용하면 문장..
-
Python Basic and InstallationComputer Science/Basic Programming with Python 2021. 11. 3. 00:26
Python의 장점 Life is too short, you need python Python은 쉽고 간결하다. C에서는 "Hello world"를 출력하기 위해 6~8줄을 써야하지만, python에서는 한줄만 적으면 된다. print("Hello world") Python은 라이브러리가 많고 활용이 쉽다. 특히 BeeautifulSoup, Numpy, Pandas, Scipy, Scikit-learn 등 데이터 수집/분석을 위한 라이브러리가 많고, 아래와같이 간단한 명령어로 라이브러리(예시에서는 numpy)를 설치할 수 있고, 사용도 아주 쉽다. pip install numpy 최근, AI/ML 대부분의 라이브러리들은 Python 기반으로 이루어져있고, 첫 프로그래밍 언어로 Python을 배우거나, P..
-
Abstraction, Condition and More in Scratch | Harvard CS50 Week 0Computer Science/CS 50 Harvard 2021. 10. 31. 14:05
하버드 CS50 강의를 한글로 정리한것입니다. loop 위와같이 코드를 작성하면 고양이는 1초씩 간격을 두고 야옹~ 하고 우는 소리를 낸다. 하지만 이 코드에는 한가지 개선사항이 있다. 무엇일까? 지금은 3번만 울게끔 하기때문에 괜찮지만 만약 100번을 울게 하고싶다면? 코드가 아주 길어질것이다. 이럴때 사용할 수 있는것이 바로 loop이다. 마치 돌림노래처럼, 똑같은 부분을 반복하는것이다. repeat이라는 블럭을 사용해서 "울고 - 1초기다리기" 를 10번 반복 시키면, 위에 있는 코드와 같은 결과물을 만들어 낼수 있는데, 코드의 길이도 짧고, 개발자의 시간도 훨씬 절약된다. 만약 10번 반복을 이전과 같이 개발했다면 play sound 블록 10개, 1초기다리기 블록 10개, 총 20개의 블록이 필..
-
Scratch | Harvard CS50 Week 0Computer Science/CS 50 Harvard 2021. 10. 30. 18:54
Harvard 대학교 CS50 2021년 강의를 한글로 정리한것입니다. "Hello world" C로 "Hello, world"라는 메세지를 내뱉기 위해서는 아래와 같은 코드를 작성하면 된다. #include int main(void) { printf("hello, world\n"); } 만약 이것을 Python으로 하려면 이렇게 하면 된다. print("hello, world") Scratch 처음 프로그래밍을 배우는 사람이라면, 이것이 어떻게 다른지, 왜 다양한 언어가 존재하는지 모를것이다. 그런 사람들을 위해 시각화된 언어들이 존재하는데, 그중 Scratch라는 언어를 이용해서 블록을 움직이고 엮어서 알고리즘을 만들어볼것이다. 앞에서 보았던 C나 Python의 예시보다는 조금 친숙한 이미지이다. S..
-
Pseudocode | Harvard CS 50 Week 0Computer Science/CS 50 Harvard 2021. 10. 30. 15:11
Harvard CS50 강의를 한글로 정리한것입니다. Pseudocode 지난 내용에서 말했던 전화번호부에서 찾고자 하는 사람의 이름을 찾을 때의 알고리즘을, 정렬해본다면 어떨까? 영어나 한글같이 우리가 사용하는 언어를 이용해서 알고리즘을 나타내는것을 Pseudocode라고 하는데, 아래처럼 써볼 수 있다. 1 Pick up phone book // 전화번호부를 집고 2 Open to middle of phone book // 반절로 나눠서 3 Look at page // 페이지를 쳐다보고 4 If person is on page // 그사람이름이 페이지에 있다면 5 Call person // 그사람에게 전화한다 6 Else if person is earlier in book // 만약 그 사람의 이름이..