CIS 1057 - Section 9: Computer Programming in C - Fall 2010

Description, Prerequisites, Texts, Miscellaneous, Grading, Exams,, Homeworks, Laboratories, Outline.

Additional information about this course can be found on WWW at URL http://www.cis.temple.edu/~ingargio/cis71/

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 solve simple programming problems and to write and to reason about simple programs. No credit for students who have taken CIS1053, CIS1068, or CIS1073.

PREREQUISITES

TEXT

MISCELLANEOUS

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 a midterm for an emergency [as agreed with instructor], there will be no makeup exam: the other midterm and the final will become proportionally more important. If you miss a midterm without previous agreement and without definite proof as to the medical or legal reasons, you will get a zero for that exam grade. The final exam is mandatory on the scheduled day. Attendance is mandatory to both lectures and labs.

HOMEWORKS

You will be assigned one homework each week. Each assignment must be completed on time and sent by e-mail to the Teaching Assistant (TA). Late homeworks will not be accepted by the TA; the instructor may accept them in the case of emergencies. The homeworks will be graded and commented upon by the TA and returned to you by e-mail usually before the next homework is due.
You are expect to work and complete all the homeworks on your own. Plagiarism will be severely punished. See the University Policy on Plagiarism and Academic Cheating.

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, and compiler. 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.