LING572-01: Python Scripting for Social Science

The primary goal of the course is to acquaint students with the basics of the Python programming language and to introduce them to some of the many tools it provides for data collection and data analysis. A secondary goal is to promote a computational view of data collection and data analyis. In addition to providing the raw computing power that makes many data cleanup and data sorting tasks feasible, tools such as computer visualizations and and machine learning can provide real help in understanding a whole host of statistical and structural concepts in data analysis, while amplifying their power in practical settings. For example, many of the machine learning packages in Python's scikit_learn module teach fundamental statistical concepts and are furnished with examples that apply them to large-scale data sets. Topics covered in the course include Python types, Python functions and control structure, computing with matrix data representations (numpy), data aggregation tools (pandas), social networks (networkx), and machine learning (scikit_learn, pytorch), There are no course pre-requisites. No knowledge of programming will be asssumed. Students need upper division standing and sme openness to acquiring computational skills.