UIT2201: Computer Science and the Information Technology Revolution

(Fall 2003 Semester)


Note that the lecture notes are continuously being updated. So, do check for updates.
Last revised: 21-Oct-2003 (LeongHW)


Detailed Syllabus

1. Introduction, Motivation and Top level Demystification (4 lectures)

Goal: To illustrate pervasiveness of computers and how it has changed our lives in a significant way. Introduce the type of CS components (as black boxes) that go into some technologies.

Topics: Some examples such as Email, Walk through a house, electronic bank transaction, CD/MP3, module registration, Linc, expert system, sum of 1 to 100, etc would be considered to illustrate the pervasiveness of computers and to introduce the various CS components (as black boxes) that are needed to make the above work. Search Engines.

Compulsory Reading: [SG] - Ch 1;
Supplementary Reading: A - Ch 0; B - Ch 1-4; C - Ch 1

Lecture Notes: | Introduction (ppt) [updated] | Trends (pdf) |

Additional Notes: | The Capable Computer (txt) | History of PC (txt) |

Lectures (4 hrs): | L1 (Wk1, 12-Aug) + L2 (Wk2, 19-Aug) |


2. Algorithms (6 lectures)

Goal: To introduce the notion of algorithms as a means for telling a physical device, how to solve a problem in a step by step fashion. To introduce the idea of systems analysis, capturing data to represent state of objects in real life and events that change object states .

Topics: Notion of an algorithm. Some simple algorithms and basic idea about complexity of an algorithm.

Compulsory Reading: [SG] - Ch 2-3;
Supplementary Reading: A - Ch 4-5; C - Ch 4

Lecture Notes: | Algorithms (ppt) |
      More Note on Simple Algorithms --- | Alg-simple (ppt) | | More examples (html) |

Lectures (6 hrs): L3 (Wk 3, 26-Aug) + L4 (Wk 4, 2-Sep) + L5 (Wk 5, 9-Sep)


3 Guest Lecture by Prof Nievergelt: Kara (2 lectures)

See notes for details.

Lectures (2 hrs): L6 (Wk 6, 16-Sep)


4. Hardware (4 lectures)

Goal: Physical realization of a computer. To give some simple steps to illustrate how a physical computer may be constructed. To understand that the computers are essentially devices computing logical functions. To illustrate approach of building complex systems by incrementally realizing and putting together well defined simpler parts.

Topics: binary numbers, boolean logic, logic gates, transistors, combinatorial/sequential circuits, memory, CPU, ALU, Von Neumann Architecture, peripherals. The above topics will be explained using simple examples with the aim to give an idea to the students about how the physical computer can be built and their scientific basis. In general in this and all topics below the idea would be to give only a brief overview so as to "demystify" the technology and address the advantages and impact of the technology.

Compulsory Reading: [SG] - Ch 4-5;
Supplementary Reading: A - Ch 1-2;

Lecture Notes: | Hardware (ppt) |

Additional Notes: | Karnaugh Maps (txt) |

Lectures (4 hrs): | L7 (Wk 7, 23-Sep) + L8 (Wk 8, 30-Sep) |


5. Database (2 lectures)

Goal: To appreciate the idea of organizing, managing and using data. We examine issues related to databases and database applications.

Topics: Notion of data and tables. Combination of tables. Database terminologies and operations. Issues related to database organization and query processing.

Compulsory Reading: [SG] - Ch 11;
Supplementary Reading: A - Ch 9;

Lecture Notes: | Database (ppt) |

Lectures (1 hr): L9 (Wk 9, 07-Oct)


6. Networks/Internet/WWW (2 lectures)

Goal: To present and highlight the idea and advantages of linking together multiple machines that are physically separated to form ``communities'' of machines with unique identites. Advantages inclide extended capabilities in terms of resource sharing, communication, web etc.

Topics: network, communication links, internet, addressing, protocols, routing algorithms, WWW, network services, resource sharing, client-server, ftp, telnet, email, newsgroups, bbs, ecommerce, web-mail.

Compulsory Reading: [SG] - Ch 12;
Supplementary Reading: A - Ch 3;

Lecture Notes: | Network (pdf) | | Network(more) (ppt) | | LAN and WAN (ppt) |

Additional Notes: | The Sociable Machine (txt) | electronic publishing (txt) | Akamai (txt) | Gifts from the Web (txt) |

Actual Lectures (2 hrs): | L10 (Wk 10, 14-Oct) |


7. Artificial Intelligence (2 lectures)

Goal: To address the question (and broader issues) of whether computers are basically dumb machines following instructions (programs), or whether programs can exhibit ``autonomous'' behaviour, and hence ``intelligence''. The quest to qualify the notion of machine intelligence and ways of achieving or at least emulating it.

Topics: Philosophical issue. Can machines think? or do they just follow programs? Can we think or are we just following DNA? Historical Perspective on how machine trying to do human like activities were built. Perception, recognition, reasoning, knowledge representation, learning, expert system, game playing.

Compulsory Reading: [SG] - Ch 13;
Supplementary Reading: A - Ch 10;

Lecture Notes: | Artificial Intelligence (pdf) |

Additional Notes: | Deep Blue Beats Gary Kasparov (txt) | robots (txt) |

Planned Lectures (2 hrs): | L11 (Wk 11, 21-Oct) |


