San Jose State University
Fall 2009 Semester
Computer Science 49C Section 2
Programming in C
Course Code: 48093
Fall 2009 Meeting Times
Tuesdays and Thursdays 12:00-13:15 in DH 450
Instructor
Name: Mrs. Natasha Khuri Office: 282 Duncan Hall E-mail: natasha at cs dot sjsu dot edu
Office Hours:
Tuesdays and Thursdays 11:00-11:45am in DH 282 and by e-mail.
Catalogue Description
This class teaches
students to design, code, debug and run software in the C programming
language. Besides CS majors, this course is also appropriate for other
majors who wish to become proficient in C. A fundamental objective is to
provide students with extensive practice writing C programs.
Course Objectives
To expose students to fundamental elements
and issues of program logic
To encourage students to write well-documented, readable and
maintainable code
To teach students to use an Integrated Development Environment for
program development
To cover the following topics in C programming:
Data types, including characters and strings as well as numeric
types
Formatted Input/Output in C, Character I/O and input validation
Operators, expressions and statements
Control statements, branching and looping
Functions, formal parameters and function arguments
Arrays and pointers
Character strings and string functions
Storage classes, linkage and memory management in C
Structures
File I/O
Prerequisites
Previous programming experience and completion of math GE.
Add and Drop Policy
For those wishing to add this course, the deadline is Friday, September 11.
The last day to drop or withdraw without a "W" grade and with a full refund is
Thursday, September 3.
Textbook
C By Discovery, 4/E, Foster and Foster, Addison-Wesley, 2005, ISBN: 1576761703. Download book programs in zip format.
Student Learning Outcomes
Upon successful completion of this course, students should be able to: (1)
proficiently write, debug and run C programs, (2)
produce code that is correct, clear, well-organized and easy to
understand, (3) read, interpret and understand C code written by others,
and (4) describe in detail the workings of any common element of C.
Course
Requirements
Class Attendance:
Class attendance is required. Students are expected to be punctual in every scheduled class. Lecture notes will not be
posted; students are expected to take notes in class. Students are expected to prepare for
class by completing all reading and programming assignments.
Personal Laptops and Software:
Laptops are NOT needed. All in-class work should be performed on lab computers. All
programs will be compiled and executed using the UNIX operating system. DH 450 lab
runs Solaris operating system, therefore, all submitted work should compile and run under
Solaris. It is strongly recommended that Windows users install on their home computers a cygwin
utility that simulates UNIX environment.
Course Schedule:
Class schedule is available on-line and updated frequently. Students are
expected to check class schedule regularly. In addition to listing main course
milestones (exams and homework), the schedule contains
handouts, reading and programming assignments, and class announcements. Class schedule is posted
at http://www.cs.sjsu.edu/~natasha/cs49c/fall2009/schedule.html.
Midterm Exams
Two midterm exams are in-class, closed-book and comprehensive.
Exam material will be drawn from the lectures, textbook, homework, and in-class
activities. Graded exams are returned within one week.
There will be no make-up exams.
The midterm exams will be given on the following dates:
Exam One: Thursday, October 1, 2009.
Exam Two: Thursday, November 5, 2009.
Final Exam
Final exam is in-class, closed-book and comprehensive. No make-up exam will
be given. The material of the final exam will be
drawn from lectures, textbook, homework assignments and in-class activities. Final exam will be given
on Wednesday, December 16, 2008 from 09:45am-12:00(noon).
Grading Policy
The final grade will be computed as shown below:
Homework and in-class laboratories: 20%
Exam One: 25%
Exam Two: 25%
Final Exam: 30%
Grading scale in points:
[97, 100] A+
[93, 97) A
[90, 93) A-
[87, 90) B+
[82, 87) B
[80, 82) B-
[77, 80) C+
[72, 77) C
[70, 72) C-
[67, 70) D+
[62, 67) D
[60, 62) D-
[0, 60) F