|
 Computer Programming
(C++)
Final
Grades
:
final
grades 85/04/27
Exams :
See Final
Exam Results
Project :
handout :
85/04/24
download
project file
Download
Presentations:
All
Lectures
Course
Materials:
Textbook: C++
How to Program, Second Edition (or Forth Edition), by H.
M. Deitel and P. J. Deitel, published by Prentice Hall, 1998 (2003),
Translated by: Dr. Saheb Zamani.
Useful References --
Books: There are well over a thousand books in
print relating to C and/or C++ programming. Many are highly
specialized, but there are many books which could be useful to
someone just learning C/C++. Following are some of the C++ books I
recommend.
Printed
Books:
- Object-Oriented Programming
in C++, Third Edition by Robert Lafore published by SAMS,
1999. The ISBN is 0-57169-160-X This book
provides a clear and well-written description of C and
C++. The order of presentation of the topics is somewhat
different than Deitel and Deitel, and the level of detail is
much reduced. This is a good alternate if you'd like a
different style of presentation and different examples.
- Programming Visual C++,
Fifth Edition by David J. Kruglinski and George Shepherd
published by Microsoft Press, 1998. The ISBN is
1572318570. This is the book by Microsoft Press is the
one that that Microsoft recommends for teaching Visual C++
6.0. It is comprehensive and tailored specifically to
Microsoft's version of the language. The book is based on
an earlier successful series of C++ books. Caution:
this book is much better if you already have background in
C/C++.
- C++ for Dummies 3rd
Edition by Stephen R. Davis published by IDG Books, 1998.
The ISBN is 0764503898. This book assumes that the
reader knows some C language. For this reason many readers
will find it difficult to understand (despite its title),
particularly at the beginning. Later in the book it's
clarity and simplicity of presentation seems to work
better. It is written in a light-hearted style.
Return
to top of page
Useful References --
On-Line Sources:
General Information
on C++:
- See references in Deitel and
Deitel Appendix D
On-Line
Books:
- Macmillan Computer Publishing
-- you can sign up for a free (!) personal bookshelf with up
to five computer (including C++) books
- Thinking
in C++ 2nd Edition by Bruce Eckel published by
Prentice Hall and will be available in 2000, but is available
now on-line. This book is oriented to large scale systems
development and teaches object concepts right from the
beginning.
Tutorials:
Most C++ tutorials are for
specialized groups of users, such as those learnign C++ after
knowing C, or after knowing Pascal.
Return
to top of page
Integrity of Effort
Every student is required do his/her own
work. Every project submitted must include a signed statement
that the project is solely the work of the person submitting the
project. Any one who copies another person's program, or part of the
program, and submits it as his/her own work will receive an "F"
grade in the course. Anyone who allows their work to be copied will
receive an "F" grade in the course.
Return
to top of page
Grading
| Item |
Grade |
| Projects |
4 |
| Midterm Exam
|
6 |
| Final
Exam |
8 |
| Quizzes and
Take-Home Assignments |
2 |
| Total |
20 |
Tentative Schedule and Topics
:
|
Week |
Topic |
Reading /
Assignment |
|
1
(84/06/26) (84/06/28) |
Introduction to Computer & Programming
Deitel
Chapter 1 Introduction, What is a Computer? ,Computer
Organization, Evolution of Operating Systems, Machine
Languages, Assembly Languages, and High-Level Languages,
History of C and C++, Java, Visual Basic, Visual C++ and C# ,
Structured Programming, Object Technology.
Workshop:
Introducing C++ Environments.
|
Buy C++ How to
Program by Deitel and Deitel textbook Acquire and
install Microsoft Visual C++ 6.0 or Borland C 3.x for
Dos: Read Deitel Chapter 1 Review Chapter
Questions (not to be turned in) Do Exercise
1 |
|
2
(84/07/02) (84/07/04) |
Control Structures
Deitel
Chapter 2 Assignment statements Increment and decrement
operators Control structures and their implementation in
C++ ---break and continue
Workshop |
Read Deitel
Chapter 2 Do Exercise 2 |
|
3
(84/07/09) (84/07/11) |
Functions
Deitel
Chapter 3 Why use functions Writing a function Using
a function Function definitions Function
prototypes Placement in the file Separate
files Recursion Call by value References and
Reference Parameters
Workshop |
Read Deitel
Chapter 3 Do Exercise 3 |
|
4-5
(84/07/16) (84/07/18)(84/07/23) (84/07/25) |
Arrays
Deitel
Chapter 4 Intro to collections What is an
array Arrays of different types (ints, chars, structs,
...) Declaring arrays Accessing array elements Uses
of arrays Passing arrays to functions Uses of
arrays Passing arrays to functions
Workshop Quiz
1 |
Read Deitel
Chapter 4 Do Exercise 4 |
|
6-7
(84/07/30) (84/08/02)(84/08/07) (84/08/09)
|
Pointers and C-Strings
Deitel
Chapter 5 Addresses and Pointers Pointer
variables Pointers: --- to various types of data
types ---to arrays Using pointers as args with
functions Use of the const qualifier Subscript and
pointer arithmetic Strings as char arrays Manipulating
C-Strings Library functions for manipulating
C-Strings
Quiz
2 |
Read Deitel
Chapter 5 Do Exercise 5 |
|
8
(84/08/14) (84/08/16)
|
Workshop Midterm Exam |
|
|
9-10
(84/08/21) (84/08/23)(84/08/28) (84/08/30) |
Sructs and Classes
Deitel
Chapter 6 Relationship of Structs to
Classes Structs ---Defining a struct ---Using a
struct ---Accessing members of the struct ---Passing a
struct to a function Defining a class Advantages from
using classes Accessing class members Controlling
access Constructors ---Default
constructors ---Multiple constructors ---Default
arguments Destructors Single files, multiple files,
header files
Workshop |
Read Deitel
Chapter 6 Do Exercise 6 |
|
11
(84/09/05) (84/09/07)
|
Creating and Using Classes
Deitel
Chapter 7 Composition: Objects within
objects Principle of Least Privilege ---const
objects ---const member functions Friend
functions Use of the "this" pointer Dynamic memory
allocation ---new operator ---delete operator Static
members
Workshop Quiz 3 |
Read Deitel
Chapter 7 Do Exercise 7
Start Your Final
Project |
|
12
(84/09/12) (84/09/14) |
Operator Overloading
Deitel
Chapter 8 What is an overloaded operator Purposes of
overloading Overloading functions vs overloading
operators Defining an overloaded operator Member
operator functions vs friend
functions Workshop |
Read Deitel
Chapter 8 Do Exercise 8 |
|
13
(84/09/19) (84/09/21) |
Inheritance
Deitel Chapter
9 What is inheritance (differentiate it from
composition) Why use inheritance Base classes and
derived classes Access controls Constructors for derived
classes Use of pointers with base/derived classes
Workshop Quiz
4 |
Read Deitel
Chapter 9 Do Exercise 9 |
|
14-16
(84/09/26) (84/09/28)(84/10/03) (84/10/05) (84/10/10) (84/10/12) |
Advanced Topics (selectively, as time
permits)
Stream I/O
(Chapter 11) Exception handling (try, throw and
catch) (Chapter 13) File Processing (Chapter
14) Data Structures (Lists, Stacks, Queues, etc.)
(Chapter 15) String objects (Chapter 16)
Workshop |
|
|
17
(84/10/25) |
Final Exam |
|
Return
to top of page
Exercises :
Chapter1: ..., 34, 35,
39
Chapter2: 14, 15,
38, 55
Chapter3:
30, 45, 50, 57, 59 : handout
date: Saturday,
84/7/23
Chapter4:
....
Chapter5:
....
Return
to top of page
Samples:
Finding
palindrome sentences
Return
to top of page
|