This page covers 1 (one) CMPE course


Home Page        Links to Internet Sources       Software Implementation of Fuzzy Systems

Data Structures, C and Operations Research          


COURSE 1:  CMPE-212  "Programming Languages and Object-Oriented Methodology"


ret5.png (44928 bytes)
                        
rustitle4.gif (2904 bytes)
               
FrontPage'98 and FrontPage'2000 editors were used in the preparation of the page


           

bd15170_.gif (897 bytes)  Extra recommended books on C++  [19/04/01]
bd15170_.gif (897 bytes)
  Comments on CMPE-212 Laboratory Experiment #4  [10/05/01]
bd15170_.gif (897 bytes)
  Updated link to C Programming Wizard & C Checker 
    
(Graduation Project by B.Çizili and B.Gazi)  [20/04/01]
bd15170_.gif (897 bytes)
  New link to WROX Publ. and C++ In-Depth Series  [20/04/01]


sm212.png (27846 bytes)

2000/2001 academic year
Spring semester


 
  Course Desciption

    Navigation Tips:

CMPE-212 Course Description
(Spring semester, 2000/2001 academic year)

Laboratory Experiments
(
C language, 2000/2001 academic year + explanations of C++ experiments, Spring 2001 semester)

C Lecture Slides (135 slides that cover basic C Programming course)

Web-based C++ Materials
(Explanations, Lab Sheets, Tutorials)

Introductory C++ courses in other Universities

Student Projects
«C Programming Wizard»
and «Code Checker»
(versions 1.0 / 0.1,
June 2000)

Recommended Books

  

      
Hit Counter

public26.png (29653 bytes)
      

   
               
bd15170_.gif (897 bytes)   «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
        
bd15170_.gif (897 bytes)  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
       
bd15170_.gif (897 bytes)  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
  
------------------------------------------------------     
           

bd15170_.gif (897 bytes)
  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
   

              

momomo1.png (30254 bytes)
      
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):

           


 

          

  CMPE-212

(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)
    
  
 
CMPE-586
  

(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)
     

  Internet resources

(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
        

  Get Acrobat Reader
   
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
     

   newwroxlogo.gif (715 bytes)  
      
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)
     

  Download MS Reader
       
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 ReaderWorks
      
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)
       

  eBookcity.com
      
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.
       

  Metrowerks company
     
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)
       

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

  deitel.gif (1798 bytes)
     
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
           

                           

                       
arr pork32a.png (49805 bytes)

bd15170_.gif (897 bytes)  CMPE-212 Course Description  (2 pages)
explains main topics covered in the course and grading policy, provides information about recommended books and general comments
The document is available in two formats:
   
  disk1.gif (866 bytes) 
MS Word 2000 (.doc file, 37 Kb)
  disk1.gif (866 bytes) 
Adobe Acrobat Reader (.pdf file, 21 Kb)

pork220.png (48760 bytes)

***  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

1190.gif (980 bytes)

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

1190.gif (980 bytes)

Laboratory experiment # 2  
ZIP (MS Word 2000),
49 Kb -  PDF file, 62 Kb

1190.gif (980 bytes)

Laboratory experiment # 3  
ZIP (MS Word 2000),
47 Kb -  PDF file, 59 Kb

1190.gif (980 bytes)

Laboratory experiment # 4  
ZIP (MS Word 2000),
58 Kb -  PDF file, 58 Kb

1190.gif (980 bytes)

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

1190.gif (980 bytes)

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

1190.gif (980 bytes)

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

1190.gif (980 bytes)

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)!

bd15170_.gif (897 bytes)   Use Aladdin GhostScript® for viewing and printing PS files (FREE downloading, English version 6.01)

     

  top of the page  
    

pork221.png (51480 bytes)

   puzzle.gif (1276 bytes)   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

1190.gif (980 bytes)

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

1190.gif (980 bytes)

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

1190.gif (980 bytes)

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  ©


            

pork230.png (57283 bytes)

         

l_red.gif (162 bytes)

Getting Started with Visual C++ 6  (a short 24 pages tutorial prepared by H.M.Deitel and P.J.Deitel). Provides an overview of Visual C++ IDE, explanations of how to create, execute and debug an application. The file (360K) is available in PDF format 

l_green.gif (177 bytes)

For the TUTORIAL (lab. work # 5) (May 14-18, 2001)
bd15170_.gif (897 bytes)  topic of the Tutorial:
Functions and Arrays in C++. Prototyping. Call by value and by reference. Reference parameters. Inline functions. Function overloading. Default arguments. Recursion. This material is covered by Chapters 1-6 in the textbook (pp.1-145).
bd15170_.gif (897 bytes)  to prepare in advance:  
(1) check problems of Chapters 1-6 & their solutions;  (2)  3 Homework problems (visit official CMPE-212 web page)
bd15170_.gif (897 bytes)  The next lab. work (#
6) - May 21-25, 2001

 

   top of the page  
 

pork240.png (53506 bytes)

l_red.gif (162 bytes)

COSC2409
C++ Programming  (University of Wyoming, Department of Computer Science). Online resources include (1997) C++ summary, projects, program documentation & quality standards

l_red.gif (162 bytes)

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

l_green.gif (177 bytes)

World Lecture Hall
Z.Turk. Introduction to Object-oriented computing. A collection of
40 overheads

l_red.gif (162 bytes)

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

l_green.gif (177 bytes)

C++ Course Notes  by I.D.Chivers. Notes are currently available in PS, PDF and HTML (Netscape) formats

l_red.gif (162 bytes)

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  
   


         

 pork250.png (57317 bytes)


       

1190.gif (980 bytes)

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  


pork260.png (54612 bytes)



  
1190.gif (980 bytes)   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.    
bd15170_.gif (897 bytes)
  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!
bd15170_.gif (897 bytes)
  The final version of CPW 1.0 was released on January 25, 2000. Zip-archieve (526 Kb) includes 52 files in subdirectories.
---------------------------------------------
        

1190.gif (980 bytes)   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.
bd15170_.gif (897 bytes)
  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.
bd15170_.gif (897 bytes)
  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  


pork270.png (53411 bytes)

             

        

0201395193_01_MZZZZZZZ.gif (12067 bytes)

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

0071353461.01.MZZZZZZZ (7589 bytes)

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

0130895717.02.MZZZZZZZ (10185 bytes)

«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++ ]

020170353X.01.MZZZZZZZ (5927 bytes)

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

0789720795.01.MZZZZZZZ (4910 bytes)

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

     



Prepared by Dr.Konstantin Degtiarev, 07.10.1999
Modified on
September 25, 2000
EMU, Computer Engineering Department
All rights reserved ©
        
***********************    Disclaimer   ***********************
           
Product and company names used on this page are trademarks
 of their respective owners. All logo (formatted graphical images) are 
the property of corresponding respective companies (owners of web sites 
linked to the page), and they are used only with
 the aim of hyperlinks accompanying


********************************************************************
    
This site best viewed with
MS Internet Explorer 5
Netscape Communicator 6
and Opera 5
  
FPCreated.gif (9866 bytes)