This course consists of "Lecture and Exercise on Programming" and "Lecture on Computer Science".
Lecture/Exercise on Programming fosters skills to analyze problems and design programs based on program design recipes.
Lecture on Computer Science gives an overview of computer science, including logic circuit, machine code, low-level and high-level programming languages, and theory of computability and complexity. Ethical issues in science are also discussed.
This course is the starting point of all the studies in the Department of Mathematical and Computing Science.
At the end of this course, students will acquire basic knowledge and skills in programming and computer science.
programming, computer science, ethics of science.
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
Lecture and programming excercise.
Course schedule | Required learning | |
---|---|---|
Class 1 | (Lecture on Programming 1) Function Definition and Design Recipe | Instructed in the class. |
Class 2 | (Exercise on Programming 1) Function Definition and Design Recipe | Instructed in the class. |
Class 3 | (Lecture on Computer Science 1) logic circuit, boolean algebra | Instructed in the class. |
Class 4 | (Lecture on Programming 2) Conditionals and Pattern Matching | Instructed in the class. |
Class 5 | (Exercise on Programming 2) Conditionals and Pattern Matching | Instructed in the class. |
Class 6 | (Lecture on Computer Science 2) machine code | Instructed in the class. |
Class 7 | (Lecture on Programming 3) Lists and Recursion | Instructed in the class. |
Class 8 | (Exercise on Programming 3) Lists and Recursion | Instructed in the class. |
Class 9 | (Lecture on Computer Science 3) floating point number, precision in computation | Instructed in the class. |
Class 10 | (Lecture on Programming 4) Complex Data Structures | Instructed in the class. |
Class 11 | (Exercise on Programming 4) Complex Data Structures | Instructed in the class. |
Class 12 | (Lecture on Computer Science 4) programming paradigm, program verification | Instructed in the class. |
Class 13 | (Lecture on Programming 5) Higher-Order and Polymorphic Functions | Instructed in the class. |
Class 14 | (Exercise on Programming 5) Higher-Order and Polymorphic Functions | Instructed in the class. |
Class 15 | (Lecture on Computer Science 5) computability | Instructed in the class. |
Class 16 | (Lecture on Programming 6) Generative Recursion and Accumulators | Instructed in the class. |
Class 17 | (Exercise on Programming 6) Generative Recursion and Accumulators | Instructed in the class. |
Class 18 | (Lecture on Computer Science 6) computational complexity | Instructed in the class. |
Class 19 | (Lecture on Programming 7) Continuation Passing Style | Instructed in the class. |
Class 20 | (Exercise on Programming 7) Continuation Passing Style | Instructed in the class. |
Class 21 | (Lecture on Computer Science 7) ethics of science | Instructed in the class. |
To enhance effective learning, students are encouraged to spend a certain length of time outside of class on preparation and review (including for assignments), as specified by the Tokyo Institute of Technology Rules on Undergraduate Learning (東京工業大学学修規程) and the Tokyo Institute of Technology Rules on Graduate Learning (東京工業大学大学院学修規程), for each class.
They should do so by referring to textbooks and other course material.
Instructed in the class.
How to Design Programs (https://htdp.org/)
Students' scores are determined by the achievements in Exercise on Programming and Lecture on Computer Science.
Their weights are 67% and 33%, respectively.
Only the students in Department of Mathematical and Computing Science can take this course.
Students must have successfully completed Information Literacy I and II (LAS.I111, LAS.I112) or have equivalent knowledge.