Syllabus of CISP300

2012 Spring Section 10960

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.

01/17/12

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.

01/17/12

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

01/24/12

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.

01/31/12

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

02/07/12

First exam

02/14/12

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

02/16/12

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

02/23/12

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

03/01/12

Records and user defined types. Nested aggregate types.

03/13/12

Second exam

03/15/12

Abstract data type: rationale, example and definitions.

03/20/12

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

03/27/12

Inheritance and extension. Abstract classes.

04/10/12

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

04/19/12

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

04/26/12

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

05/03/12