CS2110: Programming in C

Basic Information

Term: Fall, 2008      Time: TuTh 9:30am - 10:45am   Location: EBW 353

Instructor: Prof. Jianlin Cheng     Office: EBW 109    Phone: 882-7306  Email: chengji@missouri.edu Office Hours: TuTh 11am - 12pm

TA: Xie Sun  Office: EBW 242  Email: sun_xie2001@yahoo.com.cn   Office Hours: TuTh: 2:00 - 3:00

Text Book (required): Ron House. Beginning with C: An Introduction to Professional Programming. PWS publishing company, 1993.

Syllabus

Class Schedule

Date Content and Reading Materials Assignment Reading
August 26 Course overview and Chapter 1 (pp. 1 - 10)  no  
August 28 Chapter 2   This assignment includes both multi-choice questions and programming question. (1) Multi-choice questions: questions 2,3,4,5,6,7 on pages 12-13. Each multi-choice question is worth 2 points. (2) Programming questions: questions 4 and 5 on pages 36-37. Each programing question is worth 10 points. For each programming question, write an C program file to contain your answer. Make sure you compile and execute your programs before submission. The TA will test your program on Linux. Your score is based on the code and the execution results.  
Sept. 2 Chapter 2 and 3 No Chapter 3
Sept. 4 Chapter 3 On pages 64-65, questions 1 (7 points), 3 (5 points), 5 (10 points), 7 (10 points), and 12 (15 points). The assignment is due by 11:59 pm, Sept. 11. Chapter 3
Sept. 9 Chapter 3 No
Sept. 11 Chapter 4 Page 91: question 1 (5 points), question 2 (5 points), question 5 (5 points), and question 7 ( 5 points). Pages 92-93: question 8 (10 points), question 9 (10 points), and question 16 (10 points). Due at 11:59pm, Sept. 18. Chapter 4
Sept. 16 Homework Review and Chapter 4 No
Sept. 18 Chapter 4 and 5 No
Sept. 23 Chapter 5 Page 123: question 4 (6 points), question 5 (5 points). Pages 124-126: question 7 (10 points), question 18 (10 points), question 21 (10 points). Due on Oct. 2  
Setp. 25 Project description    
Sept. 30 Chapter 6    
Oct. 2 Chapter 6 and 7 Page 179: question 8 (10 points), question 9 (10 points), question 12 (10 points), question 13 (10 points), question 14 (15 points). Due on Oct. 9.  
Oct. 7 Chapter 9: Arrays Page 232: question 2 (10 points); Page 233: question 1 (5 points), question 2 (12 points); Pages 234-237: questions 4,5,7,9, 10 (bonus question),13 (bonus question),17 (bonus question), each is worth 10 points. Due Oct. 16  
Oct. 9 Mid-Term Exam    
Oct. 14 Project description (II); Chapter 10: Text File Page 269: question 1 (5 points), question 2 (10 points); Page 270: question 3 (8 points); Page 271: question 10 (15 points), question 11 (15 points). Due Oct. 23  
Oct. 16 1. Tutorial: Debug a program using GDB. 2. Graphical Interface:DDD. 3. GDB website
Oct. 21 Debuging and Chapter 11 - Structuring Data    
Oct. 23 Chapter 12 - Pointers Page 296: question 4 (15 points), question 5 (15 points); Pages 319-320: question 4 (10 points), question 5 (15 points), question 9 (10 points), question 10 (15 points). Due Oct. 30  
Oct. 28 Chapter 12 - Pointers  
Oct. 30 Chapter 13 - Advanced Pointers  
Nov. 4 Chapter 15 - Data Structures and Abstract Data Types  
Nov. 6 Chapter 13 - Advanced Pointers Pages 350-352: question 2 (5 points), question 4 (12 points), question 7 (15 points), question 14 (15 points), question 1 (bonus question, 10 points). Due at midnight on Nov. 15 (Saturday).  
Nov. 11 Chapter 17 - Random Access and Binary Input-Output and Chpater 18  
Nov. 13 Chapter 18 - Scoping, Linkage and Storage Duration; Chapter 19 - Search and Sorting Page 481: question 3 (20 points); Page 482: question 6 (20 points); and list the names of all the members in your project team (10 points). Due Nov. 22.
Nov. 18 Make file, wrap up C programming language, and C++ basics [slides]
Nov. 20 C++ (II) [slides]
Dec. 2 Project Review
Dec. 4 Class Cancelled
Dec. 9 C++ (III)
Dec. 11 Review for the final exam

Program Examples (Listing)

All the program examples used in the text book are here. You can download and test programs. The programs can be compiled by any Ansi-C compatibile compiler such as gcc on Linux or Visual Studio on Windows.

Here is an example of compiling and executing a C program (prog.c) on Linux (such as babbage.cs.missouri.edu):

Compiling: 
#gcc prog.c -o prog

The name of the output executable is prog.

Running:

#./prog

Self-Test Exercise

The answers to the most self-test exercises in the book are available here. You can download the programs of the programming exercises.

Project

There is one team project spanning the entire course. Each team has at least four students. The project description is here.

Exams

Mid-Term Exam: Oct. 9, Thursday, EBW 353, 9:30 - 10:45
Final Exam: Dec. 19, Friday, EBW 353, 10:30 - 12:30

Technical Support

 
1. How to connect to a Linux / Unix server such as babbage.cs.missouri.edu?
   On Unix and Linux computers, use command "ssh".
   On Window, use a tool called "putty". You can download putty here.

2. How to transfer a file between my desktop and a Linux / Unix server?
   Use a ftp tool. On Linux you can use command "sftp". On Windows you can use a tool "WinSCP". You can downlod "WinSCP" here.