본문 바로가기

Programming/1. boostcourse - 'CS50'8

Ep 3-4. 자료형, 형식 지정자, 연산자 우선 배운 개념들부터 정리하고 예시를 들어보고자 한다. 용어들이 낯설겠지만 일단 한번씩 읽어보고 예시를 보면 아마 좀 더 이해가 잘 되지 않을까 싶다. Data Type 변수가 어떤 데이터 타입인지를 나타낼 수 있는 것들은 다음과 같다. bool: 불리언 표현, (예) True, False, 1, 0, yes, no Boolean(불리언) : 참과 거짓이라고 하는 논리값과 관련이 있는 것. char: 문자 하나 (예) 'a', 'Z', '?' string: 문자열 int: 특정 크기 또는 특정 비트까지의 정수 (예) 5, 28, -3, 0 long: 더 큰 크기의 정수 float: 부동소수점을 갖는 실수 (예) 3.14, 0.0, -28.56 double: 부동소수점을 포함한 더 큰 실수 * int는 대.. 2021. 4. 8.
Ep 3-3. 조건문과 루프 조건문과 루프? 이걸로 뭘 할 수 있을까? 또 한번 스크래치를 예로 들어야할 것 같다. 이 정도면 '또크래치' 라고 불러도 될 정도로 C언어의 개념을 모두 포함하고 있다. 우선 다음 사진을 보자. 스크래치에서는 왼쪽과 같이 counter라는 변수를 만들고 0을 저장하기 위해 이런 모양의 블록을 사용했었다. C언어로 동일한 효과를 내고자 하면 오른쪽과 같이 작성하면 되는데, 하나하나 뜯어보면 별거 아니다. int : 변수가 정수(integer) 라는 것을 알려주는 것 counter : 변수. 그저 이름일 뿐이니 다른 단어로 바꿔도 되지만 보통 프로그래머들은 뭔가를 셀 때 정수를 나타내는 ''i' 를 쓴다. = : '오른쪽의 내용이 왼쪽의 변수이다.' ; : 코드의 끝엔 언제나 세미콜론! 자 그럼 이제 co.. 2021. 4. 8.
Ep 3-2. 문자열 get_string 이번 시간에는 좀 더 다이나믹한 것을 해볼 예정이다. 우선 지난 번에 했던 방식처럼 스크래치와 C언어를 비교하는 예를 보자. 스크래치의 ask 와 가장 비슷한 C 함수는 get_string 이다. string은 단어나 구절, 문장을 부르는 말이며 숫자와는 다른 종류의 데이터를 말한다. 괄호 사이에는 어떠한 입력을 넣을 수 있는데 사용자가 화면에서 보게 될 명령어를 넣을 수 있습니다. 그래서 위와 같이 작성하고 실행하면 $What's your name? 이라는 질문이 나오게 된다. 이제 get_string을 통해 사용자에게 이름을 물어봤으니 그 답변을 활용해야 한다. 이 때 get_string 앞에 'string ---- = ' 을 붙이면 된다. 위 예시에는 answer 이라고 적혀있는.. 2021. 4. 7.
Ep 3-1. C언어 기초 Hello, World! 프로그래밍 언어를 제일 처음 써볼 때 항상 쓰는 말이 저 'hello world' 이다. 프로그래밍 세상으로의 인사같은 말이라고 생각하면 될 것 같다. 아무튼, 드디어 boosecourse CS50 강의에서 배운 C언어 기초에 대해 정리해보고자 한다. C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 저수준 언어라고도 불리는데, 수준이 높을수록 인간 친화적인 언어이고 낮을수록 기계어에 가깝다. 그만큼 C언어가 낯설게 느껴지는건 지극히 당연하다고 생각한다. 하지만 개념을 조금만 이해하고 배우면 아마 그 낯설음이 많이 사라질거라고 생각한다. 우선 지난 게시글의 스크래치 언어를 C언어로 바꾼 사진을 보자. C언어를 하나씩 뜯어보자면, int main(void) 는 스크래치의 .. 2021. 4. 7.
Ep 2-3. 컴퓨팅 사고_Scratch 스크래치? 그게 뭐죠? 이번 시간에는 MIT 미디어랩에서 만든 스크래치(Scratch) 라는 그래픽 언어를 다뤄볼 예정이다. 프로그래밍 언어로 우리가 익히 들어봤을 C++, JavaScript, Python 등이 있는데, 공통점은 검은 화면에 글자를 타이핑하는 방식이다보니 초보자, 특히 비전공자에게는 정말 낯설게 느껴질거라 생각한다. 그런데 이 스크래치는 유치원 때 퍼즐을 맞추듯이 다양한 조각들을 붙여서 그 결과물을 시각적으로 바로 볼 수 있다는 어마어마한 장점이 있어서 코딩을 쉽게 접근하고 싶은 초보에게 적극적으로 추천한다. 우선 방법은 아래 링크를 클릭하고 들어간다. http://scratch.mit.edu Scratch - Imagine, Program, Share Scratch is a free .. 2021. 4. 7.
Ep 2-2. 컴퓨팅 사고_정보의 표현, 알고리즘 그럼 문자는 어떻게 표현할까? 지난 글에서 정리했다시피 컴퓨터는 스위치를 on/off 하며 숫자를 표현한다고 했다 (2진법). 그렇다면 문자는 어떻게 표현을 할까? 문자를 표현하기 위해 다음과 같이 '이 숫자는 이 글자라고 합시다!' 라는 약속(표준)을 만들었는데, 그 중 하나가 바로 아스키코드이다. 총 128개의 부호로 이루어진 이 코드는 위 예시처럼 각 문자에 번호가 지정돼있고, 저 숫자가 2진법으로 변환되어 컴퓨터에게 전달되면서 문자가 생성된다. 또 다른 예시 그림 또한 이러한 숫자로 표현할 수 있다. 우리가 스크린을 통해 보는 그림을 자세히 보면 수많은 작은 점들이 빨간색, 초록색, 파란색을 띄고 있는데, 우리는 이 점을 픽셀 이라고 부른다. 픽셀은 이 세 가지 색의 조합으로 만들어지는 특정한 색.. 2021. 4. 7.
Ep 2-1. 컴퓨팅 사고_2진법 CS50 강의 시작! 드디어 기록 겸 복습용 글을 써보고자 한다. 그 첫번째로 시작한 강의는 2진법이다. 우선 2진법에 대해 설명하기에 앞서 강의에서는 컴퓨터 과학의 정의에 대한 이야기를 하는데, 교수님께서 말씀하신 내용은 다음과 같다. "컴퓨터 과학은 단지 문제를 해결하는 과정을 배우는 학문이다." 여기서 문제 해결이란 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며, 그 중간에 있는 과정이 컴퓨터 과학이라고 설명한다. 그리고 이러한 입력과 출력을 표현하기 위해서는 어떠한 표준(약속)이 필요한데, 그것이 바로 2진법이다. 컴퓨터는 전기적 소자인 트랜지스터로 자료값을 저장하므로 전기가 흐르거나(on) 흐르지 않는(off) 두 가지 신호만으로 자료를 처리하고 저장한다. 이와 같이 디지.. 2021. 4. 7.
Ep 1. boostcourse? 부스트코스? 프론트엔드 개발 공부를 시작하기에 앞서 여러 개발자 커뮤니티를 돌아다니며 이것저것 알아보던 중, 컴퓨터 기초 지식이 언어만큼이나 중요하다는 사실을 알게 됐다. 컴퓨터가 작동하는 원리나 구성 요소, 자료구조, 알고리즘 등의 지식이 어느 정도 있어야 후에 개발 언어를 활용하는데 큰 도움이 된다고 해서 무작정 전공 서적을 구매하게 됐다. 전공서적임에도 나름 읽고 공부하기 편하게 되어있었지만, 아무래도 처음 공부하다보니 낯선 단어들과 개념들에 막힐 때가 있었다. 이대로 가면 진도도 더뎌지고 흥미도 떨어질 것 같다는 생각에 일단 전공 서적으로 공부하는 것을 보류하기로 했다. 그리고 다른 방법을 알아보던 중 네이버 커넥트재단에서 운영하는 'boostcourse'라는 학습 플랫폼을 알게 됐다. 부스트코스.. 2021. 4. 6.
반응형