ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS50 코칭스터디] CS50 코칭스터디2기_1주차
    CS50 코칭스터디2기 2021. 1. 12. 23:36

    CS50 코칭 스터디 2기 

    친구가 네이버 부스트 코스 CS50 강의를 추천해서 수강신청을 할 무렵에 CS50 코칭 스터디 2기를 모집을 하고 있었다. 그냥 공부하는 것보다는 함께 공부하는 게 효율적이고 코치님들이 1:1 밀착관리, CS50 없던 라이브 강의도 진행한다고 해서 신청을 했는데 선발돼버렸다.!! 일단 선발됐으니 6주간 열심히 달려야겠다. ㅋㅋ

    매주마다 팀별 미션, 과제, 퀴즈를 수행해야 하고 이러한 것들이 비전공자인 나에게 개발자가 되는 좋은 발판이 되기를 생각하며 앞으로 블로그에 6주간 공부한 내용을 여기에 작성할 예정이다. 

     

    1주 차_컴퓨팅 사고 요약

    컴퓨터 과학

    컴퓨터 과학은 문제 해결에 대한 학문입니다.

    문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정입니다.

    그 중간에 있는 과정이 바로 컴퓨터 과학입니다. 

    출처 : www.boostcourse.org 

    알고리즘, 소프트웨어 구조, 컴퓨터 구조등 등이 포함되는 광범위한 학문입니다.

     

    2진법

    0과 1로만 표현하는 것을 2진법이라고 한다 

    컴퓨터는 2진법으로만으로 숫자, 글자, 사진, 영상, 소리 등을 저장할 수 있습니다.

    2진법은 원리만 이해하고 우리가 사용하고 있는 10진법을 2진법으로 바꾸는 것을 몇 번 하면 이해하기 쉽습니다

     

     

    비트

    정보를 저장하고 연산을 수행하기 위한 측정단위이며 binary digit의 줄임말입니다.

    0과 1두 가지 값만 가질 수 있는 측정단위입니다.

    컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있습니다.

     

    비트열

    하나의 비트는 0과 1, 이 두 가지의 값만 저장할 수 있습니다. 컴퓨터 내부에서 물리적 표현될 때는, 켜고 끌 수 있는 스위치라고 생각할 수 있겠습니다. (켜기=1, 끄기=0)

    하지만 비트 한 개는 많은 양의 데이터를 나타내기에 턱없이 부족합니다. 그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용합니다. 

    바이트(byte)는 여덟 개의 비트가 모여 만들어진 것입니다. 하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에 2^8 = 256 개의 서로 다른 바이트가 존재할 수 있습니다.

     

    데이터의 표현 

    출처 : www.boostcourse.org 

     

    문자의 표현

    컴퓨터는 0과 1밖에 모르는데 어떻게 문자를 표현할까요?

    사람들이 문자를 숫자로 표현할 수 있도록 정해진 약속(표준)을 했기 때문입니다. 

    ASCII(아스키코드/American Standard Code for Information Interchange)입니다.

     

    출처:wikipedia.org
    문자와 같이 그림, 영상, 음악도 숫자로 표현할 수 있습니다. 그림은 RGB 값으로 영상은 수많은 그림을 빠르게 연속적으로 이어 붙여서 표현하고 음악은 아날로그 신호를 디지털 표현으로 바꾸어서 표현합니다.

     

    알고리즘 

    알고리즘이란 입력값을 출력 값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열입니다. 

    일련의 순서적 규칙들을 어떻게 나열하는지에 따라 알고리즘의 종류가 달라집니다.
    같은 출력 값이라도 알고리즘에 따라 출력을 하기까지의 시간이 다를 수 있습니다.

    알고리즘은 한 번에 몰아서 하기 어려우니 조금씩 꾸준하게 공부해야 합니다..!

     

    의사 코드

    의사 코드(슈도 코드, pseudocode)는 프로그램을 작성할 때 각 모듈이 작동하는 논리를 표현하기 위한 언어입니다. 특정 프로그래밍 언어의 문법에 따라 쓰인 것이 아니라, 일반적인 언어로 코드를 흉내 내어 알고리즘을 써놓은 코드를 말합니다.

     

     

    1주 차 개인 미션

    스크래치로 간단한 프로그램 만들기를 진행하였는데 공 튀기기 프로그램을 만들었습니다.

    스코어가 높아질수록 공 개수가 추가되게 만들고 싶었는데 방법을 못 찾아 아쉬움이 많이 남습니다!

     

     

    https://scratch.mit.edu/projects/472811156/

     

    https://scratch.mit.edu/projects/472811156/

     

    scratch.mit.edu

     

    팀미션은 팀원들의 동의를 구한 후 올리도록 하겠습니다.. 

    "what ultimately matters in this course is not so much where you end up relative to your classmates but where you end up relative to yourself when you began"

     

    교수님의 명언과 함께 1주 차를 마치도록 하겠습니다!! 화이팅!

Designed by Tistory.