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

PREREQUISITES

TEXT

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

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