CSC 210

Introduction to Programming using C++

Fall 2002


Instructor : Dr. Ilmi Yoon
Lec. session(04)
T TH 2:10 - 3:25 pm
Lec. Location:
TH 331
Office Phone
(415) 338 - 2335
Office #:
TH 970
Office Fax
(415) 338 - 6136
Office Hours:
T TH  11:00 - 12:30 pm
Email Address
yoon@cs.sfsu.edu
Mailing Address
Computer Science Department
San Francisco State University
1600 Holloway Avenue
San Francisco, CA 94132

Course Overview
The main goal of this class is to give you the basic concept of communications with computers. You will learn how computer understands your instructions. (programming language, a given syntax). Towards this end, you will learn useful building blocks (control structures, functions, iterations, pointers, structure, File I/O, arrays) of computer applications. You will also learn about Object-oriented programming and problem solving techniques, a good way of coping with the complexity of larger applications.

Course Web page

http://tlaloc.sfsu.edu/~yoon/csc210
 
Prerequisites Grade C or better in Math 226 or Math 220 and concurrent or prior enrollment in CS212. Non-CS majors having CS 210 as a mandatory class are encouraged to take CS212, but for them the prerequisite is only Math 226
Text H.M. Deitel and P.J. Deitel: C++ How to Program. Third Edition. Prentice Hall.
Recommended Reader Jozo Dujmovic, Introduction to Computer Programming. 
San Francisco State University, 1998. 

 
Schedule of Lecture 
Week
Topic
Readings
Course Notes
Misc.

(starting from 8/29)
Introduction to Computers and Programming  Chapter 1
History
Unix Notes
Visual C++ Notes
Project 1
Slides
 

(starting from 9/3)
Computer organization & Data Types 
Unix & Data Types, Simple Input/Output
Reader Chapter 1 & 2 Slides   

(starting from 9/10)
Control Structures (Conditional Statements) Debugging Chapter 2    

(starting from 9/17)
Control Structures (Iterative Statements & Break & Continue) Chapter 2 Project 2 
Slides
Project 1 Due 

(starting from 9/24)
Functions  Chapter 3  Slides  

(starting from 10/1)
Review & Midterm I examination      

(starting from 10/8)
Function (Call by Reference & Call by Value)  Recursion Chapter 3    Project 2 Due

(starting from 10/15)
Array (Concept and One dimensional Array) 
String
Chapter 4  Project 3
Slides
 

starting from 10/22)
Arrays                     (Multidimensional) 
Pointers
Chapter 4  Slides  
10 
(starting from 10/29)
Pointers
Problem Solving - Algorithm Development
Chapter 5     
11 
(starting from 11/5)
Review & Midterm II examination   Project 4 Project 3 Due
12 
(starting from 11/12)
File Processing 
I/O Stream handling
Chapter 11 Slides  
13 
(starting from 11/19)
Structure and Class
(Object Orient Programming)
Chapter 6    
14 
(starting from 11/26)
Operator Overloading
and other issues
Chapter 7 & 8  11/28 - ThanksGiving   
15 
(starting from 12/3)
Pointers
Numerical Analysis
Number System
Reader    Project 4 Due day 
16 
(starting from 12/10)
Final Review      

Exams

The mid-terms and final are cumulative, since much of the later material in the course depends on the early material. All exams are closed book, closed note. Makeup exams will not be given. Absence due to a serious illness will be an acceptable reason for missing an exam, and the final grade will be scaled accordingly.

Computing

All programs should compile and execute on the Sun workstations using the g++ compiler.

Assignments

Programming assignments are graded on thorough testing, documentation, and style, as well as correctness. All work to be submitted for the class is to be done individually unless an assignment specifies otherwise.

Late policy. You may turn in a program up to 5 days late for a penalty of 50 points of the available points (10 points each day). So, for example, if you would have gotten a 70/100 and submitted 2 days late, you will get 50/100. For programs due on Friday, Monday will be considered two days late. After the 5 day grace period, a late program receives no credit.

Grading

The following is the relative weight of each part of the course work. At the end of the semester, you will have a score out of 100 percent. This score will be used in a class curve (relative ranking) to arrive at a letter grade.
Assignments  20%
Midterm 2 * 20%
Final 40%