As the title indicates, this course introduces the field of Computer Science through programming.
We use Python, a general-purpose high-level programming language which is known for being readable (due to its simple syntax) and at the same time powerful. Python is especially useful for Web applications (DropBox and Reddit are written in Python), graphics, games, and scientific computing (the Matlab/Mathematica open-source alternative Sage was originally written in Python). Python is free and runs on all platforms (it comes with MacOS; it can be easily installed under Windows).
There are no prerequisites for this course. I will not assume any prior exposure to programming.
My goals for student learning are three-fold:
Class Times: Lectures: MWF 11:00-12:10; Four Lab sections: T,R 1:00-2:50, T,R 3:00-4:50
Location: Lectures: Stoddard Auditorium G2; Labs: T,R 1:00-2:50--Ford Hall 241 + T,R 3:00-4:50--Ford Hall 342
Lab Instructor: David Marshall <dmarshall@smith.edu>
Office Hours: FordHall 256, Mon & Tue & Fri afternoons: Office Hours & Calendar, or by appointment
TAs: TA hours posted
Textbook: (Required) Python Programming: An Introduction to Computer Science 2nd Edition [Paperback], by John M. Zelle, 2004, ISBN-13:860-1200643879. Amazon link. Please note: There is an earlier edition that uses Python2. You want the latest, 2nd edition, which uses Python3. Smith's Greycourt Bookshop has used books from previous semesters (as well as new copies of the book).
Download Python3 & IDLE: www.python.org. Latest versions: MacOS: 3.5.1; Windows: 3.4.4.
Labs & Assignments & Quizzes: All Notes, Labs, and Assignments are linked from the Syllabus web page. The Quiz links will take you to Moodle. All students registered for the class are enrolled in the Moodle course.
Piazza: Piazza link, and for account activation. We will use Piazza for discussions.
Grading: There will be weekly quizzes and (nearly) weekly assigments. There are weekly labs. There will be an in-class midterm and a take-home final.
Type | Details | Percentage |
---|---|---|
Homeworks | 10 |
40% |
Quizzes | 9 |
10% |
Labs | 10 |
10% |
Midterm | In-class |
10% |
Final | Takehome |
20% |
Participation | In-class, lab attendance, office hours, Piazza |
10% |
100% |
Grading Numerology: How I use letter grades and numerical grades. See this link.
Collaboration/Pair Programming: