Week 01 Introduction to Social Computing Joonhwan Lee human-computer interaction + design lab.
(Social Computing)? (programming)? (Python)? (Python).
1.
TA : Email: joonhwan@snu.ac.kr Office: 64 405 TA:, http://hcid.snu.ac.kr/courses/socialcomp2016/ 4
(social computing) (large data analysis),. (Python), (web technology),. 5
(web technology) (social data mining) 6
http://hcid.snu.ac.kr/courses/socialcomp2016/ 7
http://hcid.snu.ac.kr/courses/socialcomp2016/ 8
2. (Social Computing)?
Social Computing Group of university researchers to make web science a field of study - Steve Lohr, New York Times, Nov. 2, 2006 - http://www.nytimes.com/2006/11/02/technology/02compute.html? _r=3&adxnnl=1&oref=slogin&adxnnlx=1212113936-dbhs7wsdpyrjcc4d1pzxmw& 10
Social Computing Web science, the researchers say, has social and engineering dimensions. It extends well beyond traditional computer science, they say, to include the emerging research in social networks and the social sciences that is being used to study how people behave on the Web. And Web science, they add, shifts the center of gravity in engineering research from how a single computer works to how huge decentralized Web systems work. 11
Social Computing Computer science is at a turning point, and it has to go beyond algorithms and understand the social dynamics of issues like trust, responsibility, empathy and privacy in this vast networked space. - Ben Shneiderman, a Professor at the University of Maryland 12
Social Computing Social computing is an area of computer science that is concerned with the intersection of social behavior and computational systems. Social computing is the collaborative and interactive aspect of online behavior. - Wikipedia, http://en.wikipedia.org/wiki/social_computing 13
Why Social Computing? Facebook: 13 (2014) DAU(Daily Active User): 8 4 2 8 (2014) 5 2011 53%, 2012 80%,, social media 14
Why Social Computing? 2.0,,, (Collaborative Filtering), (Recommendation), (Forecasting), (Reputation) 15
,, : Java, Song, Finin, & Tseng, 2007; Naaman, Boase, & Lai, 2010; Zhao & Rosson, 2009. 16
why -? follower-following study, homophily study, depression study, github study what -? text mining, opinion mining, word network analysis how -? social viewing and political judgements study? 17
Analyzing Connections Social Network Analysis Reachability Distance & Number of Paths Degree of Node Centrality Morphology Changes 18
Analyzing Activities. :?? API : Depression Study of Facebook Users - Depression Measure: CES-D - Facebook activities number of likes, number of comments, how often they login to facebook, how often they change their profile picture, how much comments they receive in a day 19
Analyzing Activities Linear model analysis Yi : survey results Xij : independent variables (crawled data) 20
Analyzing Messages? Text mining frequency text categorization topic extraction Opinion mining (sentiment analysis) computational study of opinions, sentiments : / Activity, Predicting Postpartum Changes in Emotion and Behavior via Social Media (de Choudhury et al. 2013) 21
3. (programming)?
Ciao Espresso~ $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 $3,000 fully automatic serves 2 shots $3,000 or more? 23
Ciao Espresso~ 24
Ciao Espresso~ Short Instruction portafilter. 25
Ciao Espresso~ portafilter portafilter portafilter 26
Ciao Espresso~ portafilter portafilter portafilter 27
Ciao Espresso~ 28
(Programming) CPU, CPU (instruction sets) (instruction), 29
(Programming Language) A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. - wikipedia (http://en.wikipedia.org/wiki/ Programming_language) 30
(Programming Language) (programming) (compiler) ( ) (Low-level Language) (High-level Language) 31
(Programming Language) (Low-level Language) CPU : (Machine Language), / Machine Language ( ) Assembly Language Machine Language 169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 241 96 BASIC 5 FOR I=1 TO 1000: PRINT "A";: NEXT I 32
(Programming Language) (Low-level Language) Assembly Language section.text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 CPU/OS mov eax,1 int 0x80 section.data msg db 'Hello, world!',0xa len equ $ - msg 33
(Programming Language) (High-level Language) (CPU) Fortran, Cobol, C, Pascal, Basic, C++, Java, Processing, Objective-C, Python, Ruby 34
(Programming Language) #JAVA public class HelloWorld { public static void main(string[] args) { System.out.println("Hello, World!"); } } #ANSI C #include <stdio.h> #Objective-C/Cocoa #import <Foundation/Foundation.h> /* Hello */ int main(void) { printf("hello, World!"); return 0; } int main (int argc, const char * argv[]) { NSLog(@"Hello, World!"); return 0; } #Ruby puts "Hello, World!" http://www.scriptol.com/programming/hello-world.php 35
(Compiler) (Source Code) (Object Code) Object Code:.exe,.com,.app (mac os x) decompile... (decompile: ), compile 36
(Interpreter) Compiler BASIC Ruby Python JavaScript CPU / 37
FORTRAN (FORmula TRANslator): 1954, ( ). COBOL:, 38
Procedural Programming Language ( ),,, Structured Program ( ) if/else, for, while : Pascal, C, BASIC, PL/1, Ada 39
C Language 1970 AT&T Bell Lab UNIX C++ Objective-C,, 40
Object Oriented Programming Language ( ) OOP : ( ) (Object), (method) Class X Objective-C, SmallTalk, C++, Java, C# 41
C++ 1980 AT&T Bell Lab C,, Java 1980 Sun Microsystems,, OS ( ) Byte Code JavaVM (Platform independent) 42
? We believe every child should have the opportunity to learn computer science, from primary school up to and including further education. We teach elementary physics to every child, not primarily to train physicists but because each of them lives in a world governed by physical systems. In the same way, every child should learn some computer science from an early age because they live in a world in which computation is ubiquitous. A crucial minority will go on to become the engineers and entrepreneurs who drive the digital economy, so there is a complementary economic motivation for transforming the curriculum. The Guardian, March 31, 2012 (http://www.guardian.co.uk/education/2012/mar/31/manifesto-teaching-ict-education-minister) 43
? : computational thinking understanding difference between human and artificial intelligence algorithms, cryptography, machine intelligence, search, computational X (http://www.guardian.co.uk/education/2012/mar/31/why-kids-should-be-taught-code) 44
?,,., (data driven research)..,. 45
?,,... 46
4. (Python)?
(Python) 1991 Guido van Rossum OOP,,,,! (mac, windows, linux ) 48
Python 2 or Python 3? Python 2. ( ) Python 2 Python 3 Python 3 ( Python 3 ) print(" ") vs print " " for i in range(10): vs for i in xrange(10): 49
Python : http://kybin.github.io/ translatediveintopython3korean/installing-python.html 50
4. (Python)
CMD & Terminal Windows Mac OS X command line tool Windows: cmd Mac: Applications Utilities Terminal Python Terminal 52
CMD & Terminal CMD Terminal example cd cd cd.. cd Documents cd ~/Desktop / dir ls - mkdir rmdir rename mkdir rmdir mv mkdir temp rmdir temp rename temp1 temp2 mv temp1 temp2 copy cp copy temp1 temp2 cp temp1 temp2 53
Text Editors. =. ( : x, x, x, x), Mac: TextMate, Smultron PC: SciTE, notepad++ 54
Atom https://atom.io/ 55
My First Python Program! text editor (cd < >) python < > python 56
My First Python Program! interactive shell mode 57
My First Python Program! - Jupyter Notebook : pip install jupyter : ( ) jupyter notebook 58
Jupyter Notebook 59
: https://wikidocs.net/book/1 CodeCademy: https://www.codecademy.com/ko/ tracks/python-ko Coursera:https://www.coursera.org/learn/interactivepython-1 Learn Python: http://www.learnpython.org/ reference https://docs.python.org/3/ 60
CodeCademy https://www.codecademy.com/learn/python https://www.codecademy.com/ko/tracks/python-ko 61
TODOs Command Shell CMD, Terminal / 62
Assignment 1 CodeCademy Python (due: 9/25) ( ) 63
Questions?