Students will learn the basics of computer science, specifically the following topics.
・Theoretical studies on computation (computability theory and computational complexity theory).
・More practical programming (using Python libraries).
・Basics of data science.
・Basics of machine learning.
・To understand basics of computability theory and computational complexity theory.
・To be able to write Python programs using basic libraries.
・To understand basics of data science and AI.
Computability, Turing machine, computational complexity, P versus NP problem, Python, NumPy, data analysis, machine learning.
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
During the class, programming exercises will be conducted along with lectures. Homework and report assignments to confirm understanding will be given in the class. There are also some quizzes in the class.
Course schedule | Required learning | |
---|---|---|
Class 1 | What is a computation? (1) | Basics of computability theory: halting problem, Turing machine, universal machine, Church-Turing thesis. |
Class 2 | What is a computation? (2) | Basics of computational complexity theory: Eulerian path problem, Hamiltonian path problem, traveling salesman problem, P vs NP. |
Class 3 | More practical Python programming. | Classes and libraries such as NumPy. |
Class 4 | Foundations of Data Analysis | Learning about summarizing, analyzing, and visualizing data using open data. |
Class 5 | Basics of Machine Learning | The role and impact of machine learning in problem-solving, with examples of simple unsupervised and supervised learning. |
Class 6 | Topics on computer science, data science and AI. | Problem setting and programming exercise. |
Class 7 | Topics on computer science, data science and AI. | Theoretical analysis. |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
To be announced in the first class.
To be announced in the first class.
Grades will be based on homework, report assignments and quizzes given in class.
Completion of Computer Science I (LAS.I121) is desirable.
Freshmen must take classes as assigned. Exceptions for class changes may be granted, but changing to Wednesday classes is not allowed. Since Wednesday classes have many freshmen, enrollment for non-freshmen students is not permitted. Non-freshmen students should take a "a" class on Monday or Thursday.