CIS 71: Programming in C - Spring 1997
Prerequisites,
Texts,
Description,
Grading,
Exams,,
Homeworks,
Laboratories,
Outline.
Additional information about this course can be found on WWW at URL
http://www.cis.temple.edu/~ingargio/cis71/
The newsgroup for this class is at
news:temple.class.cis71_sec001.spring97
- Instructor : Dr. Giorgio P. Ingargiola
- Office : Computer Activity Building, Room 1038
- Phone : (215)204-6825
- E-Mail : ingargiola@cis.temple.edu
- Contact Hours : Tuesday and Thursday from 1:15 to 2:15, or by appointment
- Graduate Assistant : Bill Triantafyllos
- Office : Computer Activity Building, Room 1000X
- Phone : (215)204-3441
- E-Mail : btrianta@thunder.temple.edu
- Contact Hours : Wednesday 12:30 to 2:30pm
- Lecture Time: Tuesday and Thursday from 2:40 to 4:00pm in Curtis Hall 207
- Lab Time: Wednesday from 2:40 to 4:30pm in Computer Center 108
PREREQUISITES
- First level core math course.
TEXT
- J. Hanly, E. Koffman: Problem Solving and Program Design in C, second edition
Addison-Wesley, 1996 (REQUIRED)
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 C. The goal is to learn to write and to reason
about simple programs.
No credit for
students who have taken CIS59, CIS61, CIS67, or CIS81.
GRADING
- Midterm : 20%
- Final : 40%
- Homeworks: 40%
Disastrous performance in either the exams, or in the homeworks,
will result in a Fail grade.
EXAMS
The exams are closed book. Their content is cumulative, i.e. they address
the material covered up to the day of the exam. If a student misses
the midterm for an emergency [as agreed with instructor], there will be no
makeup exam: the final will become
proportionally more important. The final exam is mandatory.
HOMEWORKS
You will be assigned a homework each week.
Each assignment must be completed on time. Late homeworks will not be accepted
by the Teaching Assistant (TA);
the instructor may accept them in the case of emergencies.
You are expect to work and complete all the homeworks on your own. Plagiarism
will be severely punished.
LABORATORIES
Laboratories are lead by the Teaching Assistant.
Attendance to the laboratory is MANDATORY.
In the laboratory you will be helped to learn how to use the programming
environment: command language, editor, compiler, and debugger. You will be
presented examples related to the material discussed in class and you will
examine common errors and how to avoid them.
Part of the laboratory time
will be dedicated to work on your programming assignments.
OUTLINE
Introduction to computing
- Computer history, overview of hardware, overview of software,
translating and linking a program, introduction to UNIX operating
system and editor.
Problem solving
- Introduction to C and data types
problem solving and programming, software development method,
overview of C, declaration part of a program, executable
part including input, output, and assignment statements, standard
data types. English as a [pseudo] programming language.
Decisions, if statement, case statement
- Boolean expressions, decisons, if statements, tracing an
algorithm, nested if statements, case statement
Repetition and loops
- Repetition in programs, while loop, accumulating a sum, for
loop, debugging programs with loops
Introduction to functions
- Top-down design and modularizing a program, structure charts,
built-in functions.
Modular programming
- Parameter lists, value parameters, variable
parameters, scope of identifiers
Arrays and addresses
- Arrays, subscripts, subarrays, searching and sorting,
strings.
Structures, dynamic memory, and linked structures
Files and libraries
- Persistence: text and binary files.
ingargiola.cis.temple.edu