Introduction to Computer Science vs. Computer Fundamentals & Programming



210036 計算機概論 210146 基礎程式設計
Time & Place
Tuesday 14:10-17:00, (H-103 [*28 4493]) Friday 08:10-11:00, (TC-208 [*28 4492])
TAs: cs101-ta-2014 李仲哲 (Jeffery) 方湘婷 (Lucifer) 楊國呈 (Nillson) 曾文柏 季昭霆 (Tony) 蔡韻茹 (Lulu) 方湘婷 (Lucifer)
Students enrolled in this class
80 26
Python Textbook Learning Pythonqr_code.png

Programming Environment

Tips for Python 3

  1. Why doesn't the keypad work as expected? It keeps sending an escape sequence.
    Ans: These confusing things happen when PuTTY is in "application keypad mode".  Please follow the following steps:
    1. Bring up PuTTY Configuration.
    2. In the left pane, select Terminal - Features.
    3. Put a check mark next to "Disable application keypad mode".
  2. In case your Python program crashes after you call curses.noecho(), then under the Unix shell you cannot see the characters you type, although the shell still executes your commands.  To enable echo under the shell, type "stty echo" (although you cannot see it) and press Enter.
  3. In the nano editor, you may press Ctrl-W (Where Is) to search a string, or press Ctrl-C to show the current position (row/column) of the cursor.

FAQ

  1. How could I connect to the STU.ipv6.club.tw server if I am not inside the campus?
  2. Q: Why can't I type Chinese characters in my editor?
    A: If you are using the "ee" editor, its support for Chinese is incomplete at this moment (until somebody fixs it up). Please try to use "nano" or "vim".

Code Writing

  1. Draw a flowchart or write a pseudo code to illustrate the basic idea
  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


Tuesday
Quiz
Hands-On Exercise
Extended Reading
More Exercises on Friday
Week 1 9/16
Chapter 1: Computers and Programs
Chapter 2: Writing Simple Programs

  1. Create Mail Filters
  2. Subscribe to the CS101 Mailing List
  3. Writing Python Programs on a FreeBSD server.
  4. Editors on the server: nano, ee, vi




9/19

Foreground Color - RGB

Text-mode games: TETRIS, 2048
Week 2 9/23 Quiz 1
9/26 Rossini : The Barber Of Seville - Overturevideo
Week 3 9/30
Chapter 3: Computing with Numbers
Quiz 2 Volume and surface area of a sphere 10/3
Week 4 10/7
Chapter 5: Sequences: Strings, Lists, and Files
Quiz 3
  1. Reverse a String
  2. Weekdays
  3. Caesar Cipher
  4. Dice Rolling
10/10 Birthday of ROC
Week 5 10/14
Chapter 5: String Formatting and FilesPDF
Quiz 4
  1. Date Conversion
  2. 9x9 Multiplication Table (3)
  3. File Processing
  4. File Reading
10/17
Mozart: The Marriage of Figaro - Overturevideo
  1. 9x9 Multiplication Table (2)
  2. Sin() and cos()
  3. Sawteeth
  4. Sine wave
Week 6 10/21 數位典藏國家型計畫特展


Quiz 5
  1. [YouTube] 《雲端上的寶藏》─(60秒短片)
  2. [YouTube] 《雲端上的寶藏》─(25分鐘版)
  3. [YouTube] 《雲端上的寶藏》─(90分鐘版)
  4. [URL] 典藏臺灣
10/24 On-line test
Tchaikovsky : The Nutcracker Suite - Russian Dancevideo
Week 7 10/28 Midterm Exam (1)

10/31 Mozart: The Magic Flute - Overturevideo


Week 8 11/4
Chapter 6: Defining Functions


11/7 Bizet: Carmen - Overturevideo
Week 9 11/11
Chapter 7: Decision Structures
  1. Flow Chart
  2. Easy flow chart creation with Dia
  3. How to Create a Flow Chart in Microsoft Word
  4. Free Online Drawing

Quiz 6
  1. Leap Year (Ex7-11)
  2. Day Number (Ex7-13)
  3. What day is the first day of a month

