Learn How to Learn

ssolcode·2021년 8월 23일
2
post-thumbnail

0. 학습 툴 셋팅

  • ✅ 구글 캘린더 - 시간표
  • ✅ 디스코드 - 공지 및 페어 간 소통
  • ✅ 줌 - 라이브 세션
  • ✅ 깃허브 - 페어 프로그래밍을 위한 코드 공유
  • ✅ 노션 - 개인 페이지 정리 (나는 velog로 대체)
  • ❌ 대망의 우분투... 는 너 때문에 내가 맥북을 산다ㅠ


1. 페어 프로그래밍

말그대로 짝을 지어 하는 코딩으로, 실무에서 동료들과 함께 협업하는데 필요한 커뮤니케이션 능력을 갖추기 위한 훈련

👍 모르는 걸 모른다고 하기
👍 정해진 시간 내에는, 끝까지 동료를 포기하지 않고 설명해주기

>> 페어프로그래밍 순서

  1. 혼자서 개념 정리 해보기
  2. 정해진 시간이 되면, 페어에게 DM(디스코드)으로 연락하고 둘 중 한 명이 만든 줌 또는 구글밋 링크로 접속
  3. 역할 분배하기
    ㄱ. 전체적인 방향을 제시하는 🧭네비게이터
    ㄴ. 제시된 방향에 따라 화면을 공유하며 코드를 작성하는 🚘드라이버
    (즉, "드라이버"가 본인의 화면을 공유해주고 + 본인이 코드를 작성)
  4. 한 문제, 또는 정해진 시간 단위로 역할을 바꿔가며 과제 진행

>> "네비게이터"와 "드라이버"

🧭네비게이터

  • 숲을 보는 역할
  • 문제 해결을 위한 전체적인 방향 제시
  • 드라이버에게 코드를 어떻게 작성하는지 직접적으로 알려주기 보다,
    질문을 통해 드라이버 스스로 답을 찾을 수 있도록 유도
  • 드라이버가 적는 코드 중 실수(오타, syntax 에러 등)가 있다면 바로 피드백

🚘드라이버

  • 나무를 보는 역할
  • 네비게이터가 제안한 방향에 따라, 구체적인 해결방법 생각해보고 코드 작성
  • 이때 드라이버는 자신이 작성한 코드를 네비게이터에게 설명할 수 있어야 함


2. 수도(pseudo) 코드 작성하는 습관

수도 코드(의사 코드)는 프로그래밍 언어로 코드를 작성하기 전에,
무엇을 어떤 과정을 통해 만들지 "사람의 언어"로 먼저 작성하는 것

👍 코플릿 한 문제 당 최소 40분은 붙들고 있기
👍 이짓저짓 다 해봐도 안 풀릴 때 레퍼런스 보기
👍 레퍼런스 안 보고 스스로 다시 작성해보기

>> 왜 수도코드를 작성해야하지?

물론 현업에서도 몇 줄 안 되는 간단한 코드를 위해서 수도코드를 짜진 않을 것이다. 다만, 큰 규모의 계획에는 디자인적인 요소부터 세세한 기능까지 사전에 미리 "계획"을 해두고 개발이 착수된다. 단순한 사칙연산은 손을 쓰지 않고도 암산해내지만, 난이도가 높아질수록 우리는 해당 문제에 어떻게 접근할지 단계를 쪼개서 생각해볼 필요가 있다. 당장은 시간 낭비 같이 보일지라도, 결국에는 정답에 도달하는 가장 빠른 지름길이 되어줄 것이다. 이러한 과정이 없이 바로 문제 풀이에 덤비다가는 갈 곳 잃은 눈과 손을 마주하게 될 것이니...

"어떻게 풀어야 할지 감은 오는데 막상 어떻게 코드를 짜야할 지 모르겠다"
라는 고민이 들었다면, 수도코드를 작성해보자!

>> 왜 수도코드 작성이 어렵지? -> 훈련이 안 돼서.

  • 1+1 과 같은 쉬운 문제 단계부터 암산이 아닌 수도 코드 작성하는 훈련
  • 수도 코드에 정답은 없다
    ex) 냉장고에서 물 좀 가져와
    냉장고 문을 연다 -> 냉장고 속에 물이 있는지 확인한다
    -> 물이 있으면 집어들고 -> 문을 닫고 -> 나한테 갖다줘


3. 학습 전략

내 성향에 맞는 학습 전략 세우고 효율적인 공부로 가는 지름길 다지기

👍 선배들의 블로깅 적극 활용 (내 공부 미리보기)
👍 블로깅을 통해 예습과 복습 두 마리 토끼 잡기
👍 체크박스를 통해 배운 개념에 대한 이해 여부 표시
👍 도무지 이해가지 않는 개념은 "일단 멈추고 주말에 해결"

  1. 그날 하루의 공부를 마무리하면서, 구글 캘린더에 올라온 내일의 시간표를 보고 각 챕터 별 핵심 키워드 추출해서 블로그에 정리하기

  2. 해당 키워드가 태그된 선배들의 TIL을 보며 내일 나는 대략 어떠한 내용을 배우는지, 선배들은 이 챕터를 어떻게 느꼈는지 "미리보기"
    -> 새로운 개념에 대한 두려움 해소 + 나만 어려운게 아니라는 위로감ㅠ

  3. 다음 날, 실제 공부를 진행하면서 전 날 블로그에 미리 정리해둔 키워드 안에 세부적인 개념 채워넣기 (Acheivement Goal 참고해도 됨)

  4. 각각의 세부적인 개념에 체크박스를 붙여 이해된 내용과 이해되지 않은 내용을 구분
    ✅ 이해했다 = 배운 내용을 말로 설명해 낼 수 있다.

  5. 이해되지 않은 내용은
    1단계 : URCLASS를 다시 본다
    2단계 : 검색을 통해서 해결한다
    3단계 : 코드스테이츠에 질문한다(아고라 스테이츠, 라이브 세션)
    그럼에도 이해가 안 가는 문제는 일단 멈춰!🖐 주말을 이용해 해결!


    썸네일 제작기 by oneook
profile
인생 개발것...

0개의 댓글