COURSE INFORMATION K5 & K6, Computer Science Department, Văn Lang University Second semester -- Feb, 2002 Instructor: Trần Đức Quang 0.1 OBJECTIVES AND PREREQUISITES This course is inten
Trang 1INTRODUCTION TO COMPUTER SCIENCE
HANDOUT #0 COURSE INFORMATION
K5 & K6, Computer Science Department, Văn Lang University
Second semester Feb, 2002
Instructor: Trần Đức Quang
0.1 OBJECTIVES AND PREREQUISITES
This course is intended to provide a broad introduction (in English) to the theoretical and mathematical foundations of computer science It will cover the principal themes
of Discrete Maths, Data Structures and Algorithms courses you might have studied in some previous semester
Our goal is not to re-teach those themes; rather we use them to make a good English environment in which you could study computer science in English as in your mother language
I know that many of you are not good in English, so for the first four weeks, I will speak both English and Vietnamese alternatively After this time, we must work in English during the lectures
You can still make questions in Vietnamese after class, of course
A working knowledge of C is the only prerequisite for this course but it is not required Do not be afraid of making questions in English (in class) or in Vietnamese (out of class) These are opportunities to get an English-working skill and a better knowledge in computer science
0.2 TEXTBOOK AND HANDOUTS
There is one required text for this course:
Foundations of Computer Science (C Edition) by Alfred V Aho and Jeffrey D.
Ullman, W.H Freeman, 1995
You may also need my translation of this text:
Cơ sở của Khoa học Máy tính (Tập 1, 2, 3), for reference.
From time to time, I will distribute handouts to get you through the text
Trang 22 INTRODUCTION TO COMPUTER SCIENCE: HANDOUT #0 COURSE INFORMATION
0.3 REFERENCES
Here is a list of books you should read, of course, in English for this course and others
in the term
1 Aho, Hopcroft, and Ullman [1983] Data Structures and Algorithms,
Addison-Wesley, Reading, Mass
2 Cormen, Leiserson, and Rivest [1990] Introduction to Algorithms, MIT Press.
3 Harbison, S P Steele G L [1995] C: A Reference Mannual, Fourth Edition,
Prentice-Hall, Englewood Cliffs, NJ
4 Knuth, D E [1997, 1998] The Art of Computer Programming, Volumes 1, 2, 3,
Addison-Wesley, Reading, Mass
5 Microsoft Studio 6.0 Books Online [1998] C Reference.
6 Rosen K H [1999] Discrete Mathematics and Its Applications, Fourth Edition,
McGraw-Hill, Boston
0.4 COURSE SYLLABUS
1 REVIEWS
• C Essentials: Data Objects & Statements
• Arrays & Linked Lists
Reading: Sections 1.4 and 6.4.
2 SET THEORY
• The Set Data Model
• Set Algebra
Reading: Sections 7.2 and 7.3.
3 THE RELATIONAL DATA MODEL
• Binary Relations
• Relations
• Relational Algebra
Reading: Sections 7.7, 7.10, 8.2, and 8.7.
4 LISTS
• Basic Concepts
• Stacks
• Queues
Reading: Sections 6.2, 6.6, and 6.8.
Trang 30.5 GLOSSARY 3
5 TREES
• Basic Terminology
• Implementation of Trees
• Binary Trees and Binary Search Trees
Reading: Sections 5.2, 5.3, 5.6, and 5.7.
6 GRAPHS
• Basic Concepts
• Implementations of Graphs
• Connected Components of Undirected Graphs
Reading: Sections 9.2, 9.3, and 9.4.
7 AUTOMATA
• Patterns and Pattern Matching
• Finite State Machines and Automata
• Deterministic and Nondeterministic Automata
Reading: Sections 10.2 and 10.3.
8 REGULAR EXPRESSIONS
• Introduction
• Algebraic Laws for Regular Expressions
Reading: Sections 10.5 and 10.7.
9 GRAMMARS
• Context-Free Grammars
• Languages from Grammars
Reading: Sections 11.2 and 11.3.
10 PARSING
• Parse Trees
• Constructing a Parse Tree
Reading: Section 11.4.
0.5 GLOSSARY
Computer Science: Tin học, Khoa học Máy tính A field of knowledge studying all
aspects of the design and use of computers
Information Technology: Công nghệ Thông tin An applied science, the study of the
Trang 44 INTRODUCTION TO COMPUTER SCIENCE: HANDOUT #0 COURSE INFORMATION
practical or industrial arts, in particular the merging of computing and high-speed communications links carrying data, sound, and video
Textbook: Sách giáo khoa A book giving instructions in the principles of a subject of
study and used officially for a course
Reference: Tài liệu tham khảo A book or paper for more information.
Handout Dẫn đề A leaflet consisting of brief instructions.
Applications, application program: Chương trình ứng dụng, ứng dụng.
System program: Chương trình hệ thống.
Relational Algebra: Đại số quan hệ.
Fundamental courses in computer science:
Set Theory: Lý thuyết Tập hợp.
Discrete Mathematics: Toán rời rạc.
Probability and Statistics: Xác suất Thống kê.
Graph Theory: Lý thuyết đồ thị.
Computer Architecture: Kiến trúc máy tính.
The Programming Language C: Ngôn ngữ lập trình C.
Object-Oriented Programming: Lập trình hướng đối tượng.
Data Structures and Algorithms: Cấu trúc dữ liệu và Thuật toán.
Programming Languages: Ngôn ngữ lập trình.
Automata and Formal Languages: Ngôn ngữ hình thức.
Compilers: Trình biên dịch, Chương trình dịch.
Operating Systems: Hệ điều hành.
Computer Networks: Mạng Máy tính.
Distributed Systems: Hệ phân tán (phân bố).
Databases: Cơ sở dữ liệu.
System Analysis and Design: Phân tích và Thiết kế hệ thống.
Software Engineering: Kỹ nghệ phần mềm (Công nghệ phần mềm).
Artificial Intelligence: Trí tuệ nhân tạo.