Charles Chang

Course meeting time: Tuesday, Thursday 12:00 p.m. – 2:30 p.m.
Office hour: Monday, Wednesday 2:00 – 4:00 p.m or by appointment
Academic credit: 4
Course format: class discussion + lecture + lab

Instructor’s information

Instructor: Charles Chang
Email: charles.c.chang@dukekunshan.edu.cn
Title: Assistant Professor of Environment and Urban Studies
Expertise: Computational Social Science and Digital Humanities

Charles Chang’s research interest hinges on the intersections between computation and design. With the rise of smartphones and other internet-connected devices, design choices become increasingly data-driven and dependent on information’s credibility in the construction of the human habitat. Chang’s research focuses on human habitat’s design, environmental impact, and information’s credibility in the Big-Data age. His teaching interests at Duke Kunshan include computational social science, digital humanities, and urban informatics. He has published several articles in peer-reviewed journals and conference proceedings, among which are articles on Big Data and machine learning in natural science, social science, and the humanities.

What is this course about?

Computation and Problem Solving is recognized as a key skill for all 21st century learners, especially in this Big Data age. Quite often, scholars seeking to solve problem in their discipline are confronted with massive data that exceed their capability to digest in a lifetime. Moreover, there is the challenge of variety, which can range from historical gazetteers and maps to the news, images and social media posts of our day. Daunting as the massive data and its variety are, they can also be regarded as a treasure trove, hitherto closed to us for lack of a key.

This course focuses on the design of a computational methodology that addresses problems in the social sciences and the humanities. Stated broadly thus, its aim is to break a task down into a series of steps, solve a complicated problem by seeing how it can be analyzed into smaller ones, and use solved problems as the foundation for tackling new ones. Computational methodology is the key that opens the treasure trove of data and sorts them out in accordance with the problems raised by the various disciplines. The course, then, has two components “computation” and “problem.” We will explore how a particular problem requires a particular method, that is, how the key fits. Students who attend this course are likely to have different interests. For some, it is a problem in society; for others, it is one in textual analysis and interpretation, and so on. While individual student interests will be addressed, it is a central purpose of the course to expose the class to a wide range of problems and seek their solutions in a wide range of computational techniques. Interdisciplinarity is the underlying philosophy, one that is suited to our time. Anyone who is interested in using a computational methodology to study environment, politics, communication, and history is welcome to join our discussion.

The course consists of seminar and workshop. In the seminar, we will discuss concepts behind various methods, but also highlight a handful of popular techniques. The seminar begins with data collection, is followed by data analysis, and will conclude with data visualization. Data collection covers data types, sources, and structure. Data analysis covers spatial analysis, textual analysis, temporal analysis, visual and acoustic analysis, and network analysis. Data visualization covers cartography, interactive graphing, and virtual reality. Throughout this course, we will discuss basic concepts, terminologies, methodologies, and skills in data science and show how they apply to problem solving in natural science, social science and the humanities. Students will also gain hands-on experience in Python programming.

What background knowledge do I need before taking this course?

The course is aimed at lower level undergraduates in the social sciences and humanities. What I look for are students with an inquisitive and disciplined mind rather than sophisticated experience in programming and computation. No prior programming experience is required.

What will I learn in this course?

  • Identify a social scientific or humanistic question that can be solved with computation and analytical skills.
  • Propose different explanations to the question so raised or offer different accounts as possible answers.
  • Identify the kinds of data in social sciences and the humanities that are helpful to answer the question.
  • Break the question down into steps so that it can be addressed analytically.
  • Communicate and present the results and answer the questions raised by the problem.

What will I do in this course?

Seminar and workshop are the course’s components. In the seminar, we will mostly discuss the concepts behind various methods, but also highlight a handful of popular techniques. The seminar begins with data collection, is followed by data analysis, and will conclude with data visualization. Data collection covers data types, sources, and structure. Data analysis covers spatial analysis, textual analysis, temporal analysis, visual and acoustic analysis, and network analysis. Data visualization covers cartography, graphing, and virtual reality. Also to be raised in the seminar are research projects that have recently emerged in digital form. We explore whether students can turn some of them, perhaps along a slightly different or narrower path, into scholarly research of their own.

