This is a typical plan of the course. Specific details might vary from year to year, and will be communicated during the semester. Materials will be shared as the course progresses. The students are given a chance to direct the exploration through topics by a questions/feedback session at the end of each class.
0. Introduction to information: why information science, bird’s-eye view of the course, group projects, introduction to information basics
1. Computer software 101: Software (Rich text editor), scripts (Shell), programming (Python), math (R), plots (Gnuplot), editing (Latex)
2. Representations of information: Relations, sets, graphs, data structures, language, symbols and meaning
3. Algorithms: Finite state automata, Turing machines, algorithms, programming strategies, computational complexity
4. Human-machine interfaces: User interfaces, encodings, keyboards, screens, virtual and augmented reality, robotics
5. What is information: Information, coding theory, Shannon entropy, mutual information, cryptography
6. How to make a robot: Electronics, memory storage, processors, embodiment, unconventional computing, robot society
7. Artificial intelligence: Machine learning, Turing test, human-level AI, evolutionary computation, neural networks
8. Information technology and society: Technology impact on society, intellectual property, privacy and security, scientific method, epidemic models, e-democracy, AI and information ethics
9. Artificial life: Synthetic biology, artificial consciousness, cellular automata, artificial chemistry, physics of intelligence, futurism
10. Wrap-up: synthesis, Q&A, information in one’s life, education, and career