전체 글 92

[이산수학] Mathematical Thinking in computer Science 수료증

처음으로 받은 수료증! 뿌듯하다. 이 강의를 들으며 어떻게 수학과 컴퓨터를 연결해야 하나 공부할 수 있었다. 단순히 원서로만 공부할 때와 달리 대화형으로 진행되는 커리큘럼에 만족했다. 퀴즈를 풀고 그 퀴즈가 맞았는지 확인하는 과정을 통해 수학에 대한 흥미가 생겼다. 이제 다음은 조합론과 확률이다. 이산수학을 꼼꼼하게 공부해서 컴퓨터과학의 기초를 쌓아야지.

[이산수학] Mathematical Thinking in computer Science 5주차

Summary. Invariants are important tools for proving impossibility, termination, and various bounds. 불변량은 불가능성, 종료 등의 문제를 해결하는데 중요한 도구이다. Invariants may take many forms: numbers, "parity", equations, inequalities. 불변량은 숫자, 패리티, 등호, 부등호 등 다양한 형태일 수 있다. To prove impossibility, one finds a quantity that never changes during a process. 불가능성을 증명하기 위해 과정 동안 바뀌지 않는 양을 찾는다. To prove that a process termin..

[SEF2023] DAY 1. LEARN 당신도 배울 수 있습니다 강연 정리

경제학과 출신, 네이버 로봇 자율주행 개발자 되다 김건우 (네이버랩스 로봇 자율주행 개발자) 시작한 이유 컴퓨터에 흥미를 느껴 복수전공을 시작했음 주변 사람을 가르쳐주는 것에 흥미가 있었음 -> 내가 하는 일이 다른 사람들에게 효용을 주었으면 좋겠다 어려움 복수전공 1학기 때 수업이 괜찮아 공부하지 않고 2학기를 맞이함 자료구조, 어셈블리 등을 마주하며 어려워짐 친구의 조언으로 인해 다시 마음을 잡고 공부함 학습 팁 이해가 안되면 외운다 외운 게 이해가 되면 누구에게 발표한다 (장기기억) 경제학과가 도움이 된 점 수학 (미적분, 선형대수학, 통계 등) 로봇에 관심을 가지게 된 계기 네이버 랩스 대표님 유튜브 영상 RC카 만들기 프로젝트에 참여 자율주행 로봇에 관심을 가져 일 시작 로봇자율주행 locali..

강연 기록 2023.09.06

[이산수학] Mathematical Thinking in computer Science 4주차

예, 반례 논리 명제를 참임을 증명하기 위해 하나의 예만 있으면 되는 경우 ex. 흰 사자가 존재한다. 명제가 거짓임을 증명하기 위해 하나의 반례만 있으면 되는 경우 ex. 어떤 사자도 초록색이 아니다. 오일러의 거듭제곱의 합 추측 n>2인 정수에 대하여 논리 연산자 negation 부정 conjunction 그리고(and) disjunction 또는(or) implication 만약 그렇다면(if...then) 드모르간의 법칙 정리 하나의 예는 존재명제를 증명하기에 충분하다. 하나의 반례는 한정명제를 반증하기에 충분하다. Negation, AND, OR, and Implication (If-Then) 는 기본적인 논리연산자다. AND의 부정은 OR 이다. OR의 부정은 AND다. 존재명제의 부정은 한정..

[이산수학] Mathematical Thinking in computer Science 3주차

Recursion 재귀 팩토리얼 함수는 양의 정수 n에 대해 1~n까지의 합이다. (n!) 팩토리얼 함수의 재귀는 n! 를 if n=1일 때 1 (base case) , if n>1일 때 nX(n-1)! 재귀함수에는 base case가 있어야 하고 parameter(매개변수)가 존재해야 한다. 문제) Coin problem 8 이상의 모든 돈이 3과 5로만 이루어질 수 있다 → 8, 9, 10의 경우만 확인하면 그 뒤로는 3을 더하면 된다. def change(amount): if amount == 24: return [5, 5, 7, 7] if amount == 25: return [5, 5, 5, 5, 5] if amount == 26: return [5, 7, 7, 7] if amount == 27..

[이산수학] Mathematical Thinking in computer Science 2주차

예시를 찾는 방법 문제) Magic Squares : 가로 세로 대각선의 합이 같음 1~n^2까지 해설) 범위를 좁히기 - 1~9까지 더하고 3으로 나눈 수가 각 줄의 합이 됨(15) 가운데 숫자는 15/3=5 줄의 합이 될 수 있는 조합을 확인해 문제를 해결한다. 문제) Multiplicative Magic Squares : 만약 곱이라면? → 2^x+y = 2^x * 2^y 활용 문제) 100으로 시작하고 9127로 나누어지는 6자리숫자 찾기 문제) 7/13 플로린 코인으로 1플로린, 2플로린 만들기 문제) Paths in a Graph 최적성 Optimality a가 최적이라는 사실에 대한 증명 1. Existential statement : a를 달성하는 방법이 존재한다. 2. Universal ..

