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/
- Instructor : Dr. Giorgio P. Ingargiola
- Office : Computer Activity Building, Room 1038
- Phone : (215)204-6825
- E-Mail : giorgio.ingargiola@temple.edu
- Contact Hours : Wednesday from Noon to 1:30pm,
Thursday from 2:30 to 4:00,
or by appointment, or take your chances and drop by
- Graduate Assistant : Vladan Radosavljevic
- Office : Computer Activity Building, Room TBS
- Phone : (215)204-TBS
- E-Mail : vladan@ist.temple.edu
- Contact Hours : Monday 10:00-12:00, Tuesday 3:00-5:00, Friday 10:00-12:00
- Help Web Page: www.ist.temple.edu/~vladan/
- Lecture Time: Tuesday from 5:30 to 8:00pm in Tuttleman Hall 305A.
- Lab Time: Wednesday 5:30 to 7:20 in Computer Center 209
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
- Grade of C or better in Mathematics 1021 (C073) or higher, or placement into
Mathematics 1022 (C074).
TEXT
- J. Hanly, E. Koffman: Problem Solving and Program Design in C, sixth
edition
Addison-Wesley, 2010 [RECOMMENDED]
- Kernighan and Ritchie: The C Programming Language, second edition
Prentice Hall, 1988 [RECOMMENDED]
MISCELLANEOUS
- Our first class is on August 31 and our last class is on
December 7.
- Each student should have a general Temple email address
- Important student information is accessible from
http://owlnet.temple.edu/
- The last day to drop from the course (and get tuition refund) is
Tuesday, September 14.
The last day to withdraw from the course (no refund) is Monday,
November 1.
Students who have previously withdrawn from this course,
or who
have already withdrawn from 5 courses since September 2003 may not
withdraw.
- Any student who has a need for accomodation based on the impact of a
disability should contact me privately to discuss the specific situation
as soon as possible. Students with documented disabilities should contact
Disability Resources and Services at
215-204-1280 in 100 Ritter Hall to coordinate reasonable accomodations.
- Freedom to teach and freedom to learn are inseparable facets
of academic freedom. The University has adopted a policy on
Student and Faculty Academic Rights and Responsibilities
(Policy # 03.70.02) which can be accessed through the
following link:
http://policies.temple.edu/getdoc.asp?policy_no=03.70.02
- Students should be familiar with the University statement on academic honesty found at
the
following link
GRADING
- Weekly : 18% 10 minute tests: Eleven tests, given each week,
only your top ten scores will count
- Midterm 1 : 10% On Tuesday September 28
- Midterm 2 : 12% On Tuesday October 26
- Final : 35% On Tuesday December 14, 5:45-7:45
- Homeworks : 25%
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.