
2000/2001 academic
year
Spring semester
Course Desciption
Navigation Tips:
|
«Programming Languages and OOM» is a second year course in Computer Engineering
Department curriculum. As a result of recent changes in the teaching program, this course
is mainly aimed now at both continuation of mastering C programming skills and introduction of C++ programming language (structured and object-oriented constituent
components). With this contents the CMPE-212 course is given in the Department for the first
time in Spring
semester of 2000/2001 academic year
For the time being CMPE-102 («Introduction to C Programming») remains a compulsory prerequisite for the «Programming Languages and OOM» course. Taking into consideration a fact that this course is
taken by students who just passed an introductory C course (a lucky minority of students also took CMPE-231 «Data Structures» before), we decided to keep links (see indicated clauses in the column below) to
those didactic materials (C laboratory experiments sheets, lecture slides, etc.), which
were used in CMPE-212 and later in CMPE-102 courses for the last 2 years. We strongly
recommend to keep for reference the books, which were recommended earlier in CMPE-102 course, especially «A Book on C. Programming in C» by Al Kelley and Ira Pohl, 4th edition, Addison-Wesley Publ., 1998
For the Spring semester of 2000/2001 academic year we selected the
textbook «Schaum's
Outline of Programming with C++» by J.R.Hubbard, McGraw-Hill,
Inc., 2nd edition, 2000. In the
lectures and laboratory experiments we intend to follow strictly the material of this book, although we also ordered for the bookstore
extra copies of other well-known C++ titles. As a result of transitional period in
Departmental curriculum, we intend in CMPE-212 course to provide introduction
to C++ and to cover both
structured and object-oriented aspects on the language. Later on "in-depth"
discussion of OOP (C++ and, most probably, Java) will be continued in CMPE-318 course
for more information see the Course
Description
the duration of the course is 13 weeks = 46
lecture hours
+ 6 tutorial hours
the course starts on March
15-19, 2001 (depends on
the group) with a short introductory lecture
------------------------------------------------------
Extra
titles for C++ related courses include:
[1]
A.Koenig,
B.E.Moo. Accelerated
C++. Practical
Programming
by Example,
Addison-Wesley,
2000, 352
p. (C++
In-Depth Series)
[2]
S.Lippman.
Essential C++,
Addison-Wesley,
1999, 288
p. (C++
In-Depth Series)
[3]
B.Stroustrup.
The C++
Programming Language,
Longman
Higher Education, 2000, 1040 p.
[4]
H.M.Deitel,
P.J.Deitel. C++
How to Program,
Prentice
Hall, 3rd edition, 2000, 1230 p. |
Last modified on
February 10, 2004
|
This page is dedicated to one course «Programming Languages and Object-Oriented Methodology (OOM)» (CMPE-212) and corresponding materials on C/C++.
This is a new course for the Department (previously C++ Programming was given only to
third year students), and it is considered as a continuation of a C-based «Introduction to Programming» course (CMPE-102). The main topics of the course
cover both structured (process-oriented) and object-oriented aspects of C++. It includes
types, selection/iteration, pointers & references, arrays, functions, classes and
objects, overloading, composition and inheritance, templates.
The courseware is updated regularly, and most of the prepared materials and project work
done by students remain free for downloading...

Below You see links to courses given since
1997. I'm still trying my best to collect together all materials, which were prepared for
these courses (the work done by students is also covered):






(primarily
covers materials on C programming, i.e. laboratory experiments, lecture notes, selected
lecture slides, examples and explanations). In the Spring semester of 2000/2001 academic
year the course will be given in C++, and the corresponding documents will be published
here as well. The prerequisite for this course is CMPE-102, which provides an introduction
to C programming)

(this Graduate
course was given in the Department for the first time in the Spring semester of
1999/2000 academic year. Currently, the page summarizes one-semester work including
lecture notes (publically available slides), MATLAB examples and parts of projects
prepared by students. Links to different commercial and non-commercial "fuzzy"
software packages are provided. Later on I have a plan to modify the course and to
introduce also a chapter on Neuro-Fuzzy Systems)

