| ITC 145 Applications Programming
in C |
4 cr. |
This course presents the principal features of the C language
following the ANSI standard, including the C preprocessor, data types,
operators, calculations, arrays, strings, structures, pointers, I/O of
text and binary files, and the use of run-time libraries. Effective
program and report design are emphasized. Programming assignments are
drawn from a variety of application areas. Three lecture hours per
week, plus extensive laboratory work outside of class. Credit for this
course may not be applied to the Major in Computer and Information
Studies. Not open to students who have received credit for
CSC 273
or CSC 285. No more than one of the courses numbered ITC 140 through
149 may be counted for degree credit.
Prerequisite: High school algebra I & II.
Goals: The overall purpose of the course is to foster an understanding
of the nature and operation of software through the use of a specific programming
language. Specifically:
- to acquaint the student with the nature of programming in general and
of the use of a specific procedural language in particular;
- to present the main principles enabling the student to design, write,
test, and debug programs;
- to present the main features of the C programming language and its
environment.
Objectives: Upon successful completion of the course, a student will
have
- applied correct program techniques to design and write a C program
- developed appropriate debugging techniques and skills
- acquired an understanding of the programming process from problem formulation
through implementation (coding) and testing;
- developed familiarity with the main features of the C language and its
run-time environment;
- developed the ability to read, interpret, and evaluate existing C code.
Topics:
- general overview of: components of a computer, problem solving in
a structured manner, top-down modular design, control
structures, pseudocode and/or flowcharting, hierarchy charts
- fundamentals of ANSI C: intrinsic and user-defined data types,
control structures, functions and function prototypes,
parameters, declarations (automatic vs. static variables),
calculations, precedence rules for operators, arrays, strings,
structures, unions, pointers and dynamic storage allocation,
files, unformatted and formatted I/O, the C preprocessor,
macros, and run-time libraries
- standard program structures for file processing, report
generation, interactive processing
- standard uses of arrays and structures (records): filling,
printing, summing, searching, sorting, finding maximum and
minimum values
Additional topics (as time permits):
- recursion
- bit fields and bit manipulation
- use of header files
- multi-file programs and separate compilation
- non-sequential file processing
The course emphasis is on applications programming, from the
precise formulation of a problem, through program design, to final
implementation and testing. Examples and laboratory assignments are
interdisciplinary in nature. Approximately eight programs will be
assigned; many assignments involve modification and extension of
previous programs. The main focus is on the design and implementation
of algorithms, using specific features of the C language and the C
run-time environment. Where appropriate, special capabilities of C,
and comparisons with other programming languages, will be noted.
Proper structural style (using top-down, modular design) will be
stressed in both logic development and code implementation. Attention
is also paid to reading and interpreting existing code (both good and
bad).
Bibliography:
- Connelly, John. C Through Objects. (Scott/Jones, Inc., 1996)
- Foster, L. S. C by Discovery. Second Edition.
(Scott/Jones, Inc., 1994)
- Hanly, Jeri R.; Koffman, Elliot B. Problem Solving and Program
Design in C. Fourth Edition. (Addison-Wesley, 2004)
- Harbison, Samuel P.; Steele, Guy L., Jr. C. A Reference Manual.
Fourth Edition. (Prentice Hall, 1995)
- Johnsonbaugh, Richard; Kalin, Martin. Applications Programming in ANSI C.
Third Edition. (Prentice Hall, 1996)
- Kelly, Al; Pohl, Ira. C by Dissection: The Essentials of C
Programming. Third Edition. (Benjamin/Cummings, 1996)
- King, K. N. C Programming. A Modern Approach
(W. W. Norton & Co., 1996)
- Miller, Lawrence H.; Quilici, Alexander E. The Joy of C:
Programming in C. Second Edition. (John Wiley, 1993)
Salem State Home •
Computer Science Home •
Faculty •
Computer Studies Major •
Flow Sheet
Computer Studies Minor •
Courses •
Course Sequence Diagram •
Computer Laboratories
|