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.
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:45Technical 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.