(this page is still under
construction, but the main idea is to put together interesting links related to C/C++
programming and Fuzzy Logic. They indicate my interests and preferences, but on the other
hand, it is a source of information for students, a starting point to gain something new
(explanation, other links, tutorials, etc.)

Note: All rights to following logo, images and information contents belong to
respected designers and owners of the corresponding web sites

Web site of Adobe Systems Inc. Adobe Acrobat Reader® (one of the company's products) is a software for viewing and printing documents
in Adobe Portable Document Format (PDF).
The current version
available for FREE downloading is 4.05c (English). All major platforms are supported. The size of
downloading file is 5.6 Mb
WROX is one of the biggest and successful publishers
for computer programmers (since 1992). Its activity in «delivering
solutions to working programmers» is not limited only to books (C++, VC++, COM,
GNU/Linux, HTML, Java, SQL, Visual
Basic, etc.) - there are also conferences and mailing resources

C++ In-Depth
Series (Addison-Wesley
Publ., Bjarne Stroustrup, Editor) was
inspired by the adoption of C++ Standard in 1998; its aim is to «minimize
learning time and confusion by giving programmers concise, focused guides to
specific topics». Two titles are recommended in the course (for
those who want to improve his/her skills in C++) - these are «Essential
C++» by S.B.Lippman
and «Accelerated
C++» by A.Koenig,
B.E.Moo

InformIT is a subsidiary of Pearson
Education. Its site provides many
IT resources and news. Free
Library contains electronic books in
fields of Databases, Programming,
Operating Systems, Software
Engineering, Networks, etc.

This Web
site provides a comprehensive list of
Palm
related
resources
(programming, development
tools, newsgroups)

The software («dynamic reading engine») from Microsoft® for electronic (computer on-screen) reading of eBooks on PCs and Pocket PCs (enriched with ClearType display technology, which provides clear appearance of words on the monitor's
screen). PC's
version is available for FREE
downloading. FAQs and answers about Microsoft
Reader help to get more information about the product

Download FREE OverDrive's ReaderWorks© Standard (version 1.0) eBook authoring software for converting
documents to Reader eBook format. Requires Windows 98,
Windows NT (SP5) or Windows 2000 operating system (file for downloading is 1.38 Mb)

The site (City of eBooks
- texts of books «enhanced by the magic of computer technology»)
is operated by Versaware. Registration is required for
reading and downloading books to My Library, using eReference Center, etc.

Independently operating subsidiary of Motorola, Metrowerks company develops and supports CodeWarrior®
development tools (CodeWarrior offers a
choice of several programming languages: C, C++, Object Pascal and Java). Recently they
announce the MMAP program (Motorola and Metrowerks academic program)

Books
on C and C++ (Amazon.com site offers around 100 titles)

The web site of Deitel
& Assoc.,Inc., an internationally
recognized «organization specializing in programming languages,
Internet/WWW technology and object oriented education». How to Program series (C,C++,e-Business,Perl,XML,Java,...)
published by Prentice Hall remain among the best titles
for Computer Science/Engineering courses
 |




 |
*** ALL LABORATORY EXPERIMENTS in the course (Spring semester, 2000/2001 academic year) are based on the exercises and examples covered
by the TEXTBOOK
Before each laboratory experiment we'll announce the exercises which MUST be prepared before entering the lab - during the lab one or
two extra experiments are specified by assistants, and they have to be performed «on the
spot».
Laboratory works start on April 2, 2001 (Monday) - the 1st
experiment uses tutorial on Visual C++ 6 by H.M.Deitel and P.J.Deitel
|

|
Laboratory
experiment # 1
ZIP (MS Word 2000), 43 Kb -
PDF file, 52 Kb |

|
Laboratory
experiment # 2
ZIP (MS Word 2000), 49 Kb -
PDF file, 62 Kb |
 |
Laboratory
experiment # 3
ZIP (MS Word 2000), 47 Kb -
PDF file, 59 Kb |
 |
Laboratory
experiment # 4
ZIP (MS Word 2000), 58 Kb -
PDF file, 58 Kb |

|
Laboratory
experiment # 5
ZIP (MS Word 2000), 36 Kb -
PDF file, 54 Kb |

|
Laboratory
experiment # 6
ZIP (MS Word 2000), 46 Kb -
PDF file, 56 Kb |

|
Laboratory
experiment # 7
ZIP (MS Word 2000), 44 Kb -
PDF file, 53 Kb |

|
Laboratory
experiment # 8
ZIP (MS Word 2000), 33 Kb -
PDF file, 98 Kb |
| |

|
Note that these are SAMPLES of laboratory sheets of the 1999-2000 academic year (Spring semester)! |
|
Use Aladdin GhostScript® for viewing and printing PS files (FREE downloading, English version 6.01) |
top
of the page 



PowerPoint
Viewer 97 (release 2000;
Windows
95/98/NT/2000)® can be used
for opening,
viewing and printing of PowerPoint
presentations
(.ppt files). It can be freely downloaded (2.7Mb) from
Microsoft
site |

|
Course
slides 1-50 (1999/2000 acad. year)
PowerPoint 97 file; 453 Kb
[archieve ( ZIP; 183 Kb)] |

|
Course
slides 51-120 (1999/2000 acad. year)
PowerPoint 2000 file; 541 Kb
[archieve ( ZIP; 225 Kb)] |

|
Course
slides 121-135 (1999/2000 acad. year)
PowerPoint 2000 file; 175 Kb
[archieve ( ZIP; 59 Kb)] |
| |
|
«...With minor
exceptions, C++ is a
superset of C. Most differences stem from
C++'s greater emphasis on type checking. Well-written C programs tend to be C++ programs as
well. All differences between C++ and C
can be diagnosed by a compiler.
...C++ sits on the shoulders of C, one of the most important and widely used
programming languages ever for both systems programming and applications. C++ is a rich and flexible language that embodies all
of the important principles of object-oriented programming.
These factors have contributed greatly to its acceptance in the professional world
...The C language is like a carving knife: simple, sharp, and extremely useful in skilled hands.
Like any sharp tool, C can injure people who don't know how to handle it».
B.Stroustrup.
The C++ Programming Language,
3rd edition, Addison-Wesley, 1997 ©
K.R. Irvine. C++ and Object-Oriented Programming,
Prentice Hall, 1997 ©
A. Koenig. C Traps and Pitfalls, Addison-Wesley, 1989 © |




top
of the page 


|
COSC2409
C++ Programming
(University of Wyoming, Department of
Computer Science). Online resources include (1997) C++
summary, projects, program
documentation & quality standards |
|
CSE231
Introduction to
Programming I (Michigan
State University, Department of Computer Science and Engineering). Includes on-line examples, laboratory exercises, supplement materials of
instructors, projects |

|
World Lecture Hall
Z.Turk. Introduction to
Object-oriented computing. A collection of 40 overheads |
 |
A C++ Introduction
by Prof. R.Pooley
It is assumed that a reader is
already familiar with ANSI C. Includes five C++ programming milestones which
incorporate exercises for better understanding of the material |

|
C++
Course Notes by I.D.Chivers. Notes are currently available in PS, PDF and HTML (Netscape) formats |
 |
C++ Programming Language Tutorials by
D.C.Schmidt (University of California, Washington University). Lecture handouts are available in PDF format.
While reading, please, check compatibility with a recent ISO/IEC C++ Standard... |

top of the page 




|
All these files are available ONLY in the
electronic form. To run programs use Visual C++ 6 or Borland C++ 5.5 compilers (examples were prepared in Visual C++ 6 Introductory
Edition)
Last modifications: March
28, 2001 |
|
file1.pdf |
8 introductory examples cover standard input/output stream
operators, extraction >> and insertion <<
operators, manipulators endl, setw( ), setprecision(
), setiosflags( ), casting operator static_cast<type>(
)
The size of the file is 39
Kb |

top
of the page 



Want to save Your time while preparing C source code?
Try C Programming Wizard (version 1.0) written by Buket Çizili and Boran Gazi (Spring' 2000 graduates).
C Programming Wizard is a program that makes things easier -
You simply construct the code, inserting predefined C "templates" (directives,
declarations, expressions, statements, calls to library and user-defined functions,
comments, etc.) into the text of the future program. Extended Help
facilities (HTML format) direct Your work and teach at the same
time. The program can be especially helpful for those who make first steps in C
language.
The installation of C Programming Wizard (CPW 1.0) includes several steps (see readme.txt
file for more explanations). If You have found any deficiencies or bugs while using CPW,
please, send comments by e-mail. Words of gratitude
to authors are also welcome... Enjoy!
The final version of CPW
1.0 was released on January 25, 2000. Zip-archieve (526
Kb) includes 52 files in
subdirectories.
---------------------------------------------
Code Checker
program (version 0.1) was also prepared by Buket Çizili and Boran Gazi - our original idea mainly dealt with the attempt to design
the algorithm for checking syntactic correctness
(correspondence to prototypes) of ANSI C function calls in the source code. The current
simplified implementation of Code Checker (CoCh 0.1)
"recognizes" and checks 7 standard functions from stdio.h header file - these
are printf, fprintf, puts, fputs, putc,
fputc and putchar. Errors and
any suspicious cases found in function calls are indicated by messages and warnings.
Installation steps are explained in readme.txt
file. The proposed algorithm (code checking mechanism)
can be extended to cover other ANSI C function calls as well.
The final version of CoCh
0.1 was released on January 25, 2000. Zip-archieve (387
Kb) includes 4 files in subdirectories
|
 |
top of the page 


| |
|

|
«C++ for C Programmers» by
Ira Pohl
(ISBN 0201395193)
|

|
«Schaum's
Outline of Programming with C++» by J.R.Hubbard, 2nd
edition
(ISBN 0071353461), McGraw-Hill, 2000
[ * recommended as a CMPE-212 textbook * ]
|

|
«C++ How to Program» by
H.M.Deitel, P.J.Deitel
(ISBN 0130895717), Prentice Hall, 3rd edition
[ one of the best-selling textbooks on C++ ] |

|
«Accelerated
C++» by A.Koenig, B.E.Moo
(ISBN 020170353X), Addison-Wesley |

|
«C++ from Scratch» by J.Liberty
(ISBN 0789720795), QUE |
|