San Jose State University
Spring 2008 Semester
Computer Science 49C Section 2
Programming in C
Course Code: 26288
Spring 2008 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 13:30-14:45 in DH 282 and by appointment. To
request an appointment, send an e-mail
to natasha at cs dot sjsu dot edu
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 February 11, 2008.
To add the course, you must attend the class meetings and submit the questionnaire during the
first class.
The last day to drop or withdraw without a "W" grade and with a full refund is
February 4, 2008.
Textbook
The C Programming Language, 2nd Edition, by Brian W. Kernighan and
Dennis M. Richie. Prentice Hall, 1988. ISBN # 0-13-110362-8.
Student Learning Outcomes
Upon successful completion of this course, students should be able to: (1)
proficiently write, debug and run C programs, (2) use an IDE (such as
Microsoft Visual Studio.Net) for program development and debugging, (3)
produce code that is correct, clear, well-organized and easy to
understand, (4) read, interpret and understand C code written by others,
and (5) 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 prepare for class by completing reading and programming assignments and take notes in class.
Personal Laptops:
Laptops are needed in every class.
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 quizes), the schedule contains
handouts, reading and programming assignments, and class announcements. Class schedule is posted
at http://www.cs.sjsu.edu/~natasha/cs49c/spring2008/schedule.html.
Homework:
Reading assignments from the textbook and additional handouts will be assigned every lecture. In addition,
programming and paper-pensil exercises will be assigned. It is very important that students do the homework regularly
and on the assigned days. Homework is not graded, but the material
from homework will constitute the basis for in-class
activities, quizzes and exams. Solutions to programming exercises will be
posted on class schedule.
Quizzes:
There will be pop-quizzes at the beginning of some lectures. These quizzes
will not be announced. The quizzes will test the material from the lectures, textbook and in-class exercises.
Missed quizzes cannot be made up. The lowest quiz score will be dropped when
computing the final grade.
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, February 28, 2008.
Exam Two: Thursday, April 10, 2008.
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 Friday, May 16, 2008 from 09:45am-12:00(noon).
In-class activities:
All students are expected to participate in class activities. During
the semester, a number of in-class individual and group
exercises will be completed. Some exercises will involve designing and
implementing solutions
to given problems in C, others will test students
familiarity with C language constructs. These exercises will be graded.
The dates of these exercises will not be announced on
the class schedule. Missed in-class activities cannot be made up.
Plagiarism:
Students are expected to acknowledge the source of all
the materials obtained from classmates, instructor,
textbook, and/or Internet. Please, see SJSU plagiarism
tutorial at
http://tutorials.sjlibrary.org/plagiarism/index.htm
.