C++ Programming vs. Computer Fundamentals & Programming (2)

210099a程式設計 210099b Programming
210146 基礎程式設計(二)
Time & Place
Tuesday 14:10-17:00, (H-103 [*28 4493]) Tuesday 18:10-21:00 (TC-208)
Friday 08:10-11:00, (H-103 [*28 4493])
TAs: cs101-ta-2014 季昭霆 (tonyjih)
楊國呈 (102321507)
方湘婷 (lucifer)
陳冠筑 (crystal)
吳梓麟 (lynn)
潘政穎 (102321515)
Students enrolled in this class

Programming Environment

Tips for PuTTY

  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 the "ee" editor, If you want to move a line to somewhere else:
    1. Press Ctrl-K to cut the line
    2. Use cursor key to move to where you want to insert the line
    3. Press Ctrl-L

Tips for Visual C++

  1. Tools - Options - Text Editor - C++
  2. Help source choices can be changed in the Options dialog box under /Help/Online.
  3. Comments a block of code: Ctrl+K Ctrl+C.
  4. Uncomments a block of code: Ctrl+K Ctrl+U.
  5. Reformat a block of code: Ctrl+K Ctrl+F
  6. Project Properties (Alt-F7) - C/C++ - Preprocessor - Preprocessor Definition


  1. On my personal computer, I got an error message "LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt".
    Solution: Install Microsoft Visual Studio 2010 Service Pack 1.
  2. DreamSpark FAQ

Code Writing

  1. Draw a flowchart or write a pseudo code to illustrate the basic idea
  2. Prepare a test case so that after your code is complete, you may verify its correctness.
  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



Hands-On Exercise
Extended Reading
More Exercises on Friday
Week 1 2/18
Chapter 2: Data, Variables, and Calculations

  1. Create Mail Filters
  2. Writing C Programs on a FreeBSD server.
  3. In which year were you born?
  4. Volume and surface area of a sphere
  5. [HW] Solving Linear Equations
  6. How to submit your homework?
