一、課程說明 (Course Description)

This course introduces students to structured programming of digital computers using the C language. It
takes a bottom-up approach by starting with a simple machine and building up the fundamental concepts
before introducing them in C, including data types, functions, structured control flow, input and output,
basic data structures, and macros. This course is intended for first-year students majoring in computer
engineering. No prior programming experience is assumed.


二、指定用書 (Textbook)

Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2/e
Yale N. Patt and Sanjay J. Patel
McGraw-Hill, ISBN 0-07-246750-9, ISBN 0-07-121503-4 (ISE)

三、參考書籍 (References)

B. W. Kernighan and D. M. Ritchie, THE C PROGRAMMING LANGUAGE, Second Edition. Prentice Hall, 1988.
Stephen Prada, C Primer Plus, Fifth Edition, Sams, ISBN 0-672-32696-5, 2004.


四、教學方式 (Teaching Method)

This course is synchronized with ShareCourse CS01007. The video recordings will be posted on LMS and
on ShareCourse up to one week in advance, and students are expected to view the lecture materials on
their own before the scheduled lectures. The 3 hours of lecture time per week will be devoted to
interactions between the instructor and the students as well as pop quizzes. Attendance is required.


五、教學進度 (Topic)

Week Topic and Chapter
---- ----------------
1. (9/16, 9/19) Introduction: setting up, Unix environment, vi text editor, hello world
2. (9/23, 9/26) [Ch. 1] Introduction, [Ch.2] Data Representation [Ch. 2] Operators
3. (9/30, 10/3) [Ch. 11] C overview
4. (10/7, 10/10) [Ch. 12] C data types, variables, operators, expressions
5. (10/14, 10/17) [Ch. 13] C Control Constructs
6. (10/21, 10/24) [Ch. 14] C functions
7. (10/28, 10/31) [Ch. 15] Midterm Em, Debugging
8. (11/4, 11/7) [Ch. 16] Arrays and Pointers
9. (11/11, 11/14) [Ch. 17] Recursion
10. (11/18, 11/21) [Ch. 18] Formatted I/O
11. (11/25, 11/28) [Ch. 19] Data Structures
12. (12/2, 12/5) [Ch. 5] LC-3 ISA [Ch. 6] Programming
13. (12/9, 12/12) [Ch. 7] LC-3 Assembly
14. (12/16, 12/19)[Ch. 10] LC-3 Stack
15. (12/23, 12/26) Advanced Topics
16. (12/30, 1/2) Advanced Topics
17. (1/6, 1/9) Course Review
Final Demo


六、成績考核 (Evaluation)

programming assignments: 60%
class participation: 30%
in-class quizzes: 10%

七、可連結之網頁位址 (Course Website)
http://lms.nthu.edu.tw/course/15157