Course title
L00180002
Data Structures and Algorithms 2

SUGIMOTO Tooru

WATABE Shohei
Middle-level Diploma Policy (mDP)
Program / Major mDP Goals Courses
Fundamental Mechanical Engineering F 産業界や社会の要請を把握して解決するべき課題を設定し、さまざまな工学分野の知識を関連付けながら設計生産技術を活用することで、立案した構想に従って研究を進め課題を解決することができる。 Sub
Advanced Mechanical Engineering F 産業界や社会の要請を把握して解決するべき課題を設定し、機械工学の学理を応用して異分野を含む融合分野で革新的な機能を創成することができる。 Sub
Environment and Materials Engineering B 地球環境や地域社会との調和を見据えて、さまざまな工学分野に関わる問題を解決することができる。 Sub
Chemistry and Biotechnology B 地球環境や地域社会との調和を見据えて、さまざまな工学分野に関わる問題を解決することができる。 Sub
Electrical Engineering and Robotics D 電気工学や関連する工学の技術分野を課題に適用し、社会の要求を解決するために応用することができる。 Sub
Advanced Electronic Engineering E 専門的デザイン課題について解決する能力を身に付けることができる。 Sub
Computer Science and Engineering B-2 コンピュータサイエンスの各分野の基礎知識とその応用能力を身に付けることができる。 Main
Urban Infrastructure and Environment G ⼟⽊⼯学における現実の問題について、⼯学・専⾨基礎知識を⽤いて理解・解決することができる。 Sub
Purpose of class
To learn Java and object-oriented programming, as well as data structures and algorithms.
Course description
The main purpose of this course is to learn basic techniques for designing and analyzing computer algorithms by studying many kinds of data structures and algorithms to process the data. We use Java as an implementation language for the algorithm. Java is an object-oriented programming language and widely used in society, from embedded systems to servers. Furthermore, training abilities to apply the basic techniques to practical problems is an advanced goal of this course.
Goals and objectives
  1. To understand and explain the fundamental concepts of object-oriented programming with a focus on Java.
  2. To understand and practice efficient object-oriented programming techniques with a focus on Java.
  3. To understand basic graph algorithms and be able to solve simple example problems.
  4. To understand string matching algorithms and typical solution methods using various algorithm design techniques, and be able to solve simple example problems.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Short test Interim exam Final exam Total.
1. 10% 15% 25%
2. 10% 15% 25%
3. 10% 15% 25%
4. 10% 15% 25%
Total. 40% 30% 30% -
Evaluation method and criteria
Short test (40%), Interim exam (30%), Final exam (30%). Over 60% is acceptable.
A level achieving a total score of 60 points or higher requires the ability to understand and explain basic terminology and techniques, as well as solve simple calculation problems.
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Java programming (1)
- What is ”object oriented programming”?
- Commons and differences between Java and C.
Read the syllabus and the lecture materials. 80minutes
Review the lecture. 80minutes
2. Java programming (2)
- Structures of classes
- The relationship between objects and classes
- Constructors
- Strings
Read the lecture materials. 80minutes
Review the lecture. 80minutes
3. Java programming (3)
- Inheritance
- Interface
- Polymorphism
- Scope and modifier
Read the lecture materials. 80minutes
Review the lecture. 80minutes
4. Java programming (4)
- Packages
- Class libraries
- I/O stream
- Exception handling
Read the lecture materials. 80minutes
Review the lecture. 80minutes
5. Java programming (5)
- Collections
- List, Map
Read the lecture materials. 80minutes
Review the lecture. 80minutes
6. Java programming (6)
・Generation of threads
・Synchronization
・Mutual exclusion
Read the lecture materials. 80minutes
Review the lecture. 80minutes
7. Interim exam, Q&A Review the contents of all the lectures. 270minutes
Review the interim exam. 80minutes
8. Gragh algorithms (I) : Representation of a graph, search algorithms Read the lecture materials. 80minutes
Review the lecture. 80minutes
9. Gragh algorithms (II) : Shortest path problem (Dijkstra’s algorithm) Read the lecture materials. 80minutes
Review the lecture. 80minutes
10. Gragh algorithms (III) : Network flow, Maximum flow algorithm Read the lecture materials. 80minutes
Review the lecture. 80minutes
11. String search algorithm, String matching Read the lecture materials. 80minutes
Review the lecture. 80minutes
12. Algorithm design (I) : Recursive algorithms, Divide and conquer Read the lecture materials. 80minutes
Review the lecture. 80minutes
13. Algorithm design (II) : Dynamic programming, Knapsack problem, Greedy method Read the lecture materials. 80minutes
Review the lecture. 80minutes
14. Final exam, Q&A Review the contents of all the lectures from 8. to 13. so as to solve basic examples by using algorithms presented. 300minutes
Review the final exam. 80minutes
Total. - - 2650minutes
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in the class
Textbooks and reference materials
Y. Yamada, ”Self-Study Java”, Shoeisha
T. Asano, K. Wada and T. Masuzawa, “Algorithm Theory,” IT Text, Ohmsha
K. Otsuki,”Developing Problem-Solving Skills, Algorithms and Data Structures”, Kodansha
Prerequisites
Prerequisites : “Data Structure and Algorithms 1”(L0692900)
Office hours and How to contact professors for questions
  • Lunch break on Mondays at Room no. 4301.
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
  • Course that cultivates a basic problem-solving skills
Active-learning course
N/A
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
N/A N/A
Education related SDGs:the Sustainable Development Goals
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
  • 12.RESPONSIBLE CONSUMPTION & PRODUCTION
Last modified : Sat Mar 14 14:18:51 JST 2026