Course Description

The objective of this course is to assist students to understand the logic behind
Informatics. The subject of Informatics is inspired from the observations on
natural phenomena and the corresponding logical thinking. Through lectures and
programming assignments in Python, students can obtain the ability of thinking
logically and basic programming skills. The subjects in this course are divided
into three themes:
R26;The scientific laws and rationality
R26;Brief history of Information Science
R26;Programming concepts


References:

1. James Gleick, The Information: A History, a Theory, a Flood, Vintage, 2012
2. 詹姆斯.葛雷易 (譯者: 賴盈滿), 資訊:一段歷史、一個理論、一股洪流, 衛城出版, 2012
3. Statistical Mechanics: Entropy, Order Parameters, and Complexity, James
Sethna, Oxford University Press (2006), PDF on-line available.
4. Wei Pan and Yi-Shin Chen, Network approach for decision making under risk—How
do we choose among probabilistic options with the same expected value?
https://doi.org/10.1371/journal.pone.0196060
5. Engines of Logic: Mathematicians and the Origin of the Computer, Martin Davis,
W. W. Norton & Company (2001).
6. Bill Bryson, A Short History of Nearly Everything, Random House, 2017
7. 比爾·布萊森, 萬物簡史, 天下文化
8. https://docs.python.org/3


Teaching Method:
Lectured based, Lab for python code writing, and final project demonstration


Syllabus

Scientific Laws
In this session, the concept and the discussion about scientific laws will be
given. Important concepts including: Observation, Scientific Methods, and
Paradoxes.

Semantic Analysis, Instruction Construction (Divide And Conquer)
How can we communicate? Through languages. How can our brain understand the
language signals we received? Do we communicate effectively? Can it be improved?
In this session, we will learn to use "divide and conquer" approach to make
communication more easily.

Python Introduction
In this session, the brief of Python instruction will be given. Students will
have hands-on experience of Python Installation and hello-world waves.

Causality and Fallacies
Causality and fallacies are two important considerations in the processes of
finding correlations.

Python Basics
In this session, we will learn the basic data types of Pythons. They are Strings,
Integers, Floats, Lists, Tuples, Sets, and key value pairs.

Rationality And Humanity In Decision Making
How does human make decisions? Is it rational or irrational? This session will
discuss the relationality and humanity in decision making.

Loops And Conditional Selections
In this session, the concepts of loops and conditional selection will be
introduced.

Structures And Standard Procedures
In this session, we will learn how to structure the programs. The advantages and
disadvantages will be discussed.

Online Judge Quiz
Brief History of Informatics
This session will introduce a brief history of informatics. We will discover how
our society forms/formed the modern

Information Entropy
This session will briefly introduce the concept of information theory,
particularly information entropy.

Encoding And Random Generators
This session will introduce the coding in Computers and the random generators.

Brief Introduction of Algorithm and DATA STRUCTURES
Computer Science can be viewed as the study of algorithms (and data structures).
In this session, we will briefly introduce several important algorithms and the
concept of data structures.

Online Judge Quiz
Midterm Exam
Project Demo Day

Evaluation
Participation 10%
Homework 20%
OJ Exam 20%
Midterm 30%
Final project 20%
Final Report 5%