CSCI 0111 is an introductory course for both concentrators and non-concentrators who want to understand computing through the lens of data. It covers the fundamentals needed for additional CS courses, while also being designed as a useful stopping point forstudents who want to use a bit of computing, data analysis, or programming in other disciplines.
The course starts with writing small programs to process and manage table-shaped data (like CSV files). It then progresses to problems involving structured (text-based) data for which tables aren't the best organization (introducing common computer science data structures). Throughout the course, we examine practical questions about working with realistic data, as well as the (often adverse) social impacts that can arise when using data at scale.
The course expects no prior programming experience. It is paced more gently than CSCI 0150 or CSCI 0170 (which also assume no prior experience), while also focusing on styles of programming that are in common practice across many disciplines. The course uses two programming languages (initially Pyret and later Python), with the first explicitly designed to transition into the second.
Students from concentrations across campus have succeeded in and enjoyed CSCI 0111. Check out the Critical Review [Brown access only] (Professor Fisler last led the course in Spring 2020; she and Professor Woos co-taught in Fall 2020, with Professor Woos running lectures).