CIS 15 Advanced C Programming Spring 2004
CIS Office: 2109N (718)951-5657
In this course you will become sophisticated software designers and master advanced C.
Go to the lab. Do Assignment 0 Atrium.
Two Required Textbooks
1. C Programming: A Modern Approach, King N. N., W.W. Norton
PREREQUISITE: pages 1-128, 131-146, 155-171, 205-213, 221-230, 239-257
(we do the following sections-order is subject to change)
preprocessor
-- #include 14.1-14.4
macros -- #define, with args
conditional #if, #ifdef, #ifndef, #endif
typedef (also Boolean) 7.6
structures 16.1-16.3
array of, array in, ptr to, and
fns
header files, source files 15.1-15.3
compiling with -c, -o, -P
conditional compilation
break, continue, switch, short-circuit
arrays 8
2-diml 8.2
pointers 11
ptrs as args,
max, min 11.4
ptrs as return value 11.5
pointers
and arrays 12,
22.8(string i/o)
strings 13,
23.5, 23.4, 22.5
arrays, command line args 13.7, p. 481
exit 9.5
program
organization 10
recursion 9.6
dynamic
storage allocation 17.1-17.4
the ->
operator 17.5
** pointers
to pointers 17.6
pointers
to functions 17.7
(no qsort)
file I/O 22.2
streams 22.1
formatting 22.3
character
I/O 22.4
string I/O 22.8
declarations 18.1, 18.4
auto vs.
static in block 18.2
const 18.3
modules 19.1-19.3
abstract
data structures 10.2,
19.2, 17.5
libraries(numeric) 23
assert 24.1
libraries(character) 26
program specification,
design, debugging and testing (notes)
2. Just Enough Unix , Andersen P. K., McGraw-Hill
You will learn to run C programs under the Unix Operating System by using it.
It is very difficult for about two weeks. After that it’s merely frustrating.
1, 2, 3, 6, 7, 8, 10, 11, 12, 13 or 15, 18, 19 or 20, 21(telnet),
22(ftp—see handout wsftp), 30, 31, Appendix
Also helpful but not required:
Fun With Unix, Landy S. S., Coursepaks- specifically for the system in the atrium
The
Practice of Programming, Kernighan B. W. and Pike R., Addison-Wesley
The C Programming Language, , Kernighan B. W. and Ritchie D.M., Prentice Hall
Grades
25% each of 2 exams
35% final
Class participation can affect up
to 10% of the grade .
There may be quizzes
15% assignments - many short and long programs.
Never hand in code written by anybody else. Don’t take this course now if you don’t have the time. Penalty for late submissions. Homework is due at the beginning of class.
Programs must be
· complete
· correct
· well designed
· in good style
·
well documented
·
You must include the following at top of the listing and the output:
· name
· class and section
· assignment number
· date due
· date submitted
· Name of file
· Version number
·
Date of last revision(see pg 287 in text)