CS111 Syllabus 2011

From dftwiki3
Revision as of 09:46, 7 September 2011 by Thiebaut (talk | contribs) (Lateness Policy)
Jump to: navigation, search
Main Page | Syllabus | Weekly Schedule | Links & Resources



CSC111 Fall 2011 -- Syllabus

Prof

Dominique Thiébaut email
Dept. Computer Science
Ford Hall, 356.
Telephone: 3854
Office hours TBA, and by appointments

Introduction

Course Overview: This course is an introduction to computers, computer science and computer programming. The programming language Python is used to introduce basic programming skills and techniques.

This is the first course in the Computer Science major, and no previous experience with computers or programming is assumed.

Objectives: The objectives for this course are for each student to become familiar with

  • Basic programming constructs such as if-then statements, loop control, functions, arrays, simple input-output, searching, and recursion.
  • Good programming techniques including top-down design, program documentation, modular design, all resulting in code that can be readily understood and used by other programmers.
  • The Python programming language
  • The basic internal operation of a computer, including the central processing unit, simple memory management, and the file system.

Prerequisites

No prerequisites!

Schedule

The class meets twice a week, TuTh, in McConnell 103, 10:30-11:50 a.m., and for two two-hour lab sessions Thursday, in Ford Hall 241, 1:00-2:50 p.m. for Section 1, and 3:00-4:50 p.m. for Section 2.

Programming assignments are given every week. Approximately 12 homework assignments can be expected this semester. There will be an in-class midterm exam and a final take-home exam.

The due date for the homework assignments is tentatively set for Tuesday evening, at midnight.

Topics

The course covers the following topics (this list is tentative):

  • Windows and Unix tools
  • Computers and programs
  • Computing with numbers
  • Strings
  • Objects and Object-Oriented programming (OOP)
  • Functions
  • Control structures
  • Loops
  • Classes and objects
  • Advanced Topics, including recursion, sorting, searching.

Class and Lab Times

  • Lectures TuTh: 10:30-11:50 a.m.
  • Lab 1 Th 1:00-2:50 p.m.
  • Lab 2 Th 3:00-4:50 p.m.

There will be TA sessions. Their location and time is available here.

Textbook

Python Programming: an Introduction to Computer Science. Version 3 by John Zelle, Franklin, Beedle & Associate. It is available at the campus-center bookstore, an also on Amazon.com

Other Sources of Material

Check the class homepage for additional links to Python-related sources.

Lateness Policy

No late assignments will be accepted (except in case of documented illness or personal difficulties). The assignments are tentatively scheduled to be due every Tuesday evening at midnight.

You are, however, allowed to drop any one assignment without penalty. If you turn in all the assignment this semester, the one with the lowest grade will be dropped for you automatically.

Grading

You have two options for completing each homework assignment. You can either work individually (sharing ideas with classmates and getting input from the TAs and instructors as needed), or you may work in pairs. If you work in pairs, you need to follow the protocol for 'pair programming' as discussed in this article. If you select pair programming, be sure that each partner understands the concepts and final recipe fully, since exams will, of course, be individual.

Homework assignments 50%, class participation 5%, midterm 20%, final 25%.

Teaching Assistants

The teaching assistants are:

Name Email
TBA tba@smith.edu

To see when and where they are available this week, click here.