CS1001  Introduction to Programming
D Term 2000

Lectures: M,T,Th,F 12:00 noon to 12:50 pm,  Room FL320

Labs:
Wed  2:00 pm to 2:50 pm, Section 1 &2 Room FL B17
Wed  3:00 pm to 3:50 pm, Section 3       Room FL B17

Instructor:  Joe Wong
E-mail:  joewong@cs.wpi.edu
Office hours in Room FL-A20:  T,F 10:15 - 11:45

TA: Nitin John (nitin@cs.wpi.edu)
Office Hours in Room FL-A20:
Monday 10 to 11am
Wednesday 4 to 6pm
Thursday 4 to 6 pm
 

Text:  Nyhoff, Larry R. and Leestma, Sanford C., FORTRAN 90 for Engineers and Scientists,  Prentice Hall , Inc. 1997.

Grading:  two exams (40%), five homework assignments (25%), project (20%), five lab assignments (10%), in-class quizzes (5%).

Exams: Exams are scheduled for the following dates: Friday 4/7 and Thursday 5/4.

Makeup exams will be only given with permission from instructor. That permission must be obtained before the scheduled exam  date..

Homework: Five programming problems will be assigned as homework. Homework will be due at 12 noon on the due date. Late homework that is turned in within 24 hours will be penalized 10%.  No homework assignment will be accepted after the 24-hour grace period. There will be no exceptions to this policy!

All homework must be turned in electronically. You will be given instructions on how to use the turnin program before the first homework assignment is due.

Although you are encouraged to discuss the class material with your classmates,  you should write up your own assignments on your own.  Each student must write up and turn in his or her own copy of the assignment. On your assignment you should indicate the names of all persons who worked together. Exams will include questions pertaining to the homework.

Labs: Lab sections will meet on Wednesdays in FL B17. You must attend the lab section for which you are registered. The first lab, on March 18, will serve as an introduction to workstations, editing with emacs, and program development; no grade will be assigned for this lab.

The remaining labs will involve writing small Fortran programs. These programs must be turned in electronically, and are due within 24 hours of the beginning of your assigned lab time. In order to receive credit for a lab assignment, your program must be turned in on time, must be working correctly, AND you must have been present during the actual lab session (attendance will be taken). There will be NO makeups for lab assignments.

Project:  There will be a term-long project to give the students a chance to work on a larger program.  There will be bi-weekly milestones with final turnin date of Monday 5/1.  There will not be any extensions.

Group Mail: I will frequently post announcements to the class via email. A class mailing list will be set up for this purpose. The group name cs1001@cs can be used to distribute mail to all members of the class (including the TA and the instructor). The group name cs1001_ta@cs can be used to send mail to the TA and the instructor. You should check your email on a regular basis.

Web Pages:  CS 1001 Web pages will be set up.  Homework, lectures notes, handouts, sample exams, course schedule, and other useful course material can be found here.
Other Useful Links
Using turnin
The CS documentation standard
Syllabus: The topics and their order of coverage are subject to change.

Schedule: (March 23, 2000)
 
Class Date Topics Reading/Assignment Note
1 TH 3/16 Introduction 1.1, 1.2 Lecture1
F 3/17 Programming and Problem Solving 1.3, 1.4 Lecture2
M 3/20 UNIX, Program Compiling and Running Programs UNIX intro handout, 2.1 Nitin John Lecturing
4 T 3/21 Data Types, Operations and Functions  2.2, 2.3, 2.4 Lecture4,
Handout HW1
LAB1 W 3/22 UNIX, Compiling, running programs UNIX intro handout Lab1 Handout
5 TH 3/23 Input/output, file input/output, Arithmetic Errors 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11  Lecture5
6 F 3/24 logical expressions 3.1, 3.2 Lecture6
7 M 3/27 IF statements 3.3, 3.4, 3.5 Lecture7
Handout Project
8 T 3/28 CASE, logical data type 3.6, 3.7, 3.8, 3.9 Lecture8,
Handout HW2,
Program meter
HW 1 Due
LAB2 W 3/29 IF - Statements Lab2 Handout Lab2 Handout
Lab2 Solutions
9 TH 3/30 . . Lecture 9
10 F 3/31 Do loops 4.1, 4.2,  Lecture 10
11 M 4/3 General DO loops 4.3, 4.4 Lecture 11
12 T 4/4 Applications 4.5, 4.6 Lecture 12
HW3 Handout
LAB3 W 4/5 Loops Lab3 Handout Lab3 Handout
13 TH 4/6 Review 1.1-4.6 Practice exam Lecture 13
14 F 4/7 EXAM 1 Exam 1 solutions
15 M 4/10 Functions 6.1,.62,6.3,6.4 Lecture 15
16 T 4/11 Functions 6.5, 6.6 Lecture 16
HW4 Handout
LAB4 W 4/12 Functions Lab4 Handout Lab4 Handout
17 TH 4/13 Subroutines 7.1, 7.2, 7.3 Lecture 17
18 F 4/14 Format statements 5.1,5.2,5.3,5.4,5.5 Lecture 18
19 M 4/17 Arrays 8.1,8.2,8.3 Lecture 19
Handout on stacks
20 T 4/18 Arrays Processing 8.4,8.5,8.6 Handout on Queues
Handout HW5
Lecture 20
LAB5 W 4/19 Arrays Lab5 Handout Lab5 Handout
. TH 4/20 No Class . .
21 F 4/21 Sorting & Search 8.7, 8.8, 8.9 Lecture 21
22 M 4/24 Multi-dminesional arrays 9.1, 9.2 Lecture 22
Handout
23 T 4/25 Multi-dimensional arrays 9.3, 9.6 Lecture 23
HW6 handout
LAB6 W 4/26 Two-dimensional arrays Lab6 Handout Lab6 Handout
24 TH 4/27 String processing 11.5, 11.6, 11.7 Lecture 24
25 F 4/28 Files 12.1,12.2 Lecture 25
Practice final exam
26 M 5/1 Link Lists, Pointers 13.1,13.2,13.3 Lecture 26
Project due
27 T 5/2 Review 5.1-13.3 Practice Exam Lecture 27
W 5/3 No Class
28 TH 5/4 EXAM 2

Acknowledgment -- Thanks to Professor Glynis Hamel for the use of her course material.