Syllabus of CISP300

2010 Fall/Spring Section 12776

Class information

Professor information

Behavioral expectations

Resources

Grading

Schedule

Topic

begin date

Introduction to algorithms. Explain the role of algorithms in computer science and programming.

08/23/10

Present types of statements: sequences, conditional statements, loops. Represent control statements as pseudo code as well as graphical form. Nesting statements. Discuss basic properties of each type of statement.

08/23/10

Discuss the use of variables in an algorithm. Present methods to track variables during the execution of an algorithm.

08/30/10

Logical expressions and how they are used in various kinds of statements. The difference between a condition and a statement. Identify the pre and post conditions of a statement.

09/08/10

Top-down design: reasons and techniques. Relate top-down design to control structure selection.

09/15/10

First exam

09/22/10

Introduction to arrays and array indexing. Explain the limitations of the lack of arrays.

09/27/10

Basic algorithms involving arrays, such as searching in an unsorted and sorted array.

10/04/10

Rationale of subroutines. Kinds of parameters and local variables. The invocation of subroutines.

10/11/10

Records and user defined types. Nested aggregate types.

10/20/10

Second exam

10/25/10

Abstract data type: rationale, example and definitions.

10/27/10

Limitations of ADT. Introduction to object orientation concepts. Classes and objects.

11/03/10

Inheritance and extension. Abstract classes.

11/10/10

Complexity of algorithms. The big-O notation. Estimate of execution time.

11/22/10

File operations and algorithms that work with files, such as merge sort.

11/29/10

Syntax of a language, and how syntax is described by a meta language, such as BNF.

12/06/10