Introduction to Computer Science

210036 計算機概論

Programming Environment

Tips for Visual C++ 2010

  1. Tools - Options - Text Editor - C++
  2. Tools - Options Projects and Solutions
  3. Enable on-line help so that you can press F1 to look up the syntax of a command in Visual C++
    1. Launch Help Library Manager from the "Help" menu in your software application. Click "Help" - "Manage Help settings".
    2. After HLM launches, click "Install content from Online".
    3. Choose "Visual C++", "Visual Studio Fundamentals", "Visual Studio SDK"

Code Writing

  1. Draw a flowchart
  2. Prepare a test case so that you will verify when your code is complete.
  3. Keyin your code and check it is correct or not.
  4. If the outcome differs from what you expect, ask yourself why.

How will your programming assignments be evaluated

課程評量方式:

Syllabus

Week 1 9/15
  1. Introduction to Web Surfing
    • 介紹三種 web browsers (e.g. Firefox, Chrome)
    • 介紹三個 search engine (e.g. Google, Bing, Baidu)
    • 介紹三個線上百科 (e.g. Grolier Multimedia Encyclopedia)
    • 介紹三個電子雜誌 (e.g. PC Magazine)
  2. Introduction to Email system
    • Concept of client/server architecture
    • 介紹三種 Mail User Agent (e.g. Thunderbird)
    • Subscribe to CS101 mailing list
9/17
  1. Data, Variables, and Calculations
  2. Input/Output
  3. Decisions

為 什麼要念大學?
洪 蘭:探索大腦奧秘,發現每個人天份
How to Buy a Laptop for Back to School
Week 2 9/22 Mid-Autumn Festival
9/24
  1. Loop, Array
Week 3 9/29
  1. String, Functions
  2. Quiz 1
10/1
  1. Reading and Writing Sequential Files
  2. Quiz 2
Week 4 10/6 Programming the Windows Graphical User Interface
Quiz 3
10/8 Introduction to Programming Graphics
Quiz 4

Week 5 10/13  10/15

Week 6 10/20 Recursion
Quiz 5
10/22
More Graphics Controls
請同學先準備好系上核發的帳號及密碼。
  1. Use PuTTY to login "stu.csie.ncnu.edu.tw".
  2. Run "bwbasic".
Quiz 6
五 月天 戴立忍 張芸京 與你心靈對話
Week 7 10/27 Mid-term Exam (1) 10/29
專 注─王建民成長紀實 (上)
How we Teach Introductory Computer Science is Wrong
Week 8 11/3 bwBASIC



11/5 bwBASIC (2)



年 輕人職場求生法則--閱讀空氣
(Youtube)
Week 9 11/10 
Chapter 1: Programming with Visual C++ 2010


11/12 Number Representation

第 1 集:本事,周杰倫成長記實(Youtube)
Week 10 11/17
Chapter 2: Data, Variables, and Calculations
Quiz 7
11/19 Chapter 3: Decisions and Loops
Quiz 8

洪蘭:如 何提升學習效果
Week 11 11/24 Chapter 4 Arrays, Strings
Bubble Sort, "cards shuffle"
11/26 電腦族的脊椎健康

張鈞甯不當傀儡 勇敢做自己
桂綸鎂——幸福就是走難走的路
Week 12 12/1 Quiz 9
GNU C++
12/3 Midterm Exam (2)

王 浩威:給年輕人的「挫折管理」兩堂課
MIT 媒體實驗室創新的5把金鑰
Week 13 12/8  Chapter 4  Pointer
Quiz 10


Week 14 12/15 Chapter 5: Functions
Example of "decimal to octal conversion".
HW: Convert decimal to hexadecimal by a recursive function.
Quiz 11
 String Functions [PPT] & File Functions [PPT]

迎 向未來的關鍵能力:品格教育
迎 向未來的關鍵能力:「動手做」的實踐
迎 向未來的關鍵能力:運用資訊科技
迎 向未來的關鍵能力:美感體驗
迎 向未來的關鍵能力:學習知的能力
Week 15 12/22 Chapter 6: More about Program Structure
Callback Functions
Quiz 12
12/24 Christmas Eve

印 度 —— 兩條走廊改變世界
心 靈走廊,到印度尋找自己
台 灣IT產業在印度
印 度,貧窮中的創新
印 度,台商全球化的練兵場
Week 16 12/29 Midterm Exam (3) 12/31 New Year Eve
赫 茲:CSR,未來商機的關鍵
Week 17 1/5 Chapter 7: Defining Your Own Data Types
Chapter 4: Dynamic Memory Allocation
Quiz 13
1/7
HW: Linked List , Binary Tree

人生的最後一堂課,該 說什麼?
Randy Pausch Last Lecture: Achieving Your Childhood Dreams
Week 18 1/12 Final Exam



 

Lab

  1. Logo Interpreter
  2. e-Tutor
  3. Creating C++ Console Applications in Visual Studio .NET 2003
  4. CodeGuru: Visual C++ and MFC
  5. Coding4Fun (MSDN Blogs)
  6. Code4Fug.org
  7. 線上解題系統 (NKNUSH)
  8. Advanced Programming (NSYSU)
  9. Google Code University
  10. Windows Mobile Technologies (http://msdn.microsoft.com/en-us/library/bb847935.aspx)
  11. Pthread
  12. W3C Open Source Software
  13. Flowchart Drawing:
  14. Dia
  15. Dia for Windows

Exercise

  1. 9x9 Multiplication Table
  2. Christmas Tree
  3. Prime Number
  4. Factorization
  5. Greatest Common Divisor
  6. Sorting
  7. Matrix Multiplication
  8. Card Shuffling
  9. Calendar
  10. Dec2Float: 40 decimal = 0x42200000 IEEE Single Precision
  11. bwBASIC: readline, ncurse

Reading

  1. Intel Labs Creating Robots of the Future
  2. 10 Ways Not to Be a Jerk Online