Server: Netscape-Enterprise/2.0a Date: Tue, 26 Nov 1996 18:39:17 GMT Accept-ranges: bytes Last-modified: Thu, 21 Nov 1996 18:20:26 GMT Content-length: 10686 Content-type: text/html Florida Tech, CS: Software Development I (Fall 1996)

CSE 1001: Fundamentals of Software Development I (Fall 1996)

General Information

Instructor

Ryan Stansifer, contact info at http://www.cs.fit.edu/~ryan/ , e-mail address ryan@cs.fit.edu

Lectures

Lectures are from 11:00 to 12:15 Tuesdays and Thursdays in A 106 (the Aeronautics Building).

Lab sections

The class is divided into three lab sections which meet in the CS PC Lab, S 332 (the Crawford Science Building). Labs meet at 13:30 to 15:20 on Tuesday, and 10:00 to 11:50 and 15:00 to 16:50 on Wednesday. The lab instructor is Juan Blanco <jblanco@cs.fit.edu>

Class URLs

http://www.cs.fit.edu/~ryan/cse1001/
http://www.cs.fit.edu/~jblanco/cse1001-lab.htm

Catalog Description

CSE 1001. An introduction to software development as it applies to small programs. Students learn to program in a higher-level language and will learn to read, understand, write and evolve typical small-higher-level programs.

Course Goals

In this class we expect students to learn

This class has no prerequisites.

Another document gives a more detailed list of topics to be covered in this class.

Students often come with a wide variety of backgrounds and vastly different experience. As a consequence some students may be bored and some may be lost. Your patience, support of your classmates, and participation in class are appreciated.

Textbook

The textbook for this class is the

Nell Dale, Chip Weems, and John McCormick. Programming and Problem Solving with Ada. D. C. Heath, Lexington, Massachusetts, 1994. ISBN 0-669-29360-1.
We will follow the book quite closely. We expect to cover all the chapters in the text up to 12. If time permits, we may cover some additional material.

The book comes with a diskette containing all the Ada programs appearing in the book; the programs are also available on the WWW (see below).

Information on the net

How to get an Ada Compiler

You do not need to get an Ada compiler; will be using the GNAT compiler and it is available both in the CS PC lab (S 332), and by anyone with an account on tuck.cs.fit.edu.

If you would like your own Ada compiler, and you have a (large and fast) computer, the GNAT compiler is free. Down-load the distribution from the Ada Core Technologies WWW Page.

Programming Style

A lengthy and detailed document available on the WWW http://www.cs.fit.edu/~ryan/ada83-style.txt gives specific and sensible advice about writing clear Ada programs. You should at all times heed their advice. No Ada program will be considered completely correct unless it is a model of clarity and good style. A shorter extract from this document will be handed out in lab.

A lengthy and detailed guide for the development of well-constructed programs in general can be found in the following book. It is full of practical advice and examples of bad and good program fragments mostly in C and Pascal.

Steve McConnell. Code Complete. Microsoft Press, Redmond, Washington, 1993. ISBN 1-55615-484-4.

Classwork

In addition to the lab projects, there will be three in-class midterm examinations and a final. You are encouraged to read the textbook in preparation for class and to work the exercises at the end of the chapters.

Grading

There will be three midterms and a final in the class. Lab projects will count 45% of the total grade. Each midterm will count 10% and the final 25%. Each exam and lab project will be assigned a numeric score. The average numeric score is roughly equivalent to a B- letter grade. The letter grade for the class will be assigned to each student based on the weighted sum of these numeric scores. Your grade is determined by how you do relatively to the rest of the class, not by the magnitude of your numeric scores.

All work is to be your own. On tests, be sure to explain your answers as if you were tutoring someone else.

humor

For each student the numeric scores for the lab assignments and exams are recorded. If you have any question about your standing in the class, or if some score has been recorded wrong, please contact me immediately. Corrections will not be made long after the due dates.

Grade distribution

In the past the grade distribution has looked like this:
     Fall 1994   Fall 1995
  A     5 15%      12 25% 
  B    11 32%      18 38%
  C    10 29%      12 25%
  D     4 12%       3  6%
  F     5 15%       3  6%
       ------      ------
       34          48

Calendar and Important Dates

         Aug                    Sep                    Oct        
 S  M Tu  W Th  F  S    S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
             1  2  3    1  2  3  4  5  6  7          1  2  3  4  5
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    6  7  8  9 10 11 12
11 12 13 14 15 16 17   15 16 17 18 19 20 21   13 14 15 16 17 18 19
18 19 20 21 22 23 24   22 23 24 25 26 27 28   20 21 22 23 24 25 26
25 26 27 28 29 30 31   29 30                  27 28 29 30 31      

                    Nov                    Dec
            S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
                           1  2    1  2  3  4  5  6  7
            3  4  5  6  7  8  9    8  9 10 11 12 13 14
           10 11 12 13 14 15 16   15 16 17 18 19 20 21
           17 18 19 20 21 22 23   22 23 24 25 26 27 28
           24 25 26 27 28 29 30   29 30 31
Tuesday, August 27, 1996first lecture
Thursday, August 29, 1996Advisor/Advisee luncheon (no class)
Monday, September 2, 1996no classes--Labor Day holiday
Thursday, September 19, 1996first midterm, Chapters 1-4
Tuesday, October 15, 1996second midterm, Chapters 5, 6
Tuesday, November 12, 1996third midterm, Chapters 7-9
Thursday and Friday, November 28-29, 1996no classes--Thanksgiving holiday
Tuesday, December 10, 1996final exam, Chapters 1-12 (3:30pm-5:30pm)

Quote by E. W. Dijkstra

We now know that a programmable computer is no more and no less than an extremely handy device for realizing any conceivable mechanism without changing a single wire, and that the core challenge for computing science is hence a conceptual one, viz. what (abstract) mechanisms we can conceive without getting lost in the complexities of our own making.

E. W. Dijkstra, "On a Cultural Gap," The Mathematical Intelligencer, volume 8, number 1, 1998, page 49.


Ryan Stansifer <ryan@cs.fit.edu>
Document location: http://www.cs.fit.edu/~ryan/cse1001/
Last modified: Thu Nov 21 13:20:26 EST 1996