COP 1220
Programming in C
Summer 2001



Links to C Examples Discussed in Class

View Weekly Course Schedule

Instructions for Homework Assignment #1
Instructions for Homework Assignment #2
Instructions for Homework Assignment #3
Instructions for Homework Assignment #4

Instructions for Programming Assignment #1
Instructions for Programming Assignment #2
Instructions for Programming Assignment #3
  Other interesting links:

C Frequently Asked Questions (and answers)
How-to: Using make and makefiles
C Operator Precedence Chart
Printf and Scanf Reference
Borland's C++ v5.02 Editor Key Chart
Download vile (vi clone) Editor for Windows (vil63w32.zip)

Download Free Borland C++ 5.5 (Cmd line tools)
Install directions for BC++ 5.5

Time & Place: Ref No. 22586: Monday-Wednesday, 6:00 - 8:55 PM, Dale Mabry Room Tech-412
Instructor: Name: Wayne Pollock
E-mail Address: pollock@acm.org
Office & Phone: Tech-404, 253-7213
Office Hours: Monday-Thursday 5:00-5:30, Tues. 2:00-5:00, or by appointment.
homepage URL: http://www.hcc.cc.fl.us/pollock/
Texts: Robert Lafore, The Waite Groups C Programming Using Turbo C++, Second Edition, ©1993 SAMS Publishing.  ISBN: 0-672-30399-X.  (Or newer edition if available.)
Description: "Introduces programming in ‘C’ language, with an emphasis on basic input/output functions.  Topics include interactive programming, style and methodology, top-down design and structured programming."  The class format will be lecture and discussion; class participation is strongly encouraged.  In addition, there will be numerous examples and in-class group programming exercises (model solutions to these and all projects will be provided.)
Objectives: "The student will demonstrate a knowledge of the following topics through objective tests, hands-on activities, and projects:
  1. Variables, relational expressions and assignments.
  2. Assignment operators.
  3. Control statements, including branching loops.
  4. Character and arithmetic data types.
  5. Arrays, strings, and functions using pointers.
  6. Recursion.
  7. Input/output and related functions."
Prerequisite: COP 1000, or Permission of the Instructor.  Students enrolled in a degree or college credit certificate program must complete all prerequisites.
Facilities: All programming assignments can be performed on any computer available in the lab or classroom, or on a home computer.  The minimum requirement is a working ANSI C++ compiler.  Borland C++ v5.5 for Windows is free and ANSI compliant and will be used in class.  Student discounts for Borland C++ as well as on other software are available to HCC students at the campus bookstore.  A free high quality C compiler is available for UNIX and DOS systems from the Free Software Foundation (FSF).  It is called "gcc" (for Gnu C Compiler) or "g++" and it is available using FTP on the Internet at various sites.  MS Visual C++, while not ANSI compliant, will be adequate for this class.  You will need your own floppy disks and writing materials, plus Scantron sheets for the exams.
Grading: 3 equally weighted exams: 50%
3 programming projects: 50%

A=90-100,   B=80-89,   C=70-79,   D=60-69,   F=0-59
(Or you can elect to "audit" the class during the add/drop period.)

  • No make up exams will be offered without the prior approval of the instructor. 
  • While the exams are non-cumulative, each does build upon knowledge acquired earlier.  Exams are based upon material presented in class and are not taken from the text.
  • Regular attendance is imperative for the successful completion of this class.  All phones, pagers, and beepers must be turned off during class time, except with prior permission of the instructor.  No food or drink is permitted in HCC classrooms.  Attendance will be taken within 5 minutes of the start of class; after 6 absences and/or lateness, the student will lose 2 points off the final grade for each occurrence.
  • Credit for class participation includes attendance, preparedness, and adding to class discussions by asking questions and participating in discussions.  Playing computer games, surfing the internet, or working on other assignments for this or other classes during class time will lose you credit.
  • Additional time outside of class will be required to complete the material.  For typical students an average of between 6 to 12 hours each week outside of class are required for preparation, practice, and projects.

  • Students are expected to prepare for each class by completing all reading assignments, reviewing examples and model solutions provided, and practicing programming outside of class.  This is important---you can't learn a skill such as C programming only by attending class and reading books.  You must practice several hours for a few days each week!  If you won't have enough time available, consider auditing the course.
  • A project is late if not turned in by the start of class on the day it is due.  Late projects will be accepted up to one week late only if you obtain the instructor's permission at least one week prior to the due date of the project, or for a documented serious medical reason.  All late projects will lose at least one letter grade penalty regardless of the reason for the delay.  Projects later than one week will receive a grade of F (0).

  • Working together on individual assignments is considered cheating!  Cheating will result in an automatic F (zero) for the project for all parties.  Note that some projects may be group projects, where each member of a small group works together on a project.  It is also ok to ask a fellow student for class notes (in the event you miss a class) or for help in understanding the text or material given to the class (e.g., example programs on the class website).

  • You must follow the academic honesty policy for HCC.  A second cheating offence will result in an "F" for the course, and your name will be turned over to the Dean for further handling.  I take these matters very seriously.  You have been warned!
