UNIVERSITY OF DELAWARE <br>
 DEPARTMENT OF COMPUTER AND INFORMATION SCIENCES
CISC 181---Intro. to Computer Science Fall 1999
Syllabus

Genius is one per cent inspiration and ninety-nine per cent perspiration.
--- Thomas Alva Edison

Objectives Preqs Texts Topics & Calendar Other Dates

Instructor B. F. Caviness, 448 Smith Hall, email: caviness@udel.edu
Office Hours -- 1:30-3PM Wednesdays and by appointment
Phone: 831-8234

Course Objectives

The primary objective of this course is to begin a study, that will be continued in CISC 220, 280 and 320, of the tools that one needs to be a well-educated and effective software engineer. These ingredients include
  1. The thorough knowledge of several programming languages.
  2. Skill in using various software engineering tools such as editors, debuggers, profilers, etc.
  3. Knowledge of a wide variety of data structures, their associated algorithms, and how to use them appropriately in applications. This is the primary emphasis of CISC 220.
  4. Skill in assuring correctness of programs. This involves testing of programs and proofs of correctness, i.e., program verification. These are important emphases in CISC 220 and 320.
  5. Ability to analyze the resources (computer time and memory) needed by a program, i.e., analysis of algorithms. Also important emphases of CISC 220 and 320.

In CISC 181 we will be primarily concerned with items (1) and (2) with some attention to items (3) and (4). Our main emphasis will be on the study of the programming language C++, a fairly recent extension of the widely used C language. C++ contains many features to support modern concepts in software engineering --- concepts that are not a part of C. For this reason and because C++ is (almost) a superset of C, C++ is replacing C as the programming language of choice in a wide variety of applications. Our objectives in CISC 181 will be to

Prerequisites

Students are assumed to know at least one computer language like C, Pascal or Basic. This is an important prerequisite. If you do not know such a language, please see me immediately. Also you are assumed to have a working knowledge of an editor like pico or vi.

Texts

Tentative Topics and Calendar

New material will be introduced first through the reading, then discussed in lecture, used in daily homework assignments, and then used in projects. Reading assigned on a given date is to be done before the next lecture. The labs will be devoted to explanations of the mechanics of using the various software used in the course, help with techniques of debugging and testing, on-line exercises to reinforce the above, etc.
Topics Approx. Number of Lectures
Chap. 1, Intro. to Computers & C++ 2
Chap. 2, Control Structures 2
Chap. 3, Functions 3
Chap. 4, Intro to arrays 1
TEST 1 Tues, Sept 28
Chap. 4, Arrays cont., Chap 5, Pointers & Strings 2
Chap. 6, Classes & Data Abstraction 3
Chap. 7, Classes: Part II 3
TEST 2 Thur, Oct 28
Chap. 8, Operator Overloading 1
Chap. 11, Stream I/O 1
Chap. 15, Data Structures 2
Chap. 9, Inheritance 2
Final Exam Exam Week (12/10--12/17) --- TBA

Other Important Dates

Labor Day, no labs Monday, Sept 6
Fall Break, no classes, Friday, Oct 8
Last day to drop w/o academic penalty Tuesday, October 26
Thanksgiving Break November 25--26
Last CISC 181 class Tuesday, December 7


Back to the
CISC 181 homepage.

This page has been accessed times since 2 Sept 1999.

Corrections, suggestions and comments to caviness@cis.udel.edu

Copyright 1999 B. F. Caviness