CIS 61: Computers and Computer Programming in Pascal Spring Semester, 1996 Instructor: Elliot Koffman Office: Computer Building, Room 311 Temple phone: 204-1913 Prerequisites: First level core math course. Description: Introduces students to computers and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving and algorithm specifications, and the debugging and testing of computer programs in Pascal. This course is a prerequisite for majors courses in the College of Arts and Sciences. No credit for students who have taken CIS59, CIS67, CIS71, or CIS81. This course is a second level core math course. Textbook: Pascal, Fifth Edition, by Elliot Koffman, Addison- Wesley, 1995 Each student will be assigned to a laboratory section. Attendance in the laboratory is required. There will be two kinds of laboratory assignments: 1. Laboratory exercises involved with testing or modifying programs that will be supplied to you. You should be able to complete most of these exercises during the laboratory period for which they are assigned provided you familiarize yourself with the assignment before the laboratory period and do some preparation before lab. 2. Programs written to solve programming projects assigned from the textbook. You will probably need to spend several hours working on these programs outside of the regular laboratory period. You can consult with other students on the assignments but each person should write his/her own programs. Put the names of any students you consult with on your program when you hand it in. It is very important that you follow the programming conventions and styles described in class and the textbook. Also, make sure that you demonstrate that your program works. 1/3 of your final grade will depend on your laboratory grade and 2/3 will depend on your exams. Weeks 1-2 Intro. to computing computer history, overview of hardware, overview of software, translating and linking a program, introduction to UNIX operating system and editor. Reading: Chapter 1 of textbook, lab. manual Laboratory: Familiarization with computer, lab. exercsise 1 Weeks 3-4 Problem solving, intro. to Pascal and data types problem solving and programming, software development method, overview of Pascal, declaration part of a program, executable part including input, output, and assignment statements, standard data types. Reading: Chapter 2 Laboratory: exercise 2 (week 3) Projects 1 and 3, page 79 (week 4) Weeks 5 Intro. to procedures and functions top-down design and modularizing a program, structure charts, procedures without parameters, introduction to built-in functions. Reading: Chapter 3 Laboratory: Project 3, p. 112 (week 6) Weeks 6-7 Decisions, if statement, case statement Boolean expressions, decisons, if statements, tracing an algorithm, nested if statements, case statement Reading: Chapter 4 Laboratory: exercise 3 (week 6) Project 6, p. 165 (week 7) Exam: chapters 1-3 Weeks 8-9 Repetition and loops Repetition in programs, while loop, accumulating a sum, for loop, debugging programs with loops Reading: Chapter 5 Laboratory: exercise 4 (week 8) Project 5, p. 213 (week 9) Weeks 10-11 Modular programming Parameter lists, value parameters, functions, variable parameters, scope of identifiers Reading: Chapter 6 Laboratory: exercise 5 (week 9) Project 1, p. 268 (week 10) Exam: chapters 4-5 Week 12 Data Types Representation of numeric types, Boolean type and operators, type Char, ordinal functions, subranges, compatibility Reading: Chapter 7, sections 7.1 - 7.6 Laboratory: exercise 6 Week 13-14 Arrays, subscripts, subarrays, searching and sorting Reading: Chapter 10, sections 10.1 - 10.5 Laboratory: exercise 7 Project 9, p. 421 Week 15 strings and packed arrays Reading: Chapter 11, sections 11.1-11.2 Laboratory: programming exercise 1, p. 431 final exam: chapters 6, 7, 10, 11 (sections covered in reading only)