Introduction to Computer Science

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