20歳を過ぎてからプログラミングを学ぼうと決めた人たちへ | 講演のビデオ(を見てから読むことをお勧めします

Embed Size (px)

DESCRIPTION

講演のビデオはこちらhttp://j.mp/20code 講演は60分にしろと言われたので、60分で終わる長さにしました。280枚もあるのはスライドをわけてMagic Moveを多用したからです

Citation preview

  • Slidesharehttp://j.mp/20code2801

20 20 , 23 , 2312 , 2312 18 18 1 : C 18 1 :C 2/3 : Apple/Facebook 18 1 :C 2/3 : Apple/Facebook 4 : 20 OUTLINE20 1. OUTLINE20 1. 2. OUTLINE20 1. 2. 3. OUTLINE20 1. 2. 3. SOFTWARE SOFTWARE SOFTWARE - 2001 SOFTWARE- 2001 / /DNA- 2011 MAKINDEFacebook ( ) MAKINDEFacebook ()(2011/2~2011/4) MAKINDEFacebook( ) (2011/2~2011/4) Dropbox (2011/7~) MAKINDE(Bridge International Academies) MAKINDE(Bridge International Academies) 4 MAKINDE(Bridge International Academies) 4 ... ... ... ... emTioemD Chrome Chrome Chrome ? OUTLINE20 1. OUTLINE20 1. OUTLINE20 1. 2. 3. ? ? ? ? ? 1. 1. 1. - 1. - 2. 2. 2. - iPhone1iPhone 2 iPhone3iPhone 4Java 1Java 2 Java3 Java 2. - iPhone iPhone iPhone iPhone iPhone 12345 2. - iPhoneiPhoneiPhone iPhone iPhone 1 2 345???1???2 ??? 3 2. - iPhoneiPhoneiPhone iPhone iPhone 1 2 345???1???2 ??? 3 3. 3. 3. - 3. - 3. - 3. - 3. - 3. - 3. - 3. - 3. - 3. - UNIX OS 3. - ? ??? 3. - UNIX OS : 3. - UNIX OS : ? ? ? ? : ? : ? : ? ? : ? Jump Math Jump Math8 Jump Math8 Jump Math8 6 75 75? 75?-7 + 5 = -2 Jump Math Jump Math75 Jump Math75?? Jump Math75??-7 + 5 Jump Math75??-7 + 51 1 2 3 1 2 31 1.5 2 2.5 3 ? : ? ? : ?Codecademy.com : ? : ?Codecademy.com OUTLINE20 1. 2. OUTLINE20 1. 2. ? = v.s. = OUTLINE20 1. 2. 3. ? :?? ? :??: Khan Academy ? :??: ? 1. 2. ( ) !Randal Bryant, Klaus Sutner, Mark Stehlik (2010 )http://link.cs.cmu.edu/les/ugrad-report.pdf !Randal Bryant, Klaus Sutner, Mark Stehlik (2010 )http://link.cs.cmu.edu/les/ugrad-report.pdf Dr. Bob Harperhttp://existentialtype.wordpress.com/2011/05/04/the-semesters-over/ Dr. Bob Harperhttp://existentialtype.wordpress.com/2011/05/04/the-semesters-over/ ? Functions ( ) Functions ( ) ? ?Functions ( ) ~12https://github.com/shuuesugi/cc-hack:Sinatra, CoeeScript, Backbone, Slim, SCSS,Twitter Bootstrap, Processing.js,Twitter API, rest-client, Backbone Localstorage Wikipedia 10 D em o Ti m eLESSON 1 LESSON 1 :5 D em o Ti m eLESSON 2 LESSON 2 : % DemoTimeLESSON 3Variables LESSON 3Variables :a = 5a 5 LESSON 4Functions, Part 1 54 emTioemD4=4x5 5 LESSON 4Functions, Part 1 : (tate/yoko) LESSON 4Functions, Part 1 : (tate/yoko) LESSON 4Functions, Part 1 : (tate/yoko) 45 DemoTime4=(5 x 4)/25 LESSON 4Functions, Part 1 : (tate/yoko) LESSON 4Functions, Part 1 : (tate/yoko) LESSON 4Functions, Part 1 : (tate/yoko) DemoTimeLESSON 5Functions, Part 2 LESSON 5Functions, Part 2:Functions LESSON 5Functions, Part 2:Functions tate/yoko 45 emTioemD54 LESSON 5Functions, Part 2:Functions LESSON 5Functions, Part 2:FunctionsFunctions emTioemD Functions FUNCTIONFunctions FUNCTIONFunctionsFUNCTIONFUNCTION FUNCTIONFUNCTION D em o Ti m eLESSON 6List LESSON 6List : LESSON 7List [1, 2, 3][10, 20, 30] D em o Ti m e[1, 2, 3]Function10[10, 20, 30] LESSON 7List : function LESSON 7List : functionfunction.map(list) LESSON 7List : functionfunction.map(list)function list [1, 2, 3]x10 x10 x10[10, 20, 30] LESSON 7List : functionfunction.map(list)function list [1, 2, 3]x10 x10 x10[10, 20, 30] D em o Ti m eLESSON 8If LESSON 8 If: if== [4, 1, 5, 3, 2][0, 1, 1, 1, 0] [4, 1, 5, 3, 2]0[0, 1, 1, 1, 0] [4, 1, 5, 3, 2]0 1[0, 1, 1, 1, 0] D em o Ti m e[4, 1, 5, 3, 2] 0Function 10 1[0, 1, 1, 1, 0] QUIZ : QUIZ: function.map(list) function list[4, 1, 5, 3, 2] 0 1[0, 1,1, 1, 0] LESSON 9List [4, 1, 5, 3, 2] [4, 1, 5, 3, 2]4+1+5+3+2 = 15 [4, 1, 5, 3, 2]4+1+5+3+2 = 15 [4, 1, 5, 3, 2] [4, 1, 5, 3, 2] [5, 5, 3, 2] [4, 1, 5, 3, 2] [5, 5, 3, 2][10, 3, 2] [4, 1, 5, 3, 2] [5, 5, 3, 2][10, 3, 2] [13, 2] [4, 1, 5, 3, 2] [5, 5, 3, 2][10, 3, 2] [13, 2] [4, 1, 5, 3, 2] [5, 5, 3, 2][10, 3, 2] [13, 2]15 [4, 1, 5, 3, 2] [5, 5, 3, 2] :function[10, 3, 2] [13, 2]15 [4, 1, 5, 3, 2] [5, 5, 3, 2] : function[10, 3, 2]List [13, 2]15 D em[4, 1, 5, 3, 2] o Ti m e [5, 5, 3, 2] :function[10, 3, 2] Reduce List [13, 2]15 [4, 1, 5, 3, 2] add.reduce([4,1,5,3,2]) [4, 1, 5, 3, 2] add.reduce([4,1,5,3,2])add(4, 1) = 5 [5, 5, 3, 2] [4, 1, 5, 3, 2] add.reduce([4,1,5,3,2])add(4, 1) = 5 [5, 5, 3, 2]add(5, 5) = 10[10, 3, 2] [4, 1, 5, 3, 2] add.reduce([4,1,5,3,2])add(4, 1) = 5 [5, 5, 3, 2]add(5, 5) = 10[10, 3, 2]add(10, 3) = 13 [13, 2] [4, 1, 5, 3, 2] add.reduce([4,1,5,3,2])add(4, 1) = 5 [5, 5, 3, 2]add(5, 5) = 10[10, 3, 2]add(10, 3) = 13 [13, 2]add(13, 2) = 1515 [4, 1, 5, 3, 2]LESSON 9 [5, 5, 3, 2] List : function[10, 3, 2]function.reduce(list)List function [13, 2]15 LESSON 10Map Reduce [4, 1, 5, 3, 2] [4, 1, 5, 3, 2] 3 [4, 1, 5, 3, 2]:Map Reduce 3 [4, 1, 5, 3, 2]0 1[0, 1, 1, 1, 0] [4, 1, 5, 3, 2]0 1[0, 1, 1, 1, 0] [4, 1, 5, 3, 2]0 1[0, 1, 1, 1, 0] DemoTime[4, 1, 5, 3, 2] [4, 1, 5, 3, 2]0 1[0, 1, 1, 1, 0]30+1+1+1+0 [0, 1, 1, 1, 0] add.reduce([0,1,1,1,0]) [0, 1, 1, 1, 0] add.reduce([0,1,1,1,0])add(0, 1) = 1 [1, 1, 1, 0] [0, 1, 1, 1, 0] add.reduce([0,1,1,1,0])add(0, 1) = 1 [1, 1, 1, 0]add(1, 1) = 2[2, 1, 0] [0, 1, 1, 1, 0] add.reduce([0,1,1,1,0])add(0, 1) = 1 [1, 1, 1, 0]add(1, 1) = 2[2, 1, 0]add(2, 1) = 3[3, 0] [0, 1, 1, 1, 0] add.reduce([0,1,1,1,0])add(0, 1) = 1 [1, 1, 1, 0]add(1, 1) = 2[2, 1, 0]add(2, 1) = 3[3, 0]add(3, 0) = 3 3 LESSON 10Map Reduce:Map Reduce FUNCTION FUNCTIONFunctionsFUNCTIONFUNCTION FUNCTIONFUNCTION FUNCTION MAP FUNCTIONFunctionsIFLISTList, If, Map, ReduceFUNCTIONFUNCTIONREDUCE MAP FUNCTIONFUNCTION Wikipedia Twitter 3 DemoTime 3twitter_count(haruna26) 3 9 -17 DemoTime 39 -17twitter_times(haruna26) twitter_times(haruna26)[45,44,40,35,30,27,24,12,2334,2332,2322,2318,2238,2231,2220,2214,2213,2207,2206,2205,2204,2203,2146,2145,2139,2135,2131,2127,2123,2122,2120,2118,2116,2112,2105,2054,2040,2036,2031,2025,2019,2011,2008,2005,1959,1952,1948,1945,1937,1929,1757,1755,1429,1354,1053,125,124,2152,2112,2111,2013,1931,1828,1731,1721,1621,1608,1606,1602,1556,1551,1549,1545,1544,1527,1522,1518,1516,1247,904,101,57,27,21,2149,2148,2004,1921,1826,1741,1626,1425,1409,1408,1253,1239,1048,1045,1018,956,955,955,835,827] twitter_times(haruna26)[45,44,40,35,30,27,24,12,2334,2332,2322,2318,2238,2231,2220,2214,2213,2207,2206,2205,2204,2203,2146,2145,2139,2135,2131,2127,2123,2122,2120,2118,2116,2112,2105,2054,2040,2036,2031,2025,2019,2011,2008,2005,1959,1952,1948,1945,1937,1929,1757,1755,1429,1354,1053,125,124,2152,2112,2111,2013,1931,1828,1731,1721,1621,1608,1606,1602,1556,1551,1549,1545,1544,1527,1522,1518,1516,1247,904,101,57,27,21,2149,2148,2004,1921,1826,1741,1626,1425,1409,1408,1253,1239,1048,1045,1018,956,955,955,835,827] twitter_times(haruna26)[45,44,40,35,30,27,24,12,2334,2332,23 [0,0,0,0,0,0,0,22,2318,2238,2231,2220,2214,2213,2207 0,0,0,0,0,0,0,0,2206,2205,2204,2203,2146,2145,2139,2 ,0,0,0,0,0,0,0,135,2131,2127,2123,2122,2120,2118,211 0,0,0,0,0,0,0,06,2112,2105,2054,2040,2036,2031,2025, ,0,0,0,0,0,0,0,2019,2011,2008,2005,1959,1952,1948,19 0,0,0,0,0,0,0,045,1937,1929,1757,1755,1429,1354,1053 ,0,0,0,0,0,0,0,,125,124,2152,2112,2111,2013,1931,182 1,1,1,0,0,0,0,08,1731,1721,1621,1608,1606,1602,1556, Map ,0,0,0,0,0,1,1,1551,1549,1545,1544,1527,1522,1518,15 1,1,1,1,1,1,1,116,1247,904,101,57,27,21,2149,2148,20 ,1,1,1,1,1,0,0,04,1921,1826,1741,1626,1425,1409,1408 0,0,0,0,0,0,0,0,1253,1239,1048,1045,1018,956,955,955 ,1,1,1,1,1,1,1,,835,827] 1,1,1,1,1,0,0] twitter_times(haruna26)[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1, Reduce1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0] D em o Ti m eOne More Thing ONE MORE THING ? FUNCTION FUNCTION?Functions ( )FUNCTIONFUNCTION FUNCTIONFUNCTION ?Functions ( ) Functions ( ) OUTLINE20 1. 2. 3. Functions 1 2 : v.s. 3 : FunctionFUNCTION FUNCTIONFUNCTIONFUNCTION FUNCTIONFUNCTION : FunctionFUNCTION FUNCTIONFUNCTIONFUNCTION FUNCTIONFUNCTION 20