トップページへ

2021 Faculty Courses School of Engineering Undergraduate major in Information and Communications Engineering

Advanced Computer Programming (ICT)

Academic unit or major
Undergraduate major in Information and Communications Engineering
Instructor(s)
Wakaha Ogata / Ryutaroh Matsumoto / Van Thiem Chu
Class Format
Lecture/Experiment
Media-enhanced courses
-
Day of week/Period
(Classrooms)
5-6 Tue (H113) / 5-8 Fri (H113)
Class
-
Course Code
ICT.P208
Number of credits
101
Course offered
2021
Offered quarter
2Q
Syllabus updated
Jul 10, 2025
Language
Japanese

Syllabus

Course overview and goals

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
programs.
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.

Course description and aims

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.

Keywords

Pointers, Complex Data Types, Data Structure, Program Structure Design, File Operation

Competencies

  • Specialist skills
  • Intercultural skills
  • Communication skills
  • Critical thinking skills
  • Practical and/or problem-solving skills

Class flow

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/Objectives

Course schedule Objectives
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.

Study advice (preparation and review)

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.

Textbook(s)

None Required

Reference books, course materials, etc.

B. W. Kernighan and D. M. Ritchie, "The C Programming Language, 2nd Edition," Prentice-Hall Inc.

Evaluation methods and criteria

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.

Related courses

  • ICT.P204 : Basic Computer Programming (ICT)

Prerequisites

No prerequisites are necessary, but students are recommended to attend
the "ICT.P204 : Basic Computer Programming (ICT)" cource.