2020 Advanced Computer Programming (ICT)

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Information and Communications Engineering
Instructor(s)
Ogata Wakaha  Matsumoto Ryutaroh  Kanbara Hiroyuki  Chu Van Thiem 
Course component(s)
Lecture /
Mode of instruction
ZOOM
Day/Period(Room No.)
Tue5-6(情報工学系計算機室)  Fri5-8(情報工学系計算機室)  
Group
-
Course number
ICT.P208
Credits
2
Academic year
2020
Offered quarter
2Q
Syllabus updated
2020/9/18
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

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.

Student learning outcomes

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 that will be developed

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/Required learning

  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.

Out-of-Class Study Time (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.

Assessment criteria and methods

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 (i.e., required knowledge, skills, courses, etc.)

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

Page Top