[이산수학] Mathematical Thinking in computer Science 1주차

증명(proof) 수학자에게 증명이란 기본 도구이지만 프로그래머에겐 더 의심 많은 것이다. 증명이란 다른 사람들에게 것을 사용하기 위한 준비가 되었음을 확신하게 하는 논쟁이다. 어떻게 증명을 이해하고 발견하고 설명하고 즐길지 공부할 예정이다. 문제) 88체스판을 12 타일로 채우기 (비는 칸과 겹치는 칸 없도록) → 타일채우기가 불가한 경우를 증명해보자 코너 1칸만 잘릴 경우 항상 1칸이 남는다. 8*8-1=63 (홀수) → 불가능함을 증명할 수 있음 서로 대각선에 있는 코너 2칸이 잘린 경우 2칸이 남는 경우가 생긴다. → 체스보드의 같은 색이 사라질 경우에는 타일 채우기가 불가능함.(1*2 타일에서 검정, 흰색이 하나의 짝이 되므로) 정리 → 대각선 두 코너가 없는 88 체스보드는 12 도미노로 채워..

[이직기록] 2023년 하반기 개발 공부 계획 수정

그간 포스팅이 뜸했다. 마음의 정화를 위해 8월 중순부터 여행을 잔뜩 다녀왔다. 제주도 여행과 부산 여행을 통해 마음이 조금이나마 가벼워졌다. 이제 9월, 다시 달릴 시간. 이산수학 강의를 듣다가 이상한 부분들을 발견했다. 강의 앞뒤가 잘려 있어 숙제를 못 듣거나 ppt에 빠진 내용이 있었던 것. 그래서 조금 더 최신 자료를 이용하고자 coursera를 검색했다. 내가 선택한 과정은 Introduction to Discrete Mathematics for Computer Science이다. 이 강의에는 5개의 강좌가 포함되어 있다. 1. Mathematical Thinking in Computer Science (6주) 2. Combinatorics and Probability (6주) 3. Introd..

이직 기록 2023.09.02

[독서기록] 개발자가 되고 싶습니다

개발자가 되고 싶습니다 비전공자도 할 수 있는 개발자 취업의 모든 것 2023년 4월말에 출간된 따끈따끈한 신간이다. 개발자라는 목표를 확실히 정하기 위해서 책을 찾기 시작했다. 내가 이 길을 걸어도 될지 글을 읽으며 생각해보고 싶었기 때문이다. 비전공자도 할 수 있다는 말에 끌려서 이 책을 구입하기로 했다. 밀리의 서재를 구독한 뒤로는 거의 종이책을 읽지 않았다. 읽더라도 도서관에서 빌려서 보는게 대부분이었는데 출간되고 얼마 지나지 않아 도서관에서 찾을 수 없어 결국 이 책을 구매했다. 이 글의 지은이인 앨런은 서른 중반의 나이에 개발자에 도전한 사람이다. 현재 인프런에서 강의를 하고 있는 것으로 알고 있다. 실제 비전공자에서 개발자가 된 사람의 이야기라니! 더욱 더 책에 끌렸다. 책의 표지를 보면 이..

독서 기록 2023.08.12

[독서기록] 비전공자를 위한 이해할 수 있는 IT 지식 (2)

비전공자를 위한 이해할 수 있는 IT 지식 복습 웹(Web) 웹의 기본 - HTML : 운영체제에 상관없이 브라우저만 있다면 웹사이트에 접속해 동일한 정보를 볼 수 있음 - 태그 : 정보를 표현하기 위한 코드 - HTML은 프로그래밍 언어가 아님, 브라우저가 볼 수 있는 문서를 적는 언어임 - CSS : HTML에 디자인을 입힐 수 있는 코드 - HTML + CSS = 퍼블리싱 작업, 마크업 작업 - JavaScript (js) : 실시간 검색어 목록 조회, 인터넷 속도 조절 등 역할 - 새로 고침 = HTML, CSS, JavaScript 다운로드 받는 것 - 웹은 수정이 용이하나 항상 새로 고침을 해야 함 - 앱은 업데이트를 해야하지만 네트워크의 영향을 조금만 받음 브라우저 - 대표 브라우저 : 크롬..

독서 기록 2023.08.10