DEPARTMENT OF GENERAL ENGINEERING UNIVERSITY OF PUERTO RICO MAYAGUEZ CAMPUS COURSE SYLLABUS Course No. : INGE 3O16 Title : Algorithms and Computer Programming Credits : 3 Open to : Second Year Students Prerequisite : MATE 3031 Textbook : Algorithm Development and Program Design Using C, Gary J. Bronson, West Publishing. COURSE DESCRIPTION: Development of algorithms and their implementation in a structured high level language. Programming techniques applied to the solution of engineering and mathematical problems. REFERENCE BOOKS: 1. C How to Program, by: Harvey M. Deilel & Paul J. Deitel, 2nd Edition, 1994, Prentice Hall. 2. Applications Programming in ANSI C, bv: R. Johnsonbaugh and M. Kalin, 2nd Edition, MacMillan. 3. The C Prgramming Language, by: B. W. Kernighan and B. M. Ritchie, 2nd Edition, Prentice Hall. 4. C Programming A Modern Approach, by: K. N. King, 1996, Norton. 5. C A Reference Manual by: S. P. Harbison and G. L. Steele, 3rd Edition, Prentice Hall. GRADE DISTRIBUTION: At least three partial and a final examination will be administered throughout the semester and the final grade will depend on these and other appropriate elements the instructor may see proper to consider. Examinations dates should be given to the students at the beginning of the semester. Remarks: Individual teachers are expected to use their own judgment in regard to details of text and problem assignments, grading system, reference material, schedule and suplementary exercises, in order to obtain effective coverage of all topics indicated on the course schedule. Dr. Anand D. Sharma, Director Dr. Isidoro Couvertier, Coordinator Computer Science Committee Revised March 19,1998 COURSE SCHEDULE Topics I. Introduction to Computer Systems a. Basic Cormponents & Definitions b. Binary Numeric System c. Internal Representation of Information d. Basic Characteristics of Machine Language e. Programming Languages and Compilers f. Basic Characteristics of an Operating System II. Problem Analysis and Design of Algorithms a. Problem Analysis and Specification b. Algorithms 1. Definition 2. Flowcharts 3. Pseudocodes 4. Examples c. Structured Constructs 1. Sequential Structure 2. Selection Structure 3. Repetition Structure d. Fundamental Programming Principles Ill. A High Level Language a. Constituents of a Program b. Variables and Constants c. Arithmetic Operations d. Assigment Statement e. Input/Output IV. Control Structures a. Logical Expresions b. Selection Structure c. Multialternative Selection Structure d. Repetition Structure 1. Iteration Techniques 2. Concept of Counter and an Accumulator 3. Nested Loops V. Subprograms a. Functions and Function Prototypes VI. Formatted Input/output a. Formatted Output b. Formatted Input VII. Arrays a. Declaration of Arrays b. Manipulation of Arrays c. I/O of Arrays VIII.FiIe Processing a. Sequential Files b. Random-Access files c. I/O of Files