COMP215
PROBLEM SOLVING WITH C
INSTRUCTOR: Tom Wheeler (Office in Room 208) 941-0430 x5211
twheeler@kc.devry.edu (DeVry e-mail address)
twheeler@tfs.net (HOME e-mail address)
http://www.kc.devry.edu/homepages/twheeler
CREDIT HOURS: 3.0
TEXT: Lafore, Robert, C Programming using Turbo C++ (Waite Group)
Major Topics Covered In Course:
This course is an introduction to the "C" programming language, with emphasis on building a strong foundation in the subject. The goal is to provide the student with a set of tools that will prove useful in more advanced problem-solving situations. Applications of "C" to technology are emphasized, as well as structured program design and troubleshooting. If time permits, an introduction to OOP concepts will be made.
ATTENDANCE
Daily class attendance is required. You are responsible for the material presented in all class sessions, regardless of your presence or absence. Absence of more than 6 class sessions is cause for dismissal from the course, with a grade of F. You are expected to be on time for every class meeting. If you will not be able to make it to class on time, please call the instructor in advance to make arrangements.
HOMEWORK
Homework is due at the beginning of class (xx00 UTC). Late homework is not accepted unless mitigating circumstances are present. If this is the case, bring documentation (court papers, note on doctor's letterhead, etc.) Homework carries the weight of one major exam (100 points) in the course. Failure to do homework will do severe damage to your grade. (UTC=Universal Coordinated Time, or Standard World Time.)
GRADING
There are 2 major exams, an unspecified number of quizzes given at random intervals, various homework assignments, and a final examination given in the 15th week of the course.Your grade will be determined as follows:
2 Major Exams @ 100 points each: 200 points
Quizzes/Homework : 100 points
Final Exam (Comprehensive): 150 points
450 points total for course
Note: There is no drop test, and makeup exams are not given. Alternate exam arrangements must be made at least 3 business days in advance of the scheduled examination. All examinations will be announced at least 1 week prior to administration. All students must take the final exam.
DETERMINATION OF LETTER GRADE FOR THIS COURSE
90 - 100 % = A 80 - 89 % = B 70 - 79 % = C 60 - 69 % = D
<60 % = F
PLAGIARISM AND OTHER FORMS OF CHEATING
Copying the work of another, and claiming it to be your own is plagiarism. This includes (but is not limited to) copying others homework, copying from a lab manual or textbook, or collusion. The minimum penalty for cheating in any form is a grade of zero for the element involved; in some cases, failure of the course and/or expulsion from the Institute will also result. All cases of misconduct will be documented and forwarded to Student Services for disciplinary consideration. The DeVry Student Handbook contains complete information on this topic.
MISCELLANEOUS INFORMATION
EMERGENCY PROCEDURES - Each classroom has a plaque (located near the door) with instructions for evacuation in the event of an emergency. The instructor will remain in charge of your class group should the situation arise.
FOOD or DRINK are not allowed in the classrooms and labs at DeVry.
HOMEWORK / READING ASSIGNMENTS
NOTE: Page references are from the assigned textbook unless otherwise noted.
TOPIC or TOPICS CHAPTER and PAGE NUMBERS
--------------------------------------------------------------------------
C FUNDAMENTALS: COMPILERS, FIRST C PROGRAM xv-xxi (Foreword and Intro)
Ch 1 pp 1-26
DATA OBJECTS: VARIABLES,DATA TYPES,EXPRESSIONS Ch 2 pp 27-67
BITWISE OPERATORS Ch 10 pp 365-378
FLOW CONTROL: LOOPS Ch 3 pp 67-98
DECISIONS Ch 4 pp 99-134
FUNCTIONS & VARIABLE SCOPE Ch 5 pp 135-178
DATA HANDLING: ARRAYS, CHARACTER STRINGS Ch 6 pp 179-226
POINTERS Ch 7 pp 227-273
STRUCTURES Ch 9 pp 312-347
OP SYSTEM I/O: FILES AND DEVICES Ch 13 pp 536-574
GRAPHICS I/O Ch 12 pp 462-532
TERMINAL COURSE OBJECTIVES - COMP215
At the conclusion of this course, the learner will be able to:
7. List the "C" operators and give an example of proper usage for each one.
8. Given a "C" expression:
a) Describe the action of each operator and operand
b) Predict the result
9. Design or evaluate programs that use FOR, WHILE, and DO WHILE control structures.
10. Demonstrate how to declare and use a "C" function.
11. Give the scope and lifetime for each of the following variable types:
a) Global
b) Local
c) Static
d) Auto
e) Register
f) Extern
12. Explain how variables are passed to and from functions.
13. Write a prototype for a C function; and given a prototype for a C function, properly use it.
14. Explain the basic operation of pointers, including:
a) How a pointer is computed
b) How pointers may be used to pass arguments to and from functions
c) How the compiler interprets the * and & operators.
15. Explain the operation of arrays in "C," including:
a) The significance of the array name
b) How character strings are stored in arrays
c) Precautions for using local arrays in functions
d) The effects of using increment and decrement on pointers to arrays
e) How to use multidimensional arrays
f) How to calculate the memory usage of an array
16. Define what a "C" structure is, and:
a) How a structure may be initialized
b) How a structure may be accessed (direct)
c) How a structure may be passed to a function
1. Pointer
2. Copy
d) How a structure array is used
17. Define:
a) Operating System b) Disk Operating System
c) File d) File Size Indicator
e) File Pointer f) EOF (End-of-file)
g) Sequential Access h) Random Access
i) Record j) File Position Indicator
18. Design a program that uses sequential access to a file or group of files.
19. Design a program that uses random file access techniques.
20. Given the appropriate information about a "C" graphics library, utilize the library to create a simple video display graphic, such as a line drawing, function plot, or bar graph.
21. Given a problem statement, identify the steps required to solve the problem using an engineering design methodology.
22. Given a problem statement, develop an algorithm for a computer programming based solution to the problem using pseudocode or other tools.
23. Given an integrated C programming environment such as
24. Given a pseudocode program, compare and contrast the characteristics and functions of the three control structures used to write a structured program.
25. Given a programming algorithm written in pseudocode, modify the algorithm so that all functions are separated into independent and reusable modules.
26. Identify and describe the elements of a C program, including preprocessor directives, library/include files, data and variable types.
27. Given a simple but bug-ridden C program and a listing of the compiler errors generated, utilize the capabilities of the debugging environment provided with the C compiler in order to analyze and correct the "bugs."
28. Given a problem statement of moderate difficulty, develop an algorithm to solve the problem, organize the data using structures with multiple data types and/or arrays and then write, test and debug the corresponding C program implementing the solution.
29. Given the program solution of objective 8, redesign the program such that all data is passed to functions using pointer constants, pointer variables and structure pointers.
30. Given a problem statement of moderate difficulty, use a linked-file approach in order to demonstrate modular project management techniques.
31. Given a problem statement of moderate difficulty, incorporate a linkable function/file that will perform advanced input/output capability, such as file I/O, high-resolution multi-colored graphics and graphics mode text display of selected data and text.