COM 152 - Computer Programming
Spring 2003 Trimester

St. Joseph's College
School of Adult & Professional Education
Accelerated Weekend College
Dept. of Mathematics & Computer Science

INSTRUCTOR: Bruce A. Martin  
OFFICE HOURS: After class, and by appointment.
CLASS HOURS: Schedule "C"    (on scheduled weekends, only)
· Saturdays: 12:15-3:00pm      1/11, 1/25, 2/22, 3/14, 4/5 4/26
· Sundays: 8:30-11:15pm        1/12, 1/26, 2/23, 3/15, 46, 4/27
REQUIRED TEXTBOOK: Problem Solving, Abstraction, Design - Using C++
   by Frank L. Friedman & Elliot B. Koffman Addison Wesley

  (for home use)
Borland C++       Version 5.02

Also required: Blank floppy diskettes

CATALOG DESCRIPTION: An introduction to the concepts underlying computer science and programming, such as:   abstraction, analysis, modularity, and structured programming. Emphasis is on algorithm development, and the use of structured program design techniques in solving problems.
Students will develop programs using the synatax and semantics of a higher-level language (e.g. C++). Searching, sorting, and recursive algorithms are introduced. (Corresponds to ACM "CS1".)
PREREQUISITE: COM 140 or COM 150    or departmental approval based upon prior programming experience.

What you will learn in this course should provide a strong technology foundation for employing the computer as a tool and programming it to perform useful tasks, regardless of whatever career you choose. Following is a list of specific objectives we hope to achieve:
  • To introduce and explore the concept of programming in a higher-level language (C++);
  • To gain practical knowledge about and the experience of writing, compiling, building, and executing your own programs
  • To explore concepts of "top-down" design, tracing, debugging;
  • To understand how programming can be used in problem-solving and production situations.
  • To appreciate & exploit software-engineering concepts, e.g.:
    • Software readability
    • Software documentation
    • Software interface
    • Software orthagonailty
    • The "small tools" approach
    • Software reliability
    • Software re-use

  • Anatomy of a C++ program
  • The main() function
  • Preprocessor directives
  • Comments
  • Debugging with comments
  • Error messages

  • C/C++ language syntax, symbolic names, reserved words
  • Variables and data types
  • Operators, order of operations, operator precedence
  • Evaluation of expressions
  • The assignment operators
  • Input/output: cin >> and cout <<

  • Control statements:   conditionals and loops
  • Funtions and parameters
  • Scope of variables
  • Arrays (one-dimensional)
  • Structures and unions (introductory, only)
  • Pointers (introductory, only)

  • Algorithm development
  • Sorting and searching
  • Recursion
  • Object-Oriented Programming (introductory)
  • Additional topics covered as time permits.
Various programming assignments will be given during the semester.
Some of these programs will build upon previous assignments
Submitted programs must compile without error using the aforementioned compiler, and must execute to completion (without any run-time errors), to produce the expected results. Source code must be "readable" and must conform to good "software engineering" practices.

College policy regarding plagarism.

College policy regarding disabilities.

This web page is best viewed with ANY portable, standard-conforming browser.
   (Please note that Microsoft's IE browser has deliberately excluded itself from the above description!)
   N.B.   Some portable, standard-conforming browsers may be found at: Mozilla / Netscape / Opera