CSCI 134 - Spring 2020
Introduction to Computer Science
Home | Face-to-Face Lectures | Remote Lectures | Labs & Homeworks | Resources | CS@Williams
Home
Section: | CSCI 134-02, 134-08, 134-09 |
Instructor: | Shikha Singh |
Email: | shikha@cs.williams.edu |
Phone: | x4773 |
Office: | TBL 309B |
Student Hours: | Mondays: 2:30-4 pm; Wednesdays: 12.30-2:00 pm (CS Common Room) & Thursdays: 1-2 pm |
Lectures: | MWF: 9:00-9:50 am, Schow Science Library 030a |
Labs: | Tuesday 1-2:30 pm (Section 08) & 2:30-4:00 pm (Section 09) in TCL 217a |
Labs are due Thursday @ 11 pm EST |
Section: | CSCI 134-03, 136-04, 136-05 |
Instructor: | Iris Howley |
Email: | iris@cs.williams.edu |
Phone: | x4663 |
Office: | TCL 308 |
Student Hours: | See Calendar (below) & by appointment. |
Synchronous Lecture Discussions: | MWF: 11:30-12:00 pm EST, via Zoom |
Synchronous Lab Discussions: | Monday 1-3:00 pm EST, via Zoom |
Labs are due Thursday @ 11 pm EST |
Instructional Support: | Lida Doret |
Email: | lpd2@williams.edu |
Phone: | x2309 |
Office: | TCL 205 |
Student Hours: | See Calendar (below) & by appointment. |
TAs: | Harun Curak, Diego Esparza, Nathan Thimothe, Maria Chapman, Amelia Chen, Caleb Dittmar, Hugo Hua, Brian Kamau, Sarah Lyell, Yash Mangal, Rachel Nguyen, Minh Phan, Mira Sneirson, Jules Walzer-Goldfeld |
TA schedule: | See Calendar (below). |
Textbook: | Think Python (2nd Edition), found at greentreepress.com and here |
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, social networks, 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.
Organization. During lecture hours we will typically learn new concepts through the building of new tools to solve simple problems. While the learning process is initially supported by an online text, we expect a dynamic approach to the class that will allow us to steer lectures in directions of mutual interest. During formal lab hours, we will meet for 90 minutes to begin work on a more extended problem. We expect that this work will be continued outside of scheduled time. There are also weekly written homework assignments to support lecture and lab learning.
Work. You are responsible for reading supporting material and participating as the semester progresses. In addition, some topics may require you to investigate online resources (documentation, tutorials, and the like). Each week you will be responsible for completing a programming assignment (35 percent) in addition to a written homework (15 percent). There will be a midterm examination on March 5 (5:45pm or 8pm, 25 percent) and a scheduled final (Sunday, May 19 at 1:30 PM, 25 percent). We reserve the right to adjust grades by as much as 5 percent to reflect course participation.
Policies
Course Syllabus
Late Day Request Form
Department Honor Code and Computer Usage Policy
Course Support Schedule (TAs and office hours)
Resources