Projects: Projects will be assigned at various times.  You will have plenty of time to complete the projects.  Although there will be in-class group programming exercises, you must work individually on the projects, typically outside of regular class hours.

Projects are graded according to their design (25%), how well they compile and run (20%), how well your project meets the requirements specifications (20%), the coding style (15%), the amount (and quality) of your comments (10%), and your creativity in extending the project usefully, or an innovative design that uses the features taught in class well, etc. (10%).  Further details will be provided in class.



Classes Begin: Tuesday 5/8/2001
Add-Drop ends: Thursday 5/10/2001
Last Day to Withdraw: Wednesday, 5/30/2001
Classes End (Finals Week): Monday, 6/25/2001  (Last regularly scheduled class: Monday, 6/25/2001)
No Class on: 5/28/01 (Memorial Day)

Request For Accommodation

If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry Campus, Student Services Building Room 208.  Voice Phone: (813) 259–6035, TTD: (813) 253-7035, FAX: (813) 253-7336.


Quotes:         Tell me and I'll listen.
Show me and I'll understand.
Involve me and I'll learn.
    - Lakota Indian saying
        Learning is not a spectator sport!     - Chickering & Gamson



Course schedule for COP 1220

Dates Topics Suggested Readings
5/9

5/14
Course introduction, Personal introduction, LAN use.  Assign User IDs for LAN, discuss passwords.  Open Lab procedures and hours.  Computer use (Borland® C/C++ v5.x).  Compiler basics (three phases, object and executable files).  First C program (Hello.c).  Basic C elements: basic data types, operators and expressions, variables. Get Text; Chapter 1 (don’t take it seriously), pp. 28-35, 46, 48-63
5/16
5/21
Control flow.  C Preprocessor (#define and #include).  Input/Output (printf and scanf).  I/O redirection. Chapters 3, 4, pp. 157-166, 35-46, 291-295
5/23 Exam #1
Functions: calls, usage, parameter passing, returns.
Chapter 5
5/28 No class   -   Memorial Day  
5/30 Memory use (program stack, heap).  Recursion.  Scope (local and global variables).
Project #1 Due
Chapter 5
6/4
6/6
Arrays, strings, standard library functions.  2-dimensional arrays. Chapters 6, 7
6/11 Exam #2
Project #2 Due.
Pointers.
Chapter 7
6/13 struct-ures, typedef, enum.  Command-line arguments.  Sorting and searching arrays. Chapter 9, pp. 514-524, 288-291
6/18
6/20
Scope and lifetime (static and extern).  Dynamic memory (malloc, free), linked-lists,  Modular programming (multi-file projects).  Using data files. pp. 452-481, 504-514, Chapter 11
6/25 Exam #3
Project #3 due.
 





Class name:  COP 1220  (C Programming)   Days: Monday-Wednesday   Time: 6:00PM

Student Information Sheet

Student Name: ___________________________

Student ID: _____________________________

Phone (optional):  ______________________

Email (optional):  ______________________



Student Certification Statement

I have read and understand all of the information contained in the syllabus,
and agree to abide by the conditions of this course, especially the following
areas  (initial each area):

		_____  Test Policy

		_____  Honesty Policy

		_____  Attendance Policy

		_____  Grading Policy

		_____  Class Conduct

						_________________________________
							Student Signature



C Examples Discussed in Class
C Operator Chart Shows operators, their associativity and precedence     Printf and Scanf Reference Shows all the format codes and other information
Hello.c Traditional first program     Cost.c Compute cost per hour of COP 1220
Temp.c Fahrenheit to Celsius conversion     Tax.c Fictional tax calculator
Fact.c Compute Factorials     FactFunc.c Compute Factorials using a function
Fib.c Compute Fibonacci numbers     FibRecur.c Compute Fibonacci numbers recursively
Choose.c Compute C(n, r)     Choose1.c Compute C(n, r) another way
average.c Use Array to computer averages     strup.c convert strings to UPPERCASE.
swap.c Use pointers to pass by reference     parrot.c Illustrates using command-line arguments
Model Solutions to Assigned Projects
Loan.exe Morgage Schedule     graf.exe Draws Graphics
clue.exe Clue Database Application        



Send comments and mail to the WebMaster.