Course title
P04503002
Data Structures and Algorithms 1

miyoshi takumi Click to show questionnaire result at 2018
Course description
It is necessary to design and analyze efficient algorithms and data structures which satisfy performance requirements in developing operating systems and application software. As the fundamental knowledge and elemental technology on software development, this course provides the opportunity to learn basic data structures and search and recursive algorithms, as well as computational complexities. This course is provided as a complete "flipped classroom", in which students must learn by themselves according to the video materials before participating in the class.
Purpose of class
The purpose of this course is to learn the knowledge of basic data structures and algorithms to develop software, such as searching and recursion, as well as the capability to apply the knowledge to software design and development. Also, the students are supposed to firmly learn the contents through the course "Programming Exercise 1" to
apply the skills obtained in this course to software development.
Goals and objectives
  1. Understand various data structures and algorithms and obtain their knowledge.
  2. Acquire the knowledge and skills how to express the data structures in C programming language.
  3. Understand the computational complexity of algorithms and apply the knowledge to real software development.
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction and how to take the course (explanation of "flipped class") Review what you studied in "Information Processing 1&2" as well as what you will study in this course. 100minutes
Review what you study in the class. 100minutes
2. Review on C language: array, pointer, structure, and dynamic memory allocation for variable and array Watch prep video and study in advance the learning materials. 100minutes
Review what you study in the class. 100minutes
3. Data input and output: I/O functions Watch prep video and study in advance the learning materials. 100minutes
Review what you study in the class. 100minutes
4. Basic data structures: array and list Watch prep video and study in advance the learning materials.
Textbook: pp.26-34
100minutes
Review what you study in the class. 100minutes
5. Algorithms and their computational complexities Watch prep video and study in advance the learning materials.
Textbook: pp.8-16
100minutes
Review what you study in the class. 100minutes
6. Stack structure Watch prep video and study in advance the learning materials.
Textbook: pp.41-43
100minutes
Review what you study in the class. 100minutes
7. Queue structure and ring buffer Watch prep video and study in advance the learning materials.
Textbook: pp.44-48
100minutes
Review what you study in the class. 100minutes
8. Definition of the graph and tree structure Watch prep video and study in advance the learning materials.
Textbook: 48-50, 223-227
100minutes
Review what you study in the class. 100minutes
9. Recursive data structures and algorithms Watch prep video and study in advance the learning materials.
Textbook: pp.49-52
100minutes
Review what you study in the class. 100minutes
10. Tree traversal methods and notations of arithmetic expressions Watch prep video and study in advance the learning materials.
Textbook: pp.52-54
100minutes
Review what you study in the class. 100minutes
11. Linear search and binary search Watch prep video and study in advance the learning materials.
Textbook: pp.58-68
100minutes
Review what you study in the class. 100minutes
12. Binary-tree search Watch prep video and study in advance the learning materials.
Textbook: pp.72-77
100minutes
Review what you study in the class. 100minutes
13. Hash method Watch prep video and study in advance the learning materials.
Textbook: pp.77-84, pp.123-138
100minutes
Review what you study in the class. 100minutes
14. Final examination and review Review what you studied in this course and prepare for the final exam. 100minutes
Review what you study in the class. 100minutes
Total. - - 2800minutes
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Final exam Small tests and reports Total.
1. 35% 15% 50%
2. 10% 15% 25%
3. 15% 10% 25%
Total. 60% 40% -
Evaluation method and criteria
Small tests and reports: 40%, and Final exam: 60%
Textbooks and reference materials
Textbook: Kiyoshi Ishihata, Algorithms and data structures, Iwanami. (In Japanese)
The prep video will be provided one week before each class. Lecture materials will be provided if needed.
Prerequisites
- Expected to have taken "Information Processing 1&2".
- Review the lecture materials given in "Information Processing 1&2" and prepare for the C programming.
- Strongly expected to take "Programming Exercise 1" for the exercise to make C programming.
Office hours and How to contact professors for questions
  • Questions are welcome as needed. Email is also welcome.
  • Office hour: 2nd time slot on Wednesday. Make an appointment in advance by email.
Relation to the environment
Non-environment-related course
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
Most classes are interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicatable
N/A 該当しない
Last modified : Thu Mar 21 14:52:06 JST 2019