CSCI0050: A Data-Centric Introduction to Programming

Time: Mon/Wed/Thurs 9:00-11:40am Location: CIT 227

CSCI-50 provides an introduction to computer programming with a focus on skills needed for data-intensive applications. Topics include core constructs for processing both tabular and structured data (including lists and trees); decomposing problems into programming tasks; data structures; algorithms; and testing programs for correct behavior. The course does not assume any prior programming background.

This is a computer science and programming course, not a data science course. While we will cover concepts and programming constructs that are relevant for data science, we will not cover statistics or statistics-focused programming. The course has been designed to provide the computer science background needed for Brown’s Data Science masters program (but the course is open to all who wish to enroll). CSCI-50 does not satisfy the introductory programming sequence requirement for CS (undergraduate) concentrators. Students interested in concentrating in CS should take CSCI 0150, 0170, or 0190 instead.

Class sessions will interleave lecture and hands-on programming practice. Students are encouraged to work with others during class sessions, and outside of class on some assignments.