CO 220 Syllabus for Summer 1998
by Dr. Cross, 6/98
1.
Catalog.
CO 220 APPLIED COMPUTER PROGRAMMING 3c‑0l‑3sh
Prerequisite: CO 110 or equivalent
Structured programming principles and techniques,
as implemented through the ANS COBOL language; program design using top-down
techniques; program and project documentation; introduction to sequential file
algorithms.
CO 220 is a required course for all majors in
Computer Science and Management Information Systems. It is the fundamental
course in data processing (DP) using sequential files. CO 220 is a prerequisite
to CO 315, Large File Organization and Access, and IM 370, Advanced Cobol. CO
220 is NOT required for a minor.
Note on
the rationale for the course:
Batch processing of sequential files, mainframe computing, and Cobol are not
glamorous topics, so you should consider why your faculty consider them to be
fundamental to Compsci and MIS majors. Sequential file processes are essential
in computer-based information systems. Mainframe computing is remarkably
persistent because some of its functions cannot be "distributed"
effectively to PC’s. Cobol is the dominant programming language in the legacy
of 35 years of developing and maintaining DP systems. Even more compelling,
many employers of computing professionals still consider the focus of this
course to be essential to the knowledge they demand from their computing
professionals.
Note on
applied computer programming and sequential file processes: Payroll, billing, generating mailing labels, bank
statements, and university grade reports are examples of batch sequential file
processing applications. Think of other examples and add them to your course
notes. Compelling examples of the type of applied computer programming that
this course is focused on may motivate you to greater success in this course.
Once you master the basic concepts, you may be surprised at how broadly they
apply to computing phenomena that may be closer to your expectation of what
applied computer programming is all about. Traditional Computer Science
curricula emphasize algorithms while applications emphasize files and
transactions. At IUP Compsci we try to balance these concerns.
2. Texts
and Materials. The required text
is: Welburn, Tyler, and Price, Wilson. Structured
COBOL, Fundamentals and Style, Fourth Edition. McGraw-Hill. 1995.
Additional course support will be posted online at www.iup.edu/~d007jacross/220.htmlx .
Although application programming and a university
education are NOT things that can be done well in isolation, I encourage you to
buy or lease personal microcomputing equipment that you can use to communicate
with the IUP "academic" VAX. I also encourage you to use a PC COBOL
programming environment, if you have one or can acquire one. Talk with me if
you have any questions about personal hardware or software. Note: You will be
using the academic VAX for all of your assignments. You may develop your
programs on your PC and upload them to the academic VAX. I encourage this
practice!
3.
Attendance. Under the rules of
IUP, attendance is up to the student. However, you MUST complete all required
course work. I NEVER grade on attendance, but there is a consistent correlation
between attendance and grades. There will be no makeup's for quizzes given
during class hours. I do not keep copies of handouts in my office. YOU ARE
RESPONSIBLE FOR WHAT HAPPENS IN CLASS WHEN YOU ARE ABSENT. MISSING CLASS FOR
ANY REASON IS LIKELY TO HARM YOUR UNDERSTANDING AND YOUR GRADES.
Take a moment during your first class to introduce
yourself to a classmate and make arrangements to get extra copies of handouts
or copy notes when you are late or absent. I call this a "buddy
system." If you ask me outside class about a class or handout you missed,
I will ask you if you have contacted your buddy first. If you miss two classes
in a row, I will expect your buddy to let me know that you are
"drowning."
Note: Applied computer programming demands group
interaction and team-oriented responsibility. Participate in class; talk with
your fellow students; and consult with your prof.
4. Help. Do not hesitate to ask for help. My preferred way
for outside of class interaction is e-mail. Address mail To: jacross. Note that
VMS-mail can be "unfriendly." I will give you specific direction in
class. Do not hesitate to bring up mail concerns at any time. Always INCLUDE
YOUR NAME with your E-mail messages.
My office is 338 Stright, phone 4478. I have no
scheduled office hours in the summer. I
encourage office visits, but you can make them work better and minimize any
waiting that may occur. If you are concerned about a program, bring a current
compile listing. Be prepared to start our discussion by telling me what you
want the computer to do.
User assistants are available in public Data
Centers, but their main function should be to help you with hardware operating
problems, mail, eve, debug, the language-sensitive editor, online help, and
looking things up in manuals. If you have a question about COBOL or VMS, try online
help, then try the reference manuals in the data centers, then try the Data
Consultants.
Do not ask Data Center personnel to help you debug
your programs because that is not what they are there for. Don't forget that
other students are often a major source of help, both good and bad.
With all of this help available, you should strive
to get satisfactory answers to your questions on a timely basis. You lose much
of the benefit of classes when you are behind.
5.
Examinations. There will be two
exams and a final. All exams are
comprehensive, but you may expect that each exam will emphasize material
covered since the last exam and questions that were missed on previous exams.
6. Computer
Projects. Programming projects constitute a very important source of
learning in this course, and probably the biggest consumer of your study hours.
Learn to work efficiently. You will be most aware of and interested in hands-on
concerns, but the work you do before you put your hands on a computer keyboard
is far more important.
Develop skill with VMS control language, lse
or eve, and debug. Plan your work to avoid periods of heavy computer use.
Last-minute efforts are inefficient and stressful; late projects can be
disastrous.
When you give or receive help, avoid going over
the boundary of acceptable academic conduct into illegal copying or submitting
the work of others as your own. You may get limited help from others in the
"compiling" and testing phases of your program development, but you
should work by yourself on the program design, coding, and debugging. GROUP
CODING EFFORTS, COPYING SOMEONE ELSE'S PROGRAM, AND HAVING SOMEONE ELSE DO YOUR
PROGRAM FOR YOU ARE NOT PERMITTED.
7. Form
for Handins. To facilitate the
grading process, label all papers you hand in as part of CO 220 with your name,
section, project number, and creation or print date. Your handwritten label
must be visible when the project is handed in. When the label is right‑side
up, the unfolded program should also be right‑side up. Use staples as needed.
If your handin is stapled so that I cannot read it, I won’t read it.
Note: I take off points if your handin is
difficult to process and award bonus points if your handin is exceptionally
clear and easy to process. Suggestion: Write lots of notes right on your
handin. Computer Science professors call this "annotating" your
handin.
A handin may consist of several separate
documents, but all computer printouts must include a computer-supplied date and
time. Any printed handin can be spell-checked, so I will demand flawless
spelling on computer-based handins.
I demand separate "checkpoint" documents
for several projects. These will document your understanding of the project and
a plan for implementing and validating your computer-executable response. You
must keep a copy for yourself so that you may work from it! I will attempt to
give you feedback on your checkpoint that will facilitate your work on the
project.
8.
Submitting Hand‑Ins.
Checkpoints are due in class on the scheduled day. You may submit projects in
class on the scheduled due day or in my program submission box by 4:00 P.M. My
program submission boxes are behind the "dispatch window" in the
basement of Stright Hall and in Stright 107. I reserve the option to not accept
late work. When I accept late work, I may take a long time to grade it. Any
late work that I accept will be reduced in grade by a penalty factor: 20% for
up to 1 day late, 35% for up to 2 days late, 50% for up to 3 days late, no
credit at all beyond that. DO NOT hand me assignments at stray times or slide
them under my door (I will lose them!).
9.
Approximate Grading Formula. You
may appeal any grade you receive in this class, but all appeals MUST be in
writing on the graded handback on the day I hand it back. I will use the
following numbers to compute a percentage score, with cutoffs at 90%, 80%, 70%,
60%, or slightly less. I reserve the option to bend a few points at each
cutoff. If your score is close to a cutoff, my main concern is your exam
scores. If you fail to complete any of the programming projects, I may reduce
your course grade up to one letter grade per missing project. I seldom give a
higher grade for the course than your highest exam grade. If your percentage for exams and projects is >= 90% on the last day
of class, you will not be required to take the final exam.
Exams 300
points
Programming projects 240
points
Other graded activities
50 points
10.
Grade-Check. You may check your
posted grade at any time by executing ldir$grader:grade-check. Your login.com
file defines the symbol gc to be an appropriate Digital Control Language (dcl)
command. The grade file identifier will be CO220. Any concerns about entries in
grade-check must be supported by written documentation, like a graded project.
Check your grades after every graded activity.
11.
Class Schedule. In this class
your scheduled activities include class meetings and project deadlines. The
tentative agenda for each class meeting and deadlines are online. The in-class
activities include lectures, collaborative and active learning, quizzes and
exams, and hands-on labs. This schedule may change as the course proceeds, so
check it often, expecially if you miss class.
|
Lecture Number |
Date |
Plans Grauer
and Villar (G); Quiz possible (Q); *Stright 220* |
|
1 |
W 8/30 |
Introductions; syllabus; student data sheet;
Read thru G2 |
|
2 |
F 9/1 |
Grauer and Villar thru G2; Assign Project 1 |
|
3* |
W 9/6 |
Hands-on Lab; Read thru G3 |
|
4 |
F 9/8 |
Q; G3; Read thru G4; Project 1 checkpoint due |
|
5 |
M 9/11 |
Q; Catch-up; Begin G4; Read thru G5 |
|
6 |
W 9/13 |
G4 and G5; Project 1 due; Assign Project 2 |
|
7 |
F 9/15 |
G5 |
|
8* |
M 9/18 |
Hands-on Lab; G5; Read thru G6 |
|
9 |
W 9/20 |
Q; G6 |
|
10* |
F 9/22 |
Hands-on Lab; G6; Read thru G7 |
|
11 |
M 9/25 |
Q; G7; Project 2 due; Assign Project 3 |
|
12 |
W 9/27 |
G7 |
|
13 |
F 9/29 |
Continue current topics; Project 3 checkpoint
due |
|
14 |
M 10/2 |
Q; Cobol COPY statement (handout and pp.
479-480); Read thru G8 and G16 (handout) |
|
15 |
W 10/4 |
G8 |
|
16 |
F 10/6 |
G16 |
|
17 |
M 10/9 |
Prep for Exam 1; Project 3 due; Assign Project 4 |
|
18 |
W 10/11 |
Exam 1: Thru G8 and G16 and Cobol COPY and Hands-on. Note: Evening exam and no morning classes. |
|
19 |
F 10/13 |
No class (JAC at conference); Read G14 |
|
20* |
M 10/16 |
Hands-on Lab: Exam topics and G14. Read G9. |
|
21 |
W 10/18 |
G9; Read G15; Project 4 and checkpoint due;
Assign Project 5 |
|
22 |
F 10/20 |
G15 |
|
23* |
M 10/23 |
Hands-on Lab: G9, G14, G15. Project 5 checkpoint
due. |
|
24 |
W 10/25 |
G15 |
|
Lecture Number |
Date |
Plans Grauer
and Villar (G); Quiz possible (Q); *Stright 220* |
|
25 |
F 10/27 |
Q; Review and catch-up; Read G17 |
|
26* |
M 10/30 |
Hands-on Lab: Review, project and G17. Project 5
due; Assign project 6. |
|
27 |
W 11/1 |
G17 |
|
28 |
F 11/3 |
G17 with SORT and validate; Project 6 checkpoint
due. |
|
29 |
M 11/6 |
Prepare for exam 2; Project 6 due. |
|
30 |
W 11/8 |
Exam 2 : Topics from Exam 1 and 9, G14, G15, G17 and hands-on. Note evening
exam and no afternoon classes. |
|
31 |
F 11/10 |
Review Exam 2; G17; Assign project 7; Read G11. |
|
32 |
M 11/13 |
G11; Read G12 |
|
33 |
W 11/15 |
G11 and G12; Read G13; Project 7 checkpoint due |
|
34 |
F 11/17 |
G13 |
|
35* |
M 11/20 |
Hands-on Lab: Tables (in Cobol) |
|
36 |
M 11/27 |
Continue current topics |
|
37 |
W 11/29 |
Catch-up; Read G10 |
|
38 |
F 12/1 |
G10; Project 7 due |
|
39 |
M 12/4 |
G10 |
|
40 |
W 12/6 |
Catch-up and Special Topics |
|
41 |
F 12/8 |
Special Topics |
|
42 |
M 12/11 |
Catch-up; prepare for final |
|
|
R 12/14 |
Final exam: Blocked at 2:45 P.M. in a room TBA |
PROJECTS
(testable) .. Fall 1993
#1 Orientation
to hands-on computing activities in CO 220 (checkpoint)
#2 PROCEDURE
DIVISION: arithmetic; maintenance
#3 Report
with heading and page numbers; PIC strings that edit (checkpoint)
#4 SORT,
COPY and subprograms in Cobol; data validation (checkpoint)
#5 Control
break algorithm (checkpoint)
#6 Batch
sequential file update
#7 Tables
(checkpoint)
[#8 Fullscreen
I-O] (optional)
Projects
in Summer 1998
1)
Report with SF
process, arithmetic, edited pic’s. One page detail report.
2)
Sort, COPY,
subprogram, logic (IF, EVALUATE), page break.
3)
Control break
4)
Table
5)
SF update
Hands-on
Details (testable)
login mail *eve *lse spawn submit/
*CA-Realia compiler dir delete compile *sca
copy rename link debug type print
define attach help run symbols logicals
*cms define/nolog *optional; only
testable if covered