Course title
L00090002
Data Structures and Algorithms 1

IJIRI Takashi

SHINKUMA Ryouichi
Course description
A data structure is a representation of data in memory, and an algorithm is a specific procedure (method) to solve a problem. Data structures and algorithms are among the most critical fields in computer science and are essential for writing efficient programs.

This class will explain various basic data structures and algorithms that form the foundation of programming. Furthermore, through learning various basic data structures and algorithms, we aim to acquire standard techniques for designing and analyzing algorithms. In this lecture, we will use C language for demonstrations and exercises.
Purpose of class
To learn about basic data structure and algorithm knowledge, such as computational complexity and order notation.
To learn about basic data structures such as arrays, linked lists, stacks, queues, hash tables, trees, binary trees, and balanced binary trees.
To learn about basic algorithms for building the aforementioned data structures, binary search, sorting, and so on.
To develop foundational techniques for designing algorithms to solve real-world problems
Goals and objectives
  1. Be able to explain the standard techniques for designing and analyzing algorithms through various data structures and algorithms.
  2. Be able to understand basic algorithms and use them to solve fundamental exercises.
  3. Be able to create algorithms to solve various problems.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

examination 1 examination 2 mini tests Total.
1. 10% 10% 25% 45%
2. 10% 10% 15% 35%
3. 5% 5% 10% 20%
Total. 25% 25% 50% -
Evaluation method and criteria
(1) 2 examinations (2) mini tests

mini test (after each class) 10x12 times (50%)
examination 1      40(25%)
examination 2    40(25%)

Understanding each lecture and being able to answer the exercise questions will be considered 80%.
Answering only the fundamental questions of each examination will be considered 60%.
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. ●Introduction
+ What is the algorithm
+ Efficiency of an algorithm
+ How to write an algorithm
Preparation for the lecture content. 200minutes
2. ●search problem 1
+ search problem
+ Efficiency of sequential search
+ search algorithm using the order
+ computational complexity
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
3. ●search problem 2
+ m-block method
+ binary search
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
4. ●search problem 3
+ hash method

●basic data structure 1
+ array
+ linked list
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
5. ●basic data structure2
+ data structure for binary search
+ stack
+ queue
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
6. ●basic data structure3
+ heap
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
7. ●examination
●Summary of the important points in the first half
Preparation for the examination 200minutes
8. ●Dynamic search problem 1
+ binary search tree
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
9. ●Dynamic search problem 2
+ AVL tree
+ dynamic hash
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
10. ●sort 1
+ Bubble sort
+ selection sort
+ insertion sort
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
11. ●sort 2
+ shell sort
+ heap sort
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
12. ●sort 3
+ quick sort
+ merge sort
+ computational complexity of the sort algorithms
Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
13. ●Review of the class Preparation for the lecture content. 100minutes
Review of the lecture content. 100minutes
14. ●Examination
●Summary of the important points in the last half
Preparation for the examination 200minutes
Total. - - 2800minutes
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in outside of the class (ScombZ, mail, etc.)
Textbooks and reference materials
Textbook: IT Text アルゴリズム論 浅野哲夫・和田幸一・増澤利光共著,情報処理学会編集(オーム社)
Reference material: 問題解決力を鍛える!アルゴリズムとデータ構造 大槻 兼資 (講談社)
Prerequisites
It is desirable to have taken and understood "Introduction to Programming 1 and 2" regarding the C language basics.
Also, it is preferable to have studied mathematical programming and discrete mathematics.
Office hours and How to contact professors for questions
  • Shinkuma: email and slack DM
  • Ijiri : Friday 09:00-10:50, email, and slack DM
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates a basic problem-solving skills
  • Course that cultivates a basic self-management skills
  • Course that cultivates an ability for utilizing knowledge
Active-learning course
About half of the classes are interactive
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
  • 4.QUALITY EDUCATION
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
Last modified : Thu Mar 13 04:10:33 JST 2025