Workshops, which will run alongside seminars, are intended to demonstrate the concepts discussed in the seminar. I will provide instruction and hands-on guidance on some essential computational techniques that are widely used in projects of data science, computational social science, and digital humanities. I assess how students will summarize reading assignments, how they will participate in-class discussion, and most importantly, how they are able to use computational techniques to design a project of their interest.

How can I prepare for the class sessions to be successful?

Students are encouraged to participate fully. Full participation includes the reading of the works listed on the course website, the preparation of questions based on them and on those the instructor brings up.

What required texts, materials, and equipment will I need?

Readings, including articles and book chapters, will be uploaded weekly on Teams. Jupyter Notebook for Python programming will be found at Google Colab.

What optional texts or resources might be helpful?

Optional readings will also be uploaded weekly on Teams. Students can choose to review these readings in their weekly assignment. In addition, students who are interested in learning Python in greater depth are encouraged to read the online textbook (Python Data Science Handbook online.)

How will my grade be determined?

Class participation takes 10% of the final grade. Evidence of having read the assigned essays make up 30% of the final grade. Starting from the second week, before each session of seminar, students are expected to have read the works assigned in the list of required readings and to have read one work on the list of recommended readings. From knowledge thus gained, students will write a short essay (of one to two pages double space) on the methodology in three selected weeks. If a student chooses to write more essays, the student is allowed to drop the essay of the lowest grade at the end of the session. Besides course discussion and essay, students are expected to have completed an assignment associated with each workshop. The assignment can be done within the workshop and will constitute 30% of the final grade.

Both essays and workshop assignments are due by the end of Sunday every week. Due dates are provided on Teams. Late submission will receive 20% of late penalty per 24 hours. For example, an essay submitted 5 days late will receive 0 point. However, every student is allowed to have one “flexible day” where the student is allotted two additional days for one submission.

In addition, a final project report is to be handed in at the end of the course, after the final presentation of the course project. The final project should be a constructive critique of a computational project that aims to understand a social scientific or humanistic question. Students are required to identify a published research of her or his interest and explain the design and concept of the research. While the actual implementation of the project is not required, modification or innovative addendum of the original research is encouraged. As to the presentation, any format (slides, website, VR, theatrical play, or interactive gaming) is acceptable. The delivery of the presentation will be peer-reviewed by all the students in the class and evaluated accordingly. As to the report, I see it as a ten-page paper, double space and ten-to-twelve-size font, that follows the format of a critical book review. The page limit assigned to the report does not include references, tables, and figures. Contribution of the report to the final grade is 30%.

A+= 98% - 100% A = 97% - 93%; A- = 90% - 92%; B+ = 87% - 89%; B = 83% - 86%; B- = 80% - 82%; C+ = 77% - 79%; C = 73% - 76%; C- = 70% - 72%; D+ = 67% - 69%; D = 63% - 66%; D- = 60% - 62% F = 59% and below

What are the course policies?

Academic Integrity:
As a student, you should abide by the academic honesty standard of the Duke Kunshan University. Its Community Standard states: “Duke Kunshan University is a community comprised of individuals from diverse cultures and backgrounds. We are dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Members of this community commit to reflecting upon and upholding these principles in all academic and non-academic endeavors, and to protecting and promoting a culture of integrity and trust.”

Academic Policy & Procedures:
You are responsible for knowing and adhering to academic policy and procedures as published in University Bulletin and Student Handbook. Please note, an incident of behavioral infraction or academic dishonesty (cheating on a test, plagiarizing, etc.) will result in immediate action from me, in consultation with university administration (e.g., Dean of Undergraduate Studies, Student Conduct, Academic Advising). Please visit the Undergraduate Studies website for additional guidance related to academic policy and procedures.