8. Theory (2 lectures)

Goal: To provide a mathematical model to reason about the capabilities of computers, what computers can or cannot do, and how efficiently they can do? To highlight and appreciate the intellectual beauty that one can reason about the capabilities of computers and arrive at powerful conclusions without experimentation.

Topics: Turing Machine, Automata, Unsolvability Efficiency/Complexity of solving problems.

Compulsory Reading: [SG] - Ch 10;
Supplementary Reading: A - Ch 11;

Lecture Notes: | Theory (ppt) |

Additional Notes: | theory (txt) |

Planned Lectures (2 hrs): | L12 (Wk 12, 28-Oct) |


9. Past and Future Trends (1 lecture)

Goal: To understand on how various scientific advances have influenced the cost, performance, size and availbility of computers, and the extent to which the current trend might continue. To understand how computers have been and might be employed as a result of its increasing pervasiveness. To examine some predictions, and to evaluate their technical soundness and/or feasibility based on current knowledge.

Topics: Quantum devices --- transistors and lasers, as the foundation of silicon-based computers. Physical, and hence technical limits of such devices. Principles behind Biocomputing and Quantum computing as fundamentally different computing paradigms, and their feasibility. Predictions on future computer usage, capabilties, and their technical bases.

Lecture Notes: | Future (pdf) |

Additional Notes: | CS History (txt) | Quantum computing (txt)

Planned Lectures (1 hr): | L13 (Wk 13, 4-Nov) |


10. Computers and Society (1 lecture)

Goal: To emphasize the wide impact of computers on society and how it has changed our lives in a significant way. To be aware that potential social/legal/ethical issues exist and may arise due to information technology.

Topics: Examples to illustrate how computers have impacted on society and changed our lives in a significant way. Range of issues that can exist as a result of technology, which may or may not have right solution. Example issues.

Readings: B - Ch 11; C - Ch 11.

Lecture Notes: | Social (ppt) |

Additional Notes: | Information Economy (txt) | research & trendiness (txt) | More Info Economy (txt) |

Planned Lectures (1 hr): | L13 (Wk 13, 04-Nov) |


13. Revision (Optional)

Q & A Session: Study Week, Tues, 11-Nov 2-4pm, SR6.

Past Year Exam: | Exam (Sp 2003) (pdf) | | Exam (Sp 2002) (pdf) |

End of Course: Final Exam: Mon, 17-Nov-2003, AM (Open Book), USP Level 7 (SR3 & Conf Rm)


[TOP] Install Acrobat on your system to read PDF files.


Other Topics (Not covered this semester):

These topics were not covered during Fall 2003. However, the course materials and web-links are provided and you can read them if you are interested.


4. Virtual Machine (1 lecture)

Goal: To appreciate the idea of creating and presenting more versatile interfaces for computing machines, and to understand how these vastly different interfaces can be implemented merely through appropriate software programmes (OS/System Software/High-level Languages). Motivation includes human user friendliness and physical resource sharing in a mode transparent to its multiple users.

Topics: Notion of language translators as programmes, to present an apparently new and more human-friendly machine that understands higher-level commands. Notion of using programmes on a single physical machine to emulate multiple machines existing simultaneously and independently.

Compulsory Reading: [SG] - Ch 6;
Supplementary Reading: A - Ch 3;

Lecture Notes: | Virtual Machines (pdf) |

Additional Notes: | single machine/multiple machines (txt) |

Planned Lectures (1 hr):


6. Modeling, Simulation and Software Applications (omitted)

Goal: To present the idea of using computers as a platform for representing and simulating physical entities or abstract concepts in virtual environments. To appreciate the convenience and power that simulation and other software applications can bring about.

Topics: Simulation and applications as computer programmes. Principles behind modeling and simulation using computers.

Compulsory Reading: Notes (see below);
Supplementary Reading: A - Ch 7;

Lecture Notes: | Simulation (pdf) |

Additional Notes: | simulation (txt) | | security (html) |

Planned Lectures (1 hr):


7. Abstraction, Specification and Problem Decomposition (omitted)

Goal: To appreciate difficulties involved with developing and understanding large scale complex systems. To present principled methods and modes of thought that computer scientists and engineers have adopted for making large problems more tractable.

Topics: Notions of abstraction, decomposition, interfaces, reuse. Abstraction, specification and decomposition as powerful modes of thought and problem solving approaches for dealing with large complex systems. Examples of the above in developing and understanding algorithms. Code libraries as collections of well specified abstract routines to support re-use.

Compulsory Reading: Notes (see below)
Supplementary Reading: A - Ch 6;

Lecture Notes: | Abstraction (pdf) |

Additional Notes: | abstraction (txt) | | project management (txt) |

Planned Lectures (1 hr):


10. Cryptography, Security and E-commerce (1 lecture)

Goal: The notion and need for communication security and how to achieve it. Powerful theoretical ways to reason about and quantify degree of security, without need for actual experimentation and simulations.

Topics: What does security mean. Some basic cryptography algorithms. Interactive Proofs, Zero-Knowledge proofs, Applications in Ecommerce.

Compulsory Reading: Notes
Supplementary Reading: A - Ch 11;

Lecture Notes: | Cryptography (2002) (ppt) |

Additional Notes: | information theory (txt) |

Planned Lectures (1 hr):