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.

 


Preliminary Class Schedule for CO 220, Fall 1993

 

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