Introduction to Computer Science vs. Computer Fundamentals & Programming



210036 計算機概論 (限大一) 210036 計算機概論 210146 基礎程式設計
Time & Place
Tuesday 14:10-17:00, (H-103 [*28 4493]) Thursday 14:10-17:00, (TC-208 [*28 4492]) Friday 08:10-11:00, (TC-208 [*28 4492])
TAs: s104321510 王文佑
s104321518 姜秀昕
s104321541 唐哲峰
s104321517 陳怡安
s102321037 蔡韻茹(Lulu)
s102321018 王詠瑜
s104321520 張哲樺
Students enrolled in this class
58 26 32
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 & Thursday
Quiz
Hands-On Exercise
Extended Reading
More Exercises on Friday
Week 1 9/15
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/18
Text-mode games: TETRIS, 2048, Typing

Week 2 9/22  Chapter 3: Computing with Numbers Quiz 1
9/25 
Week 3 9/29

Quiz 2 Volume and surface area of a sphere 10/2 Rossini : The Barber Of Seville - Overturevideo
Week 4 10/6
Chapter 5: Sequences: Strings, Lists, and Files
Quiz 3
  1. Reverse a String
  2. Weekdays
  3. Caesar Cipher
  4. Dice Rolling
10/9
Week 5 10/13
Chapter 5: String Formatting and FilesPDF
Quiz 4
  1. Chinese Numbers
  2. Date Conversion
  3. 9x9 Multiplication Table (3)
  4. File Processing
  5. File Reading
10/16
Mozart: The Marriage of Figaro - Overturevideo
  1. 9x9 Multiplication Table (2)
  2. Sin() and cos()
  3. Sawteeth
  4. Sine wave
Week 6 10/20 Chapter 6: Defining Functions


Quiz 5
  1. London Bridge
  2. Cubic Root
  3. Summing a List
10/23
Tchaikovsky : The Nutcracker Suite - Russian Dancevideo

Week 7 10/27 Midterm Exam (1)
10/30 Mozart: The Magic Flute - Overturevideo
Midterm Exam (1)

Week 8 11/3
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


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

11/6 Bizet: Carmen - Overturevideo
Week 9 11/10
Chapter 8: Loop Structures and Booleans

Quiz 6
  1. cal
  2. argv
  3. Factorization
  4. Syracuse Sequence (Ex8-4)
  5. Cycle Length of Syracuse Sequence
  6. Nested Loop
  7. Truth Table

11/13 Ravel : Bolero (6'58")video

Week 10 11/17
Terminal Handling - curses (PPT)
Quiz 7
  1. Running Q
  2. HJKL


11/20 Rossini - La scala di seta (絹 絲樓梯)- Overturevideo

Week 11 11/24
Chapter 9: Simulation and Design


11/27 Rossini - William Tell - Overturevideo

Week 12 12/1
Chapter 10: Defining Classes


  1. Solid Sphere
  2. Playing Cards
  3. Moment on a Timetable


12/4
  1. Rational Numbers
  2. Train Arrival Time
  3. Sokoban (2)

Week 13 12/8
Midterm Exam (2)


12/11 Tchaikovsky : Eugene Onegin - Overture video
Midterm Exam (2)
Week 14 12/15
Chapter 11: Data Collections
Quiz 8
  1. Sokoban (3)
  2. Table Lookup
  3. Define a List of Points
  4. Fruit Amount
12/18 Johann Strauss II : Die Fledermaus (蝙蝠) - 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 15 12/22
Chapter 12: Object-Oriented Design
Inheritance
Operator Overloading
Quiz 9 Sokoban (4)
racquetball simulation
volleyball simulation

大前研一:2020年,世 界經濟大預測! video
印 度 —— 兩條走廊改變世界video
大前研一:台灣要打造成「生活者大國」 video
Why Programmers Working at Night?
Insecam Web site should terrify those who use a default webcam password
12/25
Offenbach : Orpheus in the Underworld - Overturevideo
  1. Show Name (1)
  2. Show Name (2)
  3. Sort Name (1)
  4. Sort Name(2)
Week 16 12/29
Chapter 13:  Algorithm Design and Recursion
Quiz 10
Sokoban (5)
Sokoban (6)
Selection Sort
Merge Sort
[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/1 Happy New Year
Beethoven : Fidelio - Overturevideo

Week 17 1/5
  1. Socket API
  2. Socket Programming HOWTO
  3. The urllib Package
Quiz 11

Three Key Monte
人生的最後一堂課,該 說什麼?video
Randy Pausch Last Lecture: Achieving Your Childhood Dreams (Chinese subtitle)
Thirty is not the new Twentyvideo
Steve Jobs在史丹佛大學畢業典禮演講 - 三個故事video
1/8 Dvorak : New World Symphony - 4th Movement (9'59")video
Week 18 1/12 Final Exam


1/8 Final Exam


Lab

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

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