11/14 Ravel : Bolero (6'58")video
Week 10 11/18
Terminal Handling - curses (PPT)
Quiz 7
  1. cal
  2. argv
  3. date.py


11/21 Rossini - La scala di seta (絹 絲樓梯)- Overturevideo
Week 11 11/25
Chapter 8: Loop Structures and Booleans


  1. Factorization
  2. Nested Loop
  3. Truth Table
  4. Running Q
  5. HJKL
11/28 Rossini - William Tell - Overturevideo
Week 12 12/2
Midterm Exam (2)




12/5 On-line Midterm Exam (2)

Week 13 12/9
Chapter 9: Simulation and Design


12/12 Tchaikovsky : Eugene Onegin - Overture video
Week 14 12/16
Chapter 10: Defining Classes
Quiz 8
  1. Solid Sphere
  2. Playing Cards
  3. Moment on a Timetable
12/19 Johann Strauss II : Die Fledermaus (蝙蝠) - Overturevideo
  1. Rational Numbers
  2. Train Arrival Time
  3. Sokoban (2)
Week 15 12/23
Chapter 11: Data Collections

Quiz 9 Sokoban (3)
Table Lookup
Define a List of Points
印 度 —— 兩條走廊改變世界video
大前研一:2020年,世 界經濟大預測! video
Why Programmers Working at Night?
12/26
Offenbach : Orpheus in the Underworld - Overturevideo
  1. Sorting a list
  2. Random Seat
  3. Random Seat (2)
  4. Random Seat (3)
  5. Random Seat (4)
  6. Train Arrival Time (2)
Week 16 12/30
Chapter 12: Object-Oriented Design
Quiz 10
Sokoban (4)
racquetball simulation
volleyball simulation
[YouTube] The Story of Electronicsvideo
[TED] 先別急著吃棉花糖video
MIT Energy Scavenger Harvests Power from Light, Vibrations, and Heat
SECO Smart Home solution using EnOcean's Energy Harvesting Wireless Technology (Chinese)video
1/2 Happy New Year
Beethoven : Fidelio - Overturevideo
Show Name (1)
Show Name (2)
Sort Name (1)
Sort Name(2)
Week 17 1/6
  1. Chapter 13:  Algorithm Design and Recursion
  2. Socket API
  3. Socket Programming HOWTO
  4. The urllib Package
Quiz 11
Sokoban (5)
Sokoban (6)
Three Key Monte
人生的最後一堂課,該 說什麼?video
Randy Pausch Last Lecture: Achieving Your Childhood Dreams (Chinese subtitle)
Thirty is not the new Twentyvideo
Steve Jobs在史丹佛大學畢業典禮演講 - 三個故事video
1/10 Dvorak : New World Symphony - 4th Movement (9'59")video
Week 18 1/12 Final Exam


Final Exam


Lab

  1. Beautiful Soup - HTML & XML parser
  2. Google Code University
  3. Flowchart Drawing:
  4. Dia
  5. Dia for Windows
  6. An Introduction to Programming in Go
  7. Build Web Application with Golang
  8. Sikuli Script - automate and test GUI.
  9. Selenium - Web Browser Automation

Exercise

  1. 雞兔同籠
  2. BMI 轉換
  3. What day is January 1?
    Ref: UVA 12019
  4. Calendar
  5. 190 - Circle Through Three Points
  6. 9x9 Multiplication Table
  7. Christmas Tree
  8. Prime Number
  9. Factorization
  10. Greatest Common Divisor
  11. Sorting
  12. Matrix Multiplication
  13. Card Shuffling
  14. Develop a nano editor with Python + curses
  15. 8x16 font
  16. 暗棋:將士象車馬包卒
  17. 蓊鬱錦簇科技二館 - 有蓊鬱的樹木圍繞著科技二館,使建築物融入大自然的美景中,更具生命力。
  18. 光鮮亮麗的山中城堡 - 雲群波濤洶湧、山脈層巒疊嶂及蓊鬱樹木圍繞,暨南大學校園無疑是美麗的歐式莊園。

Reading

  1. Intel Labs Creating Robots of the Future
  2. 10 Ways Not to Be a Jerk Online
  3. 15 Windows Utilities You Can't Live Without
  4. IBM at 100: From typewriters to the cloud
  5. Future of the car (智慧汽車, 51 min) 447.18 F996
  6. Standford CS101
  7. Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities
  8. Google's Fact-Checking Bots Build Vast Knowledge Bank
  9. Zero Robotics Competition
  10. A4WP's wireless charging spec triples available power for laptops, tablets
  11. How WiGig Works
  12. Isaac Asimov: How Do People Get New Ideas?
  13. How to create a bootable Windows USB drive