CSCI 134 - Fall 2021

Introduction to Computer Science

Home | Lectures | Labs & HW | Resources | CS@Williams

Home

Instructors: Jeannie Albrecht   |  Email: jeannie@cs.williams.edu  |   Office: TCL 305
Shikha Singh  |   Email: shikha@cs.williams.edu  |   Office: TCL 304
Kelly Shaw (labs)   |  Email: kelly@cs.williams.edu  |   Office: TCL 309
Technical Support:Lida Doret   |  Email: lida@cs.williams.edu   |  Office: TCL 205
Lectures: MWF 9am (with Singh) or MWF 10am (with Albrecht)
Labs:M 1:10-2:25pm, with Singh; or
M 1:10-2:25pm or 2:35-3:50pm, with Shaw; or
T 1:10-2:25pm, with Albrecht; or
T 1:10-2:25pm or 2:35-3:50pm, with Shaw
Textbook: (Recommended) Think Python (2nd Edition), found at greentreepress.com and here
(Alternate) Introduction to Computation and Programing Using Python, (2nd Edition), found at Amazon
TAs: Lea Obermüller, Mira Sneirson, Tasan Smith-Gandy, Jacob Chen, Sophie Goldstein, Elijah Washington
Sarah Fida, Lindsey Chu, Aaron Schroen, Kirun Cheung, Nathan Thimothe, Andrew Muhareb, Gavin Li, Caleb Dittmar
Help Hours: See Course Calendar (below)
Herd Meetings See Schedule

Enrollment

Unfortunately our course is over-enrolled for Fall 2021. If you were dropped, or if you did not pre-register but are interested in taking CSCI 134 in the future, please add your name to the waitlist. We will randomly select students from the waitlist when slots become available. Students on the waitlist will also be given priority enrollment in future semesters.

Course Description

We are surrounded by information. This course introduces fundamental computational concepts for representing and manipulating data. Using the programming language Python, this course explores effective ways to organize and transform information in order to solve problems. Students will learn to design algorithms to search, sort, and manipulate data in application areas like text and image processing, scientific computing, and databases. Programming topics covered include procedural, object-oriented, and functional programming, control structures, structural self-reference, arrays, lists, streams, dictionaries, and data abstraction. This course is appropriate for all students who want to create software and learn computational techniques for manipulating and analyzing data.

Syllabus and Course Calendar

See Course Syllabus which includes information about student accomodations and course's honor code policies.

The course calendar with instructor and TA hours is below. All TA office hours take place in the labs (TCL 216 and 217a).

Resources

Think Python, a textbook
Overview of CSCI 134 Tools
Mac OS Setup Guide | Windows OS Setup Guide
How to Jupyter | Sample Notebook
CS 134 Python Style Guide
Duane's Incredibly Brief Intro to Unix and Emacs