MOOC 17

Search Engine Optimization 강의 수강 시작하면서

링크 코세라에서 SEO 강의를 묶어서 specialization으로 판매하는데 얼른 취소하고 non-certication으로 신청한 SEO 입문 강의 Search Engine Optimization이라고 해서 아하 검색 엔진을 만들어서 최적화하는건가 했는데 만드는건 하는지 모르겠지만 배우는 내용은 얼추 비슷하다. 구글, 바이두, 네이버 같은 검색 엔진을 타겟팅해서 높은 순위로 검색이 되게끔 하는 것이고 여기에는 브라우저, 검색 엔진, 웹 기술의 전문적 이해가 필요하다고 한다. 또한 이 직업이 떠오르고 있다는 것(유망하다고)을 보여준다. 재밌어보인다.(사실 컴퓨터로 하는건 다 재밌다...)

Unit 1, 2 내용 및 단어 정리

exascale(exa + scale) : 10^18 assumption : 1. 추정, 상정 coherency : 일관성 primitive : 초기의, 원시적 단계의 carry out : 수행하다 residue : 1. 잔여물, 2. 잔여 유산 mnemonic : 연상 기호 procedural langauge - "sequence of specific instruction" 1. Syntax vs Semantic Syntax : "what are legal expression" ex) "cat", "dog" - o / "doggg" - x Semantic : "what programs are meaningful", "what does the program", using try-catch in seman..

Unit 1. discrete structure 들어가며, 단어 정리

The principal topics presented in this course are logic and proof, induction and recursion, discrete probability, and finite state machines Unit 1에 들어가기 앞서 코스 소개를 읽어보니 주요 주제 중 하나에 finite state machine이 있다. 어디서 들어본 것 같은 멋진 단어인데, wiki를 찬찬히 읽어보다가 Automata가 나왔다. 뭐 정규 표현식, Artificial Intelligent, Artificial Life, Generic Algorithm 같이 맛만 봤던 것들도 눈에 띄었지만, 결론은 뭔지 잘 모르겠다. 컴파일러, 알고리즘, 인공지능에 사용되는 자동 기계 정도....

Unit 7. quick sort + binary tree using python

파이썬으로 직접 구현한 quick sort와 binary tree 입니다. 아래 문서에서 Integer Overflow, exception 등이 재밌어 구현해봤습니다. 문서 출처는 MIT, Saylor.org 입니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263import random # use a mid point pivot# recursion# O(n log n)def quickSort(List): # base case if len(List) pivot: more.append(el) elif el

C++ Programming 통과~

문제가 너무 쉬웠다. C에 대한 무한한 자신감을 가지고 있는 필자에게 C++ 코드를 제시하고 result를 예측하라는 문제들은 아주 고마웠다. 그외에도 C와 Java에서 한 것들을 토대로 무리없이 넘어갔다. STL에 대해서 거의 안물어보고 C++의 문법과 주요 키워드들에 대해 물어봐서 여유롭게 통과했다. 기억에 남는건 union 키워드의 의미, 이런 키워드는 처음봤으니, 합집합인가 해서 그런 뜻으로 골랐는데 틀림... new 키워드 사용할 때 fail날 경우 exception을 던지는 대신 NULL pointer를 던지는 것을 세팅할 때 new 앞에 "nothrow" 메소드를 사용한다고 한다. 근데 틀린 것들도 이클립스에서 디버그 어떻게 하는지, 그런 것들이고 문제에 오류가 있는 것들도 4개정도 보여 딱..

MOOC 2017.01.16

Introduction of Computer Science 2 中

Java에 대한 내용이었던 Introduction of Computer Science 1 과목은 이미 알고있던 내용이기에 oop에 대한 것들만 보고 시험치니 통과되었고, Elementary Data Structure 과목도 목차만 대충 훑어보니 Hash Table, Graph 이외에는 다 아는 내용이라 그냥 쳐보니 70점으로 턱걸이 통과했다. 물론, hash table이나 graph, tree 같은 것들은 flag가 다수 들어갔다. 확실히 봐야할 듯 Introduction of Computer Science 2에선 c++랑 Java, Python이 혼재되 나오는데 파이썬이나 자바는 주로 쓰는 언어라 익숙하지만 c++은 거의 초면이기에 다년간 쌓인 C와 Java로 기본적인건 커버되지만 STL을 안보고 시험..

MOOC 2017.01.16

Unit 5. Assessment Review

5장의 평가 문제에서는 Recursion의 구조, 불변 데이터와 Recursion을 왜 사용하는지에 대해 피드백합니다. Q4. List the two ways in which recursion is used in Computer Science. Recursion is used in Computer Science to both describe a problem(that is, the requirements) and to design a solution to that problem(D & C) Q5. A recursive function defined in two parts. Name the two parts. The two parts are the base case(s) and the recursive s..

Unit 5.1.2 John Guttag's "Recursion Lecture Notes"

재귀에 대한 모든 것을 맛볼 수 있는 John Guttag 교수님의 "Recursion Lecture Note"를 리뷰합니다. Recursion Implementation Topic 1. reetrant code2. recursion vs iteration3. relation of recursion to the functional and imperative programming paradigm4. common mistakes in programming recursion Structure of Recursive Implementation 1. base case 2. recursive step Q. Recursive methods have a base case and recursive step what ot..

Unit 4. Assesment Review

4장의 평가 문제를 피드백하겠습니다. 예외 처리가 발생하는 이유, Assertion에 대해 정리합니다. Q1. Explain what an exception is and what happens when one occurs. An exception is an interruption of the execution of a program. This can be caused by a hardware failure, a software error, or human intervention. When an exception or interrupt occurs, the runtime system (the hardware and software that manage the execution of programs) tra..