• Home
  • Class Materials
  • About CS0931
  • Missive/Syllabus
  • Staff
  • Resources
  • Calendar
  • Student Projects
CSCI 0931 Introductory Missive
Spring 2016

About the Class

CSCI0931 is an introductory computer science course specifically developed for concentrators in the humanities and social sciences. Because of this, we'll be focusing on real-world applications rather than computer science theory. There are no prerequisites, though some experience with spreadsheets will help. Students from all fields are welcome.

You can find the course website at http://cs.brown.edu/courses/cs0931/

Goals

The course will be hands-on and cover a variety of topics that will ultimately lead to the following skills:

  • Practice solving real world problems by learning to use new tools and applying familiar ones — like spreadsheets — in new ways
  • Gather data from the web
  • Create programs that analyze large amounts of data
  • Become proficient in a programming language

Syllabus

Part 0: Overview

Introduction to computational problems arising from questions in social sciences and humanities.

Part 1: How liberal is your senator?

We'll study this question using spreadsheets. Along the way, we'll talk about formulating computational questions, writing "programs" (in this case, a spreadsheet) to answer them, gathering and importing data from the web, and structuring a program so that it can be easily reused for new data. When we've ranked our senators, we'll be able to experiment with the rankings a bit and see whether we asked the right question.

Part 2: Textual Analysis in Python.

Looking at texts as varied as Moby Dick, tweets, and a collection of Supreme Court decisions, we'll discover how to study computational questions about texts, questions as diverse as determining authorship, finding rarely-used words, and tracking epidemics.

Part 3: Pattern Matching, Data Representation, and Social Media.

We'll learn how to write a program whose output can be displayed using Google Maps or Google Earth, and visualize the spatial distribution of some kind of data—disease incidence, word usage, crime.

You will be able to obtain data from social media (such as Twitter), and apply text processing and data visualization tools over it.

Part 4: Final Project

Students will do a final project on some topic that interests them, using the skills they've learned in the first three parts.

Staff and Hours

The recommended way of getting in touch with the course staff is to e-mail cs0931tas@lists.cs.brown.edu, which is easy to remember and will get you the fastest response. If you would like to email only the Head TA, instructor, and faculty, use cs0931headtas@lists.cs.brown.edu.

Staff hours will be posted on the website on the staff page.

Instructor

  • Jun Ki Lee — jklee@cs.brown.edu

The TAs

  • Pranavan Chanthrakumar (Head TA) — pchanthr@cs.brown.edu
  • Linda Chang — lc50@cs.brown.edu
  • Jerome Ramos — jr98@cs.brown.edu
  • Emily Kasbohm — ekasbohm@cs.brown.edu

Assignments

All assignments count toward the final grade in the class. The work load varies with each week, but expect an average of 10 hours a week dedicated to this class (including lectures, homeworks, and projects). The Homework Policy gives more details about the late homework policy, extensions, and grades.

Homework Assignments

Homeworks will consist of computer assignments (in Google Spreadsheets and then Python) and short readings. The homework lengths will vary each week, but will tend to be shorter in the beginning of each unit and longer towards the end.

The homeworks are designed to reinforce useful material learned in class, and provide scenarios that will be useful for the class projects. Part of learning to program is to practice!

Unit Projects

After units 1 and 2, there will be a final project designed by the students to demonstrate the skills they have learned and developed. Students will first write a proposal and discuss their project with the course staff. They will then complete the project and report their results.

Final Project

Students will work on the final project for the last few weeks of the semester. TAs and faculty will be available for guidance. Students will include a timeline in their proposal, and are expected to keep to this timeline. We expect that a good project might have some obstacles, and we aim to give ample time to overcome these issues.

Grading

Homework & Project Grading

Homeworks will be graded by the undergraduate TAs and returned with grades and comments. Solutions will not be posted, but meetings with TAs can be arranged to discuss homework solutions.

Projects will be graded by the instructor and faculty.

Overall Grade

Grading will involve class participation, homework (which will be due at the start of almost every class meeting), and the final project. There are no exams.

Component% of Overall Grade
Homeworks50%
Unit Project #1   10%
Unit Project #2   15%
Final Project25%

To obtain credit, *all* homework assignments and projects must be done. If all homeworks and projects are done, from 90% to 100% of the overall grade means A, from 75% up to just below 90% of the overall grade means B, and from 50% up to just below 80% means C.

Borderline cases (ex: 72%) can be adjusted *up* if the student consistently participates in class, and is engaged on activities.