Course Code: B61001Y
Course Name: Introduction to Computer Science
Credits: 2.0
Level: Undergraduate
Course Description:
This course is the basic and required class for undergraduates from all majors. By learning this course, students will have a preliminary understanding of the scientific connotation of computer science. Topics include: what issues computer science is concerned about; how to analyze problems with computer science, and what are the critical ideas and methods to solve problems. This course helps develop computational thinking including logical thinking, algorithm thinking, network thinking, system thinking and ternary computing.
Topics and Schedule:
1 Computing and computer history, about 1.5 hours
2 Logical thinking in computer science, about 2.5 hours
—Hilbert problem, Mathematical logic, Turing machine, Computability
3 Algorithm thinking in computer science, about 4 hours
—Algorithms, Computational complexity, P vs. NP, Stochasticity, Quantum computing
4 Network thinking in computer science, about 3 hours
—Web 2.0, Search engines, Cloud computing, Crowdsourcing computing
5 Systems thinking in computer science, about 3 hours
—CPU, Memory, Cache, Multi-core, Parallel
6 Ternary computing, about 2 hours
Assignments and Experiments:
1 Lego Turing test, about 4 hours
—Lego experimental environment, Adder design, Adder implementation
2 Algorithm experiment, about 4 hours
—Python experimental environment, Strategy design, Implementation, Analysis on the experimental results
3 Network experiment, about 4 hours
4 System experiment, about 4 hours
Teaching Methods:
Class teaching
16 hours in total, 1.5 hours/session
Group discussions
16 hours in total, 1.5 hours/session
Grading:
The four experiments, classroom discipline, attendance and discussions in class account for 60%, and the final exam accounts for 40% in the closed-book form.
Textbooks:
Course notes