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 efficiently.
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, 150 min each).
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||Structures (composite data type) 1 : Basics||Understand the concept and usage of structures of composite data types by assignments.|
|Class 4||Structures (composite data type) : Advanced||Understand the concept and usage of structures of composite data types by assignments.|
|Class 5||Basics of pointers||Understand the concept and usage of pointers by assignments.|
|Class 6||Pointers and dynamic memory allocations||Understand the concept of dynamic memory allocations.|
|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||Portability||Understanding portability by assignments.|
|Class 11||Separate compilation||Understand separate compilation by assignments.|
|Class 12||File operation 2 : File format||Understand usage of binary file operation for data input and output by assignments.|
|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.
髙田美樹, "改訂3版 基本情報技術者 らくらく突破 C言語", 技術評論社, https://gihyo.jp/book/2019/978-4-297-10529-7
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.
Students are assumed to understand "ICT.P204 ： Basic Computer Programming (ICT)" course.
In 2022, we plan lectures in the programming room.