605.404.71 Object-Oriented Programming with C++

Summer 2007

John E. Boon, Jr.

Lecturer in the Engineering and Applied Science Programs for Professionals

Johns Hopkins University

For all JHU-related matters contact Mr. Boon via email at jboonjr@apl.jhu.edu

NEWS ITEMS ( Tuesday, 24-Jul-2007 15:18:41 EDT)

  1. Page Updated [July 24, 2007]: Exam posted.

Summer 2007 syllabus:

605.404.71 Object-Oriented Programming with C++

Times and Locations:

JHU Weather Related Closings/Emergency Notices: Check Today
  Day(s) Time Room Building Campus
Class Tues/Thur 6:00-8:25pm 213 A&R MCC
Office Hours Tues/Thur 5:30pm-6:00pm 213 A&R MCC

Text Books:

Semester Lectures

  1. Lecture 01 - Introduction to semester; programming style and documentation conventions
    Lecture 01 Code Examples
    (naming example - 27c.cpp is the third example on page 27)
    stack.h (27c.cpp) user.c (28a.cpp) stack.c (28b.cpp)
    procedural programming example:
    lgstar.cpp
    1. Design By Contract slides
    2. Formal Foundations for Obect-Oriented Data Modeling, Karl J. Lieberherr and Cun Xiao, IEEE Trans. on Knowledge and Data Engineering, Vol. 5, No. 3, June 1993, pages 462-478.
    3. Assuring Good Style for Object-Oriented Programs, Karl J. Lieberherr and Ian M. Holland, IEEE Software, September/October 1989 (Vol. 6, No. 5) pp. 38-48.
    4. Template.cpp: Boon's Programming Template for C++
    5. GNU Coding Standards
    6. C/C++ Conformance Roundup, April 2001 CUJ article and links to validation suite reports
    7. NIST Special Publication 500-235, Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric, by Arthur H. Watson and Thomas J. McCabe, Computer Systems Laboratory, National Institute of Standards and Technology, Gaithersburg, MD 20899-0001, August 1996
  2. Lecture 02 - I/O using streams
    Lecture 02 Code Examples
    file_arg.cpp 611b.cpp 611c.cpp
    FD.zip - file system demonstration executable and drivers
    usage FD filesystemexample
    DIRTEST direct file access SEQTEST sequential file access RELTEST relative file access
    FD source code: MAIN.CPP FILEDEMO.H FILEDEMO.CPP
    1. ALGOL 60 References
    2. ALGOL 60 at the dmoz open directory project
  3. Lecture 03/04 - Types, Declarations, Pointers, Arrays, and Structures
    Lecture 03-04 Code Examples
    89a.cpp
    1. ASCII character set
    2. What every computer scientist should know about floating-point arithmetic, David Goldberg, March 1991 © ACM Computing Surveys (CSUR), Volume 23 Issue 1
  4. Lecture 05 - Expressions and Statements
    1. Go To Statement Considered Harmful, Edsger W. Dijkstra, Reprinted from Communications of the ACM, Vol. 11, No. 3, March 1968, pp. 147-148. © 1968, Association for Computing Machinery, Inc.
    2. Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules, Böhm, Corrado and Jacopine,Guiseppe, Communications of the ACM, Vol. 9 No. 5, May 1966 pp. 366-371. © 1966 Association for Computing Machinery, Inc.
    3. Flex and Bison introduction figures
  5. Lecture 06 - Functions
    Lecture 06 Code Examples
    154b.cpp varargtst.cpp
    1. <cstdarg> information from Standard C, Plauger and Brodie, Microsoft Press, 1989 (1-55615-158-6)
  6. Lecture 07 - Namespaces and Exceptions; Source Files and Programs
    Lecture 07 Code Examples
    167y.cpp 167z.cpp
    1. Ada 95 Rationale - The Language - The Standard Libraries
    2. Ada 95 Reference Manual
    3. AdaCore
    4. Exception Handling in C examples (from Exception Handling In ANSI C, Gregory Colvin, The C Users Journal, August 1992, pages 77-88):
      1. except.h
      2. except.c
      3. xalloc.c
    5. gprof, The GNU Profiler
    6. gcov, a Test Coverage Program
    7. gdb, The GNU Project Debugger
  7. Lecture 08 - Classes and Operator Overloading
    Lecture 08 Code Examples
    224a.cpp 225a.cpp 227a.cpp 228a.cpp 229a.cpp
    229b.cpp 230a.cpp 232a.cpp 233a.cpp 233b.cpp
    1. Borland's UML Tutorial
    2. UML Resource Page
  8. Lecture 09 - Derived Classes and Templates
    Lecture 09 Code Examples
    PLANETS.zip MTASK.zip
  9. Lecture 10 - Exception Handling
  10. Lecture 11 - Class Hierarchies
  11. Lecture 12 - STL General Concepts and Utilities; Containers

Semester Assignments

  1. HW01 - Due June 12
  2. HW02 - Due June 19 (Modified June 17 as per class discussion)
  3. HW03 - Due June 26
  4. HW04 - Due July 17
  5. HW05 - Due July 24
  6. EXAM - Due July 30

Semester Support Files and Tools

  1. Programming Assignment-Related Items
    1. C++ Links - Resources and tools for C++.
    2. Object-Oriented Analysis, Design, and Programming Links - Resources and tools for general object-oriented tasks.
    3. Program Support Links - Language-independent tools and resources.
  2. Citing Internet References
    1. Electronic reference formats recommended by the American Psychological Association (APA)
    2. MLA Style: Orders for the style manual may be made at this site.
  3. Plagiarism: What It is and How to Recognize and Avoid It
  4. Avoiding Plagiarism, Duke University Libraries
  5. Postscript File Viewer: GSview for Windows.
  6. Note Format this Semester is Acrobat pdf: Get 
      Acrobat Reader Link

Course-Specific Links

  1. Nicolai M. Josuttis homepage for The C++ Standard Library: A Tutorial and Reference
  2. Bjarne Stroustrup's homepage; includes resources for our text
  3. ANSI Online Standards Store Search "14882-2003" to order a copy of INCITS/ISO/IEC 14882-2003 Programming Language -- C++ for $18.00
  4. Keyboard Scan Code Information:
    1. Andries Brouwer, aeb@cwi.nl (v1.2e, 2004-05-20)
    2. Microsoft
  5. testingfaqs.org, an information resource for software testers

JHU and Whiting School of Engineering Links

JHU Montgomery County Campus Home Page | JHU Engineering and Applied Science Programs for Professionals | JHU Whiting School of Engineering | JHU Engineering and Applied Science Programs for Professionals Course Home Pages | JHU Engineering and Applied Science Programs for Professionals Specific Class Information Home Page | JHU Engineering and Applied Science Programs for Professionals Computer Science Information Home Page | JHUniverse

John Boon's JHU Home Page

Page last updated Tuesday, 24-Jul-2007 15:18:41 EDT.

There have been 00885 hits since August 11, 2007.

Valid 
      HTML 4.01! Valid
      CSS! Quick Navigation Table

Copyright © 2007 John E. Boon, Jr.