Shahed University - Computer Courses

ConferencesSoftwareInternational

Arrow

Search

Arrow

Instructor

Arrow

Students

Arrow

Courses List

All Courses List
Arrow

Advanced Programming

Data Structure

Programming (Pascal)

Computer Fundamentals

 

 

 

 

    Sep.  2006, Tehran, I.R.Iran


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

 

 

           


Home | Courses | Links | About

© 2004, Shahed University, Science Department.
Bijani

Hit Counter