CSE 9A-B--Introduction to Computer Science (C++ version) (Two Quarters)
Computer Science and Engineering Department, UCSD

Syllabus


These are group by topic. The order of presentation will not be exactly as shown here. The material is essentially the first eleven chapters of the Savitch text and that would serve as a good guide for a more detailed syllabus.

Basic UNIX Skills:

File management
Directory structures
Use of a Text Editor
Use of email

C++ Basics

Variables and Expressions
I/O using iostream
Basic Data Types
Simple Flow of Control
Basic Style Rules
Testing and debugging Loops

Functions

Procedural Abstraction as a Technique
Top-Down Design
Use of Pseudocode
Preconditions and Postconditions
Predefined Functions
Type Changing Functions
Programmer-Defined Functions
Local Variables
Global Defined Constants
Call-by-Value and Call-by-Reference Formal Parameters
Overloading Function Names
Functions That Return a Logical Value (Boolean Functions)
Testing and Debugging Functions
Stubs and Drivers

I/O Streams for File I/O

How and Why to Use Files for I/O
Streams as an Introduction to Classes and Objects
File Names as Input
Manipulators
Streams as Arguments to Functions
get and put
putback and/or peek
The eof Member Function
Text File Editing Techniques.

Defining Classes and Abstract Data Types 282

Structures (Briefly)
Abstract Data Types
Classes
Defining Classes and Member Functions
Public and Private Members
Constructors for Initialization
Default Constructor
Friend Functions
Accessor Functions
The const Parameter Modifier
Overloading Operators

Separate Compilation

Header Files
#ifndef
Very Simple Make Files

Arrays

Declaring and Referencing Arrays
Use of for-Loops with Arrays
Arrays in Memory
Arrays as Function Arguments
The const Parameter Modifier with Arrays
Partially Filled Arrays
Very Simple Searching and Sorting of Arrays
Arrays of Classes
Arrays as Class Members
Very Brief Discussion of Multidimensional Arrays

C Style Strings

Uses and Pitfalls of string.h
How to Define A String Class

Simple use of Pointers and Dynamic Objects

Topics Not Covered

The following are not covered until the following course (CSE 12):

Recursion
Defining Derived Classes
Templates


wsavitch@ucsd.edu
September 27, 1996