Introduction to Programming (COBOL) - CIS12

Professor: Priscilla Grocer

Office: K-112 Phone: 508-678-2811 ext 2403

Course Description:

This course introduces students to programming concepts and to the widely used business language, COBOL. The student will learn to analyze a simple problem, develop a programming solution, write structured COBOL programs and execute them on the BCC computers.
Course Objectives:

This course introduces the student to programming, specifically programming using the COBOL language. The goal of the course is to develop a firm foundation in the art of programming and to teach the fundamentals of the COBOL language. The course teaches the student to think out, design, write, and execute COBOL programs. The programs increase in difficulty as the student's ability progresses.
At the completion of this course the following objectives should have been accomplished:

Texts: The course will be taught entirely from information available at the Web site and frequently handed out in class.
The handouts essentially comprise a textbook that has been successfully used as the text in previous courses. Students who would like to supplement this text will find an optional text book available at the book store.
Two recommended text books are:

Structured COBOL
Mike Murach
Mike Murach and Associates, Inc ISBN 1-890774-0507

Structured COBOL
Flowcharting Edition
Gary B. Shelly, Thomas J. Cashman and Steven G. Forsythe
Anaheim Publishing Company

Course Outline:

For all topics taught in this course logic and good programming techniques will be emphasized. COBOL will be taught as the vehicle to implement the logic and concepts being covered. The student will gain a strong understanding of COBOL, but it will be in the context of learning to think through, develop and write a well structured program.

  1. Introduction
    1. Introduction to Computer Programming
      1. Programming concepts
      2. Structured programming
      3. COBOL Introduction
    2. COBOL Program
      1. Structure of the program
      2. Divisions and Sections
  2. Writing a basic program
    1. Basic Display/Accept program
    2. Defining data - Data Division
      1. Files
      2. Records
      3. Fields - data types and PIC definitions
    3. Basic programming logic/structure - Procedure Division
      1. Procedures/Paragraphs
      2. Instructions
        1. OPEN
        2. READ
        3. PERFORM
        4. CLOSE
        5. STOP
      3. Structure of basic program
      4. Flow
      5. Looping
      6. End of file processing
  3. Program development cycle
    1. Review systems and program specifications
    2. Design the program
      1. Logic flowchart
      2. Pseudocode
      3. Hierarchy - IPO chart
    3. Code the program
    4. Test the program
    5. Document the program
  4. Basic programming concepts implemented in COBOL
    1. Headers - defining and writing
    2. Numeric data
      1. Use of S, 9 and V
      2. Use of editing characters
        1. zero suppression
        2. asterisk fill
        3. insertion characters - decimal point, comma, fixed/floating $
        4. negative data - storing, printing
        5. other editing methods
      3. Calculations
        1. Order of operations
        2. Math statements and associated clauses
      4. Final total lines
        1. Accumulating/counting totals
        2. Setting up total lines
        3. Processing total lines
      5. Related concepts
        1. Using percents in COBOL
        2. Constants in COBOL
        3. Compute statement
        4. Literals in COBOL
  5. Decisions
    1. Simple IF statement
    2. Else
    3. AND
    4. OR
    5. Compound and complex IF statements
    6. Nesting
    7. Level 88/condition names in COBOL
  6. Data Editing
    1. Concepts used to edit data effectively
    2. Coding techniques
      1. Edit logic
      2. Use of the REDEFINES
      3. Checking for blank fields
      4. Checking for numeric data
      5. Checking for reasonableness
      6. Checking for specific values
      7. Other checking
  7. Control breaks
    1. Logic of control breaks
    2. Minor breaks
    3. Multiple level breaks - Minor, Intermediate, Major and Final etc.
    4. Group indicating
    5. Group printing
  8. Tables
    1. Table definition - redefines and occurs
    2. Subscripts
    3. Using tables effectively within a program
    4. Two-Dimension tables
    5. Three-Dimension tables
  9. Screen processing
    1. Displaying data on screens
    2. Accepting data from screens


Exams: There will be a mid-semester exam and a final examination. The final will cover the work of the semester. Any quizzes will be announced and will only be given if the instructor feels they are necessary. Quizzes will count as 1 or 2 homework assignments depending on the depth of the quiz. All exams and quizzes are open notes and open book unless otherwise announced.

Homework: The student will be required to submit homework assignments two class periods from the day of the assignment (on campus course) or three days from the posting of the assignment (Internet course) unless otherwise noted. Assignments will consist mainly of programs and program segments for the student to code, flowcharting assignments, analysis of programs and logic questions. There will be one or two assignments on average per week.

Programs: The student will be required to write complete COBOL programs and to take standard programs and modify them. All programs should be passed in with rough coding, the programming logic flowchart (or another logic tool if it has been approved by the instructor) and the program with the output attached. There will be five major programs assigned.

Evaluation: Assignments and programs are graded using either number grades or letter grades based on the following (A=90-100, B=80-89, C=70-79, D=60-69, F=below 60). The students grade for the course will use the same scale and will be based on the percentages explained in the grading section. Plus and minus grades will be given.
Some of the assignments in this class are open ended - the grading will be based on how well the project demonstrates mastery of the material. Students who do a minimum of work will be graded accordingly. Resubmission is allowed on open-ended projects to improve grades.
Note: Non open-ended assignments that are completed accurately, with no errors, according to the parameters of the assignment will be graded as A. To achieve an A+, students must have done sufficient extra work in design or implementation that makes the assignment standout. In doing assignments, students must do their own work. Relying too heavily on my examples or working too closely with someone else will be penalized.

Attendance: The student is allowed to cut six one hour classes.

Methodology: The on campus course is given using the lecture method supported by topic handouts and the student is encouraged to ask questions at any point during the lecture. When appropriate, classes exercises and problem solving techniques are used. The Internet course will rely on topic information posted on the web and interaction using e-mail. A board room will be utilized for additional support.
This SYLLABUS is not to be construed as a CONTRACT in any way, shape, manner or form. This SYLLABUS is a SUGGESTED course OUTLINE and will be GENERALLY followed, subject to change according to the INSTRUCTOR'S discretion and needs. Academic FLEXIBILITY is important!

Back to the Top
Return to home page
Return to previous page - CIS12