Computer Programming in C

Course number: 
CIS 1057
Fall 2015
Name E-mail Office location
Frank Friedman
Science Education and Research Center (SERC), Room 366
Joe Jupin (Joseph Jupin)
Science Education and Research Center (SERC) , Room 323

Successful completeion (C- or better) of a first level general education math course.

Problem Solving and Program Design in C, 8th Edition, Hanly and Koffman, Addison-Wesley, copyright 2016

Reference Material: 
Kernighan and Ritchie, The C Programming Language, 2nd Edition, 1988, Prentice-Hall (in bookstore for either CIS 1057 or CIS 2107 (CIS 0072).  {You  do not need to buy this book – it is not essential but it could be helpful}
Topics covered: 
Introduces students to computers and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving, and algorithm specification, and the debugging and testing of computer programs using the C language. NOTE: This course can be used to satisfy the university Core Quantitative Reasoning B (QB) requirement. Although it may be usable towards graduation as a major requirement or university elective, it cannot be used to satisfy any of the university GenEd requirements. See your advisor for further information.
Course goals: 
[NOTE: From the above URL, simply follow the link to CIS 1057 Section 2]

The purpose of this course is to provide an introduction to and ample exercise with the basic concepts of writing good computer programs -- programs that are concise, clear, easy to read, test, modify and that satisfy stated, written requirements.  Particular attention will be paid to the concepts of program and data abstraction. Numerous complete program examples will be illustrated in class, and a number of design and programming problems will be assigned.  All programs will be implemented in the C programming language.  

Programming is hard for most.  It involves planning and problem solving skills-- making good decisions about various strategies to follow in mapping out a solution to a problem.  Mostly, it requires precision and patience. We will provide suggested methodologies and tools that should make it any easier to build a firm grounding in the discipline of programming.  

By the end of the course, students should be proficient in reading, designing, writing, debugging, and testing programs written using the standard C programming language.  Effective use of the programming methodologies and tools and algorithm design approaches is also expected.
Attendance policy: 
Attendance at all meetings of the class lectures is strongly encouraged.  Except under special circumstances, students are responsible for making up all material pertaining to missed classes on their own.  Attendance at all Lab meetings is required.  Attendance is taken in both lab and lecture sessions.  All other details concerning the conduct of the course may be found on the course website and on the course blackboard site.
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following