New report details the prices within the cybercrime market
Who are the hackers?
How Hacking, `Phishing' Works video
Google Science Fair
What most schools don't teach video (Code.org video)
Try, Try Again

  1. 雞兔同籠
  2. BMI (body mass index)
  3. What day is January 1st?
Week 2 2/25
Chapter 3: Decisions and Loops
Quiz 1a, Quiz 1b
  1. Gliffy: Online Flowchart Software
  2. Fibonacci sequence
  3. Sum of integers
  4. Prime Number Test
  5. [HW] Prime Numbers <= N
  6. Prime Test
  7. Prime Numbers
  8. Print the calendar of January
  9. Easy flow chart creation with Dia
  10. How to Create a Flow Chart in Microsoft Word
  11. Free Online Drawing
[BBC] Academic Listening Part 1 - English for Academic Purposes: Introduction
20 highest radiation phones
Let's teach kids to code video
2/28 No class today
  1. Syracuse sequence
  2. Truth Table
  3. 9x9 Multiplication Table
  4. Factorization
  5. P → Q
  6. Leap year
  7. Print the calendar of this year

Week 3 3/4
Math Library (Reference, PPT)
Ncurse Library (Tutorial, PPT)
Quiz 2a, Quiz 2b
  1. Prime Numbers with sqrt()
  2. Plot cos(x) with characters
  3. [HW] Multiply Exercise * 10
  4. [HW] Move Around
Steamed: Valve Software Battles Video-game Cheaters
Bitcoin Solves a Huge Problem for the Global Economy
Week 4 3/11
Chapter 4: Arrays and Strings
Quiz 3a,Quiz 3b
  1. Dice Rolling
  2. Matrix Multiplication
  3. Caesar Cipher
  4. [HW] Running Q
  5. [HW] TETRIS (1) - Seven Shapes
UK teenager jailed for not disclosing password
The Real Threat to Economic Growth Is the Digital Divide
How to develop seamlessly in the cloud
Week 5 3/18
String Manipulation
Chapter 4: Pointers
Quiz 4a, Quiz 4b
  1. Sorting
  2. Prime Numbers with an Array (Ex4_09)

  1. 15 Windows Utilities You Can't Live Without
  2. Multitasking
  3. [BBC] Academic Listening Part 2 - Lectures: Introduction

Week 6 3/25
Midterm Exam (1a, 1b)

The next 5,000 days of the webvideo
How to Build a Website
How to Download and Watch Free Movies Online Legally

Week 7 4/1
Chapter 5: Introducing Structure into Your Programs

Five reasons why Windows 8 has failed
Why Windows 8 Has Been Slow to Capture Consumer Mindshare
Simon Sinek: How great leaders inspire actionvideo
Why Gmail Services Aren't Free
4/4 Happy Children's Day

Week 8 4/8
Chapter 6: More about Program Strucutre
Function Pointers and Callback Functions
Quiz 5a, Quiz 5b Sherry Turkle: Connected, but alone?video
RFC 1855 - Netiquette Guidelines

  • TETRIS (4)
  • Riffle Shuffle
  • qsort(3)
  • getpass(3)
  • rsa(3)
  • md5(3)
  • sha(3)

Week 9 4/15
Chapter 7: Defining Your Own Data Type
Chapter 4: Dynamic Memory Allocation, Demo
Quiz 6a, Quiz 6b
  1. Addition of Rational Numbers (1)
  2. Addition of Rational Numbers (2)
  3. Addition of Rational Numbers (3)
  4. HW: Linked List , Binary Tree
  5. HW: sort rational numbers (q/p)
John Underkoffler points to the future of UIvideo
TED blends animation with education at new website
Astrological Sign (2)
Week 10 4/22 Midterm Exam (2a, 2b)

MIT Creates Amazing UI From Levitating Orbs
ZeroN - Levitated Interaction Element video
4/25 Midterm Exam (2)
Week 11 4/29
Chapter 6: Exception Handling (P.303)
FreeBSD Socket Programming
Beej's Guide to Network Programming
Programming Windows TCP Sockets in C++ for the Beginner
Chapter 7: Classes and Constructors
Quiz 7a, Quiz 7b HW: Horse Racing (3)
How to measure Windows 7 memory usage
10 Tips to Become a Better Presentervideo
The Mobile Phone in Developing Nations
BASIC Turns 50, and I Still Miss It

Matrix (1)
Matrix (2)
Matrix (3)
Copy Constructor
Show Name (1)
Show Name (2)
Sort Name (1)
Sort Name(2)
Week 12 5/6
Chapter 8: Destructor, Operator Overloading
Chapter 1: Programming with Visual C++ 2010
Quiz 8a, Quiz 8b

Horse Racing (4)
Reduction of Rational Numbers

The Sound of Rainingvideo
世界上最辛苦的工作 - World's Toughest Jobvideo
Analyst's View: PDF - Pretty Dangerous Format?
The Story behind LINE App Development
Asian Mobile App LINE Opens its API
57 Chat APIs: Skype, MSN Messenger and Google Talk
Matrix (4)
Matrix (5)
Matrix (6)
Week 13 5/13
Chapter 9: Class Inheritance and Virtual Functions
File Processing using the fstream class
Quiz 9a, Quiz 9b Matrix (4)
Matrix (5)
Matrix (7)
Load a binary file (e.g. .WAV) into memory
The Sound of MusicPDF

Debugging with gdb
SSD vs HDD: What's the Difference?
MIT's Oxygen Project
Matrix (8)
Week 14 5/20
Native C++ Library Classes for Strings
String Manipulation using the CString class
Chapter 10: The Standard Template Library

Quiz 10a, Quiz 10b
Input File Stream
Computer Program Spots Fake Product Reviews
Dream Job: Nights at the Opera
  1. Vector (1)
  2. Vector (2)
  3. Subtitle
  4. Matrix
  5. Playing Cards
Week 15 5/27
Chapter 14: Windows Programming with the Microsoft Foundation Classes
Chapter 16: Drawing in a Window
Quiz 11a

  1. Lines and Rectangles
  2. Circles
  3. HW:Pentagon
  4. HW: Brush
  5. National Flags
Tech world preps to honor 'Father of Computer Science' Alan Turing, as centenary nears
第六感驚人的潛 力 Pranav Mistryvideo

  1. Star
  2. Square Wave
  3. Sine wave
  4. Circle intersection
Week 16 6/3 Midterm Exam (3a,3b)

Chapter 15: Working with Menus and Toolbars
Display BITMAP filesPowerPoint
  1. TextOut()
  2. CreateFont()
  3. Polar Coordinate

Week 17 6/10
Chapter 18: Working with Dialogs and Controls
  • Edit Box
  • List Box
  • Enable a Button; Using Radio Buttons
Tutorial to MFC Controls 

Computer Science for Fun
NTT DoCoMo Vision (1)
NTT DoCoMo Vision (2) [wmv]
NTT DOCOMO Mobile Futurevideo

Week 18 6/17 Final Exam (a, b)

6/20 Final Exam



  1. Google Code University
  2. Flowchart Drawing:
  3. Dia
  4. Dia for Windows
  5. An Introduction to Programming in Go
  6. Build Web Application with Golang


  1. What day is January 1?
    Ref: UVA 12019
  2. Calendar
  3. 190 - Circle Through Three Points
  4. Christmas Tree
  5. Prime Number
  6. Greatest Common Divisor
  7. Sorting
  8. Card Shuffling
  9. Dec2Float: 40 decimal = 0x42200000 IEEE Single Precision
  10. 蓊鬱錦簇科技二館 - 有蓊鬱的樹木圍繞著科技二館,使建築物融入大自然的美景中,更具生命力。
  11. 光鮮亮麗的山中城堡 - 雲群波濤洶湧、山脈層巒疊嶂及蓊鬱樹木圍繞,暨南大學校園無疑是美麗的歐式莊園。


  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