Introduction to Computer Programming 2017-02: Difference between revisions
No edit summary |
(→C) |
||
Line 46: | Line 46: | ||
=== C === | === C === | ||
There are two must have and one recommended--solely because there is translated book available. The first two books are must have textbooks. The third one is recommended. I also recommend you to read [http://sunyzero.tistory.com/225 C언어 공부법과 책추천(by sunyzero)]. It gives guide on how to study the language and also emphasizes why the first two books are required textbooks. I recommend to buy the original books and not the translated books. | There are two must have and one recommended--solely because there is translated book available. The first two books are must have textbooks. The third one is recommended. I also recommend you to read [http://sunyzero.tistory.com/225 C언어 공부법과 책추천(by sunyzero)]. It gives guide on how to study the language and also emphasizes why the first two books are required textbooks. I recommend to buy the original books and not the translated books. | ||
# K.N. King, "C Programming: A Modern Approach," W. W. Norton & Company, 2nd Edition, 2008 [http://www.kyoboacademy.co.kr/academy/product/bookInfo.laf?barcode=9780393979503&ejkGb=ENG 교보문고 바로가기] | # K.N. King, "C Programming: A Modern Approach," W. W. Norton & Company, 2nd Edition, 2008 [http://www.kyoboacademy.co.kr/academy/product/bookInfo.laf?barcode=9780393979503&ejkGb=ENG 교보문고 바로가기] (KNK로 표기) | ||
# Brian W. Kernighan, Dennis M. Ritchie, "C Programming Language" Prentice Hall, 1988 (2nd Edition) (Kernighan 의 C언어 프로그래밍) [http://www.kyoboacademy.co.kr/academy/product/instruction/bookInfo.laf?barcode=9788993712674&ejkGb=KOR&univYn=undefined 교보문고 바로가기] | # Brian W. Kernighan, Dennis M. Ritchie, "C Programming Language" Prentice Hall, 1988 (2nd Edition) (Kernighan 의 C언어 프로그래밍) (K&R로 표기) [http://www.kyoboacademy.co.kr/academy/product/instruction/bookInfo.laf?barcode=9788993712674&ejkGb=KOR&univYn=undefined 교보문고 바로가기] | ||
# Stephen Prata. "C Primer Plus". Sams, 2004 (C 기초 플러스) [http://www.kyoboacademy.co.kr/academy/product/general/bookInfoKor.laf?barcode=9788931553765&ejkGb=KOR 교보문고 바로가기] | # Stephen Prata. "C Primer Plus". Sams, 2004 (C 기초 플러스) [http://www.kyoboacademy.co.kr/academy/product/general/bookInfoKor.laf?barcode=9788931553765&ejkGb=KOR 교보문고 바로가기] | ||
Revision as of 12:33, 25 August 2017
Class Information
Class A | Class B | |
---|---|---|
Class | ETA00086 - 프로그래밍 기초, ETA00087 프로그래밍 기초 실습 | ETA00086 - 프로그래밍 기초, ETA00087 프로그래밍 기초 실습 |
Lecturer | Seonah Lee | Seongjin Lee |
Assistant | John Doe | Jane Doe |
Time and Place | Tuesday: 407-508, 09:00-11:00 | Tuesday: 407-101 09:00-11:00 |
Wednesday: 407-203 10:00-12:00 | Wednesday: 407-202 10:00-12:00 | |
Friday: 407-203 10:00-12:00 | Friday: 407-202 10:00-12:00 | |
Office Hour | Tuesday: 11:00-12:00 | |
Contacts | Room: 407-307 | Room 407-314 |
Email: saleese.gnu.ac.kr | Email: insight@gnu.ac.kr |
Course Introduction
In the Computer Engineering, the language you use determines the capabilities of the software you develop. The more powerful a language is, the easier you can increase the performance and the simpler you can write the software. We are going to learn two languages in this course, Python and C. Python is a versatile, yet powerful, language that is easy to learn as well as the ease of the use. Many of the well-known companies are using Python to solve many of the engineering problems. For example, Dropbox desktop client is written in Python. Another language we are learning in the class is C. Since Dennis Ritchie at AT&T Bell Lab in the early 1970s developed C Programming Language, it has become one of the most powerful language used by various developers working in mobile, enterprise, and embedded systems. The success of C language is the result from its portability, standard library, ready use of the hardware, and ease of optimization.
Goal
In this course, we are going to learn the essence of two languages, namely Python and C. Students are going to learn the following concepts.
- Compiling and running the program
- Variables, Data Types, and Arithmetic Expressions
- Loops and Control Flows
- Arrays and Pointers
- Functions
- Data Structures
- File I/O
Textbook
Python
There are two textbooks for Python. The class is based on the first book which is elementary and an introductory textbook on python for absolute beginner, but the second book is recommend. Although there is no Korean version of Think Python, it is written in plain English with friendly style. It would be better to have this book rather than the first. Moreover, the author made it freely available on the web.
- 모두의 파이썬 20일 만에 배우는 프로그래밍 기초 | 이승찬 지음 | 길벗 | 2016년 05월 09일 출간 교보문고 바로가기
- Allen B. Downey, "Think Python: How to Think Like a Computer Scientist", 2015, 정식 번역본 없음 바로가기
C
There are two must have and one recommended--solely because there is translated book available. The first two books are must have textbooks. The third one is recommended. I also recommend you to read C언어 공부법과 책추천(by sunyzero). It gives guide on how to study the language and also emphasizes why the first two books are required textbooks. I recommend to buy the original books and not the translated books.
- K.N. King, "C Programming: A Modern Approach," W. W. Norton & Company, 2nd Edition, 2008 교보문고 바로가기 (KNK로 표기)
- Brian W. Kernighan, Dennis M. Ritchie, "C Programming Language" Prentice Hall, 1988 (2nd Edition) (Kernighan 의 C언어 프로그래밍) (K&R로 표기) 교보문고 바로가기
- Stephen Prata. "C Primer Plus". Sams, 2004 (C 기초 플러스) 교보문고 바로가기
For your information, we used the following book on 2016.
- 어서와 C언어는 처음이지! 초보자를 위한 C 프로그래밍 완벽가이드 | 그레그 페리 , 딘 밀러 지음 | 천인국 옮김 | 인피니티북스 | 2015년 06월 26일 출간
Evaluation
Categories | Ratio | Categories | Ratio |
---|---|---|---|
Attendance | 10 | Exam I | 25 |
Assignments | 20 | Exam II | 20 |
Exam III | 25 | ||
Total | 100% |
Schedule and Readings
Week | Topic | Lecture | Lab | References | ||
---|---|---|---|---|---|---|
1 | Python | Aug-29 | Introduction & Course Overview D01 | Aug-30 & Aug-01 |
Variables D02-03, Operations and variables Reading: Day02 간단한 프로그램 만들기 Day03 연산과 변수 |
|
2 | Sep-05 | Flow Diagram D04-05, for Loops Reading: Day04 for 명령을 사용하여 똑같은 작업 반복하기 Day05 range 명령을 사용하여 변화를 주면서 반복하기 |
Sept-06 & Sept-08 |
Drawing and Input D06-07, Drawing and Input Reading: Day06 거북이 그래픽으로 그림 그리기 Day07 정보 입력하기 |
||
3 | Sep-12 | Control Flow D08-09, Condition/Random Reading: Day08 True/False 판단하기 Day09 random 모듈로 임의의 수 뽑기 |
Sept-13 & Sept-15 |
Reading: Day13 거북이 그래픽 응용하기 Day14 계산 맞히기 게임 만들기 |
||
4 | Sep-19 | Repetition D10 Loops Reading: Day10 while 명령으로 반복하기 |
Sept-20 & Sept-22 |
Arrays D14-15 Typing Game Reading: Day15: 타자 게임 만들기 |
||
5 | Sep-26 | Function D11-12 Definition and calls Reading: Day11 함수를 정의하고 호출하기 Day12 함수 응용하기 |
Sept-27 & Sept-29 |
Review | ||
6 | C | Oct-03 | 추석 | Oct-4-6 | 추석 | |
7 | Oct-10 | EXAM I Place: 407-101 Duration: 2 Hours | Oct-11 & Oct-13 |
Exam Review & Compilation Pipeline | ||
8 | Oct-17 | C fundamentals, Formatted Input/Output READING: KNK 2, 3 or K&R 1 |
Oct-18 & Oct-20 |
Exercise 8 | ||
9 | Oct-24 | Expression, Basic Types READING: KNK 4, 7 or K&R 2 |
Oct-25 & Oct-27 |
Exercise 9 | ||
10 | Oct-31 | Control Flow READING: KNK 5, 6 or K&R 3 |
Nov-01 & Nov-03 |
Exercise 10 | ||
11 | Nov-07 | EXAM II Place: 407-101 Duration: 2 Hours | Nov-08 & Nov-10 |
Exam Review | ||
12 | Nov-14 | Arrays, Functions READING: KNK 8,9 or K&R 1.6, 4 |
Nov-15 & Nov-17 |
Exercise 11 | ||
13 | Nov-21 | Pointers READING: KNK 11 or K&R 5 |
Nov-22 & Nov-24 |
Exercise 12 | ||
14 | Nov-28 | Pointers and Arrays READING: KNK 12 |
Nov-29 & Dec-01 |
Exercise 13 | ||
15 | Dec-05 | Structures READING: KNK 16 or K&R 6 |
Dec-6-8 | Exercise 14 | ||
16 | Dec-12 | Exam III Place: 407-101 Duration: 2 Hours |
Miscellaneous
- Class A and B will be taught with same text book, class materials, exercises, and assignments. There might be minor differences regarding the teaching methods and use of the time; however, overall layout and the course schedule in both of the classes is the same.
- Each class is graded separately.