This course focuses on advanced topics in programming such as pointers, complex data types, file operations and etc., after the fundamental knowledge on programming are acquired by the lecture course "Basic Computer Programming (ICT)". Also, this course provides fundamental ways of algorithmic thinking such as computational complexity analysis for evaluation of
The aim of this course is to acquire practical programming skills in order to conduct software work such as simulation, data analysis, and etc. in their thesis project in the future.
By the end of this course, students will be able to
- Understand topics for practical programming (including pointers, complex data types,
data structure, program structure design with appropriate function call, and file operations)
- Understand fundamental ways of algorithmic thinking
- Implement a small system in C language according efficiency.
Pointers, Complex Data Types, Data Structure, Program Structure Design, File Operation
|✔ Specialist skills||Intercultural skills||Communication skills||Critical thinking skills||✔ Practical and/or problem-solving skills|
Basically, students study one theme in each week (two lessons, 100 min + 200 min).
Each lesson consists of lecture and following exercise.
Students are asked to complete assignments such as programming in C for the topics learnt in the lecture.
|Course schedule||Required learning|
|Class 1||Review of "Basic Computer Programming (ICT)"||Review the knowledge acquired in "Basic Computer Programming (ICT)" through assignments.|
|Class 2||Agorithmic thinking||Understand fundamental ways of algorithmic thinking.|
|Class 3||Basics of pointers||Understand the concept and usage of pointers by assignments.|
|Class 4||Pointers and dynamic memory allocations||Understand the concept of dynamic memory allocations.|
|Class 5||Structures (composite data type) 1 : Basics||Understand the concept and usage of structures or composite data types by assignments.|
|Class 6||Structures (composite data type) : Advanced||Understand the concept and usage of structures or composite data types by assignments.|
|Class 7||Data Structrures 1 : Basics and linked list||Understand data structure and its application in programs by assignments.|
|Class 8||Data Structrures 2 : hash tables||Understand data structure and its application in programs by assignments.|
|Class 9||File operation 1 : Binary files||Understand usage of binary file operation for data input and output by assignments.|
|Class 10||File operation 2 : File format||Understand usage of binary file operation for data input and output by assignments.|
|Class 11||Function and recursive call||Understand usage of function and recursive function call by assignments.|
|Class 12||Explanation of the final assignment||Through the final assignment, understand the topics learned in this lecture more deeply.|
|Class 13||Explanation of the final assignment||Through the final assignment, understand the topics learned in this lecture more deeply.|
|Class 14||Presentation of final assignment and summarization||Through the final assignment, understand the topics learned in this lecture more deeply.|
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.
B. W. Kernighan and D. M. Ritchie, "The C Programming Language, 2nd Edition," Prentice-Hall Inc.
1) Students will be assessed on their understanding of topics on programming at each class.
2) Students’ course scores are based on submitted reports for programming assignments at each class.
3) Students are required to attend all classes in principle.
4) The instructor may fail a student if he/she repeatedly does not come to class / comes to class late too often
or resubmits assignment reports late / resubmits assignment reports too often.
No prerequisites are necessary, but students are recommended to attend
the "ICT.P204 ： Basic Computer Programming (ICT)" cource.