Academic Disruptive Behavior and Community Standard:
Please avoid all forms of disruptive behavior, including but not limited to: verbal or physical threats, repeated obscenities, unreasonable interference with class discussion, making/receiving personal phone calls, text messages or pages during class, excessive tardiness, leaving and entering class frequently without notice of illness or other extenuating circumstances, and persisting in disruptive personal conversations with other class members. Please turn off phones, pagers, etc. during class unless instructed otherwise. If you choose not to adhere to these standards, I will take action in consultation with university administration (e.g., Dean of Undergraduate Studies, Student Conduct, Academic Advising).

Academic Accommodations:
If you need to request accommodation for a disability, you need a signed accommodation plan from Campus Health Services, and you need to provide a copy of that plan to me. Visit the Office of Student Affairs website for additional information and instruction related to accommodations.

What campus resources can help me during this course?

Digital librarians and computational statisticians
Please work with the digital librarian and computational statisticians if you have encountered difficulties in Python or R programming.

Academic Advising and Student Support
Please consult with me about appropriate course preparation and readiness strategies, as needed. Consult your academic advisors on course performance (i.e., poor grades) and academic decisions (e.g., course changes, incompletes, withdrawals) to ensure you stay on track with degree and graduation requirements. In addition to advisors, staff in the Academic Resource Center can provide recommendations on academic success strategies (e.g., tutoring, coaching, student learning preferences). Please visit the Office of Undergraduate Advising website for additional information related to academic advising and student support services.

Writing and Language Studio
If you want additional help with academic writing and more generally with language learning, you are welcome to go to the Writing and Language Studio (WLS).

What is the expected course schedule?

First Class: Seminar 0: What are natural sciences, social sciences, and the humanities?

In this first class, we discuss the general understanding of natural sciences, social sciences, and the humanities.
No Required readings (No writing assignment).


Oct. 29: Seminar 1: What is scientific methodology?

Scientific methodology in different disciplines. The kinds of research question that lend themselves to be answered by digital methods. The logic of empiricism and scientific studies. Observations and causal inference. The usefulness of computational methods to scholars working in a social science or humanities field.

Variations in digital approaches. In the humanities, the scope of data (sound, view, text) and data availability. In the social sciences, the applicability of computational methods such as causal identification, sampling, and hypothesis testing. In the natural sciences, the importance of measurement in crucial phenomena. Also, a brief introduction to the workshop.

Required readings (No writing assignment):

Nov.3: Workshop 1 Data and Database

Experiment 1: Introduction to Google Colab
Experiment 2: Introduction to Python


Nov.5: What is (are) data?

Variations in digital approaches. In the humanities, the scope of data (sound, view, text) and data availability. In the social sciences, the applicability of computational methods such as causal identification, sampling, and hypothesis testing. In the natural sciences, the importance of measurement in crucial phenomena. Also, a brief introduction to the workshop.

Required readings:

Nov.10: Python Packages

Experiment 1: Introduction to data analysis
Experiment 2: Read and write files


Nov.12: Seminar 2 Designing a geospatial project

The kinds of question that scholars have in mind when they use digital and computational methods spatially. The sources (e.g., map, survey, epitaph, satellite, etc.) they consult and the sources they avoid.

Required readings:

Nov.17: Web scraping

Experiment 1: HTML
Experiment 2: Scraping a webpage


Field Trip Day: Time and location TBA


Nov.19: Seminar 3 Designing a textual project

We examine the use of the large corpus of texts in social sciences. The sources (e.g., social media, documents, books, etc.) that scholars consult and the computational methods they use.

Required readings:

Nov.24: Introduction to machine learning

Experiment 1: Statistical analysis
Experiment 2: Natural Language Processing and LDA


Nov.26: Seminar 4 Designing a textual project, II

We continue our textual analysis by examining the use of the large corpus of texts in the humanities.
Abstract for the final project is due this week (1 extra point).

Required readings:

Dec.1: Supervised machine learning

Experiment 1: Clustering
Experiment 2: Textual classification


Dec.3: Seminar 5 Digitizing networks

Designing links and events digitally. The kinds of connection that should (or should not) be considered. Defining an event. Time in computational methods.
Proposal for the final project is due this week (2 extra points).

Required readings:

Dec.8: Visualization

How to design and communicate with data, from data journalism through presentation and representation of data to virtual realities.

Required readings:

Dec.10: Final project presentation