CSIS-110 Introduction to Computer Science

Fall 2001


Instructor:

Mary Anne Egan
207 Numbers Place 782-6546

Office Hours:

Monday 10:30 – 12:30
1:00 – 2:30
Wednesday 10:30 – 12:00

Lecture Section:

Monday/Wednesday 9:20 – 10:15

Lab Sections:

Thursday 8:30 – 10:30
Friday 8:15 – 10:15

Course Materials:

Text: An Invitation to Computer Science, 2nd edition; Schneider and Gersting, 1998.

Concrete Abstractions; Hailperin, Kaiser and Knight, 1999.

Hardware: Pentium II workstations, Alpha server

Software: Chez Scheme running under UNIX

Course Goals:

Policies:

Attendance: Do not miss class. You are responsible for all announcements and material covered in class, whether or not you were physically present. It is your responsibility to obtain handouts, notes, and materials for any classes you may have missed. Do not miss an exam; make-up exams will not be given unless there is a valid advance reason for missing an exam, i.e. scheduled sports event (intramural events do not count), class trip, etc. Arrangements must be made in advance by contacting me at least two weeks before the scheduled exam date to arrange an alternative time.

Lab Work: While you may develop your programs on another system, you must have a copy in your course account that runs under Chez Scheme to receive credit. You may work on labs with a partner, but each member of the team must have a copy of the programs in his/her own directory. You MAY NOT collaborate with others outside your lab partnership.

Project Work: While you may develop your projects on another system, you must have a copy in your course account that runs under Chez Scheme. Plagiarism, for project work, consists of receiving undocumented help from ANYONE other than the instructor for this course; if you have been given help from anyone (including the tutor), you must document (comment) this help in your program.

Academic Honesty: While partnerships are encouraged in the Laboratory segments, you MUST do your own work on programming projects. Academic dishonesty in the lecture includes cheating on an exam or handing in a project not entirely your own work. The penalty for academic dishonesty is a final grade of F for the course. I reserve the right to examine any files or directories in your course account at any time.

I am available if you should run into difficulty in working on your projects or labs, whether it is in general algorithm development or in syntax problems. You should be aware that a visit during office hours is considered to be evidence that you care about your work, and that you care about your progress in the course.

Hats: It is common etiquette that men do not wear any type of hat inside. You will not be allowed in my classroom if you are wearing a hat. For the sake of fairness, not etiquette, this policy will also hold for women.

Assessment:

Your grade for this course will be based upon your lab work, project work, and performance on exams. The following weights will be used to determine grades:

Class Participation 5%

Assignments (about 6) 25%

Labs (11) 20%

Quizzes 5%

Exam 1 10%

Exam 2 15%

Final Exam 20%

Class Participation: Your participation grade is based on questions you ask and answer in class. I encourage you to come to class prepared! See the attached schedule of topics for a tentative course outline including reading assignments and dates. Also, if you aren’t in class – you can’t participate!

Assignments: Some of these assignments will involve writing Scheme programs to solve problems. Others may include questions about general computer science topics. You will work alone on the assignments.

Exams: All exams will be closed-book and cumulative, although the second exam will stress material covered after the first exam. In each exam, you will be permitted to bring in one sheet of paper (8.5" by 11") with anything you like written on it

Letter Grades

A is the highest academic grade possible, and one that is reserved for outstanding accomplishment. A student earning this grade must demonstrate not only mastery of course material, but also originality or creativity that is appropriate to the problem solving nature of this course. A grade of a B in the course means that the mastery described above has a hole here and there. A grade of a C means that the student lacks an understanding of some of the material presented in class and worked with in the lab. A grade of a D means that there are serious deficiencies in several areas that were covered in the course. A grade of an F in the course means that the student’s deficiencies span the better part of the course.

 

Tentative Class and Laboratory Schedule

In this introductory course, we will attempt to balance the need to "cover" a certain amount of material with the approach of providing enough time for us to work as computer scientists. So, while a list of topics and dates is provided, you should be aware that it is only a tentative plan for the semester.

 

 

 

Week

Lecture

Textbook

Lab

9/8 – 9/10

Introduction to CS, algorithms

1

None

9/13 – 9/17

Algorithm design, system introduction, arithmetic operations

2 (skip 2.3.3)

1

9/20 – 9/24

Information representation, boolean logic, quilting intro

4.1-4.3

CA 1.2-1.3

None

9/27 – 10/1

Simple recursion, circuits, modular design and testing

4.4, 4.6

CA 2 (skip 2.2)

2

10/4 – 10/8

System organization, history

5

3

10/11 – 10/15

Exam 1

None

4

10/18 – 10/22

List Processing

CA 7

5

10/25 – 10/29

Algorithm efficiency, accumulators

3.1, 3.2, 3.4, 3.5.3

6

11/1 – 11/5

System software, virtual machines, abstraction

6

(skip 6.3.2, 6.3.3)

7

11/8 – 11/12

Programming paradigms, functions as parameters

7.1, 7.9, 8

CA 5

8

11/15 – 11/19

Exam 2

None

9

11/22 – 11/26

Language translation

9

(skip 9.2.3, 9.2.4)

None

11/29 – 12/3

Turing machines

10

10

12/6 – 12/10

Imperative programming

CA 3

11

12/13 – 12/17

Wrapup

None

None

Exam dates

October 